Hi! Tomáš Čech <sleep_wal...@gnu.org> skribis:
> * gnu/system/grub(foreign-menu-entry): New record type. > > menu-entry type is suitable for kernel and initrd from GuixSD as it is looking > for menu-entry-linux/bzImage for kernel in every case which makes pasing any > other form impossible. AIUI, this is a followup to <http://bugs.gnu.org/20067>, and it’s admittedly a shame that this isn’t fixed! I still think that the approach proposed at <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20067#10> is more appropriate; ‘menu-entry’ would always work, no duplication would be necessary. As a stop-gap measure, I would prefer to (1) allow: (menu-entry ;; … (linux #~(string-append #$kernel "/bzImage"))) (2) remove the “/bzImage” assumption and use the above idiom everywhere in the current code, and (3) and have a hack along these lines to correctly interpret (string-append …) in the ‘parameters’ file:
diff --git a/gnu/system.scm b/gnu/system.scm index d6bf6c4..467d907 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -766,7 +766,11 @@ this file is the reconstruction of GRUB menu entries for old configurations." (boot-parameters (label label) (root-device root) - (kernel linux) + (kernel (match linux + (('string-append (? string? strings) ...) + (string-concatenate strings)) + (_ + linux))) (kernel-arguments (match (assq 'kernel-arguments rest) ((_ args) args)
Thoughts? Thanks, Ludo’.