Jookia <166...@gmail.com> skribis: > Libreboot doesn't read GRUB from the disk, it chainloads configuration files. > As > such, grub-install is known to fail and require fragile workarounds. To solve > this issue, there's now a 'libreboot?' boolean flag that will instead use > '/boot/grub/libreboot_grub.cfg' for the GRUB menu and not run 'grub-install'.
Glad you’re streamlining it! Unfortunately I don’t (yet!) have access to Libreboot-capable hardware, so I’ll let Mark comment on the method. Some “superficial” comments follow. > * gnu/system/grub.scm (<grub-configuration>): Add and export 'libreboot?' > flag. > * doc/guix.texi (GRUB Configuration): Explain the 'libreboot?' flag. > * guix/scripts/system.scm: Read and use 'libreboot?' flag when installing > GRUB. > (process-action): Read GRUB's 'libreboot?' flag and pass it to > perform-action. > (perform-action): Pass the 'libreboot?' flag to 'install-grub*' and > 'install'. > (install): Pass the 'libreboot?' flag to install-grub*. > (install-grub*): Pass the 'libreboot?' flag to install-grub. > * gnu/build/install.scm (install-grub): Read 'libreboot?' flag and based on > this [...] > Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* > Copyright @copyright{} 2015, 2016 Leo Famulari > +Copyright @copyright{} 2016 Jookia Add “@*” at the end of the previous line so that a newline gets inserted. > +@item @code{libreboot?} (default: @code{#f}) > +Setting this boolean to true will tweak GRUB for systems running Libreboot > with s/boolean/Boolean/ > +the GRUB payload. Instead of installing GRUB to disk, a configuration will > be > +put in @code{/boot/grub/libreboot_grub.cfg} for Libreboot to load. s/a configuration will be put in @code/configuration is written to @file/ It would be nice to link to the relevant Libreboot documentation, if possible. > + (if libreboot? > + (rename-file target librebooter) > + (unless (zero? (system* "grub-install" "--no-floppy" Please align below the ‘l’ of ‘libreboot?’. > + (libreboot? grub-configuration-libreboot ; bool > + (default #f)) s/bool/Boolean/ :-) It’s a bit annoying that we have to pass the ‘libreboot?’ parameter across functions. Thanks for working on it! Ludo’.