Hi! I'm attempting to compile a custom linux libre kernel with several additional config options enabled (listed below).
Unfortunately I get the following error messages: Throw to key `match-error' with args `("match" "no matching pattern" ("CONFIG_ANDROID" . y))'. I followed the blog post[1] on customizing kernel. Downloaded the sources and checked for the options in menuconfig: tar xf $(guix build linux-libre --source) guix environment linux-libre --ad-hoc ncurses -- make menuconfig Could you please give me hint on what I'm doing wrong? Petr --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -722,6 +722,14 @@ (define %bpf-extra-linux-options ;; kheaders module ("CONFIG_IKHEADERS" . #t))) +(define %waydroid-extra-linux-options + `(;; Modules required for waydroid: + ("CONFIG_ASHMEM" . m) + ("CONFIG_ANDROID" . y) + ("CONFIG_ANDROID_BINDER_IPC" . m) + ("CONFIG_ANDROID_BINDERFS" . n) + ("CONFIG_ANDROID_BINDER_DEVICES" . "binder,hwbinder,vndbinder"))) + (define (config->string options) (string-join (map (match-lambda ((option . 'm) @@ -1143,6 +1151,25 @@ (define-public linux-libre-mips64el-fuloong2e `(("CONFIG_OVERLAY_FS" . m)) %default-extra-linux-options))) +(define-public linux-libre-with-waydroid + (let ((base-linux-libre + (make-linux-libre* + linux-libre-5.14-version + linux-libre-5.14-gnu-revision + linux-libre-5.14-source + '("x86_64-linux" "i686-linux" "armhf-linux" + "aarch64-linux" "riscv64-linux") + #:extra-version "bpf" + #:configuration-file kernel-config + #:extra-options + (append %bpf-extra-linux-options + %waydroid-extra-linux-options + %default-extra-linux-options)))) + (package + (inherit base-linux-libre) + (name "linux-libre-waydroid") + (inputs `(("cpio" ,cpio) ,@(package-inputs base-linux-libre)))))) + (define-public linux-libre-with-bpf (let ((base-linux-libre (make-linux-libre* --- [1] https://guix.gnu.org/en/blog/2019/creating-and-using-a-custom-linux-kernel-on-guix-system