[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RFC 0/4] Add coreboot platform support to GRUB.

From: Jookia
Subject: [RFC 0/4] Add coreboot platform support to GRUB.
Date: Thu, 3 Mar 2016 13:30:54 +1100

Hey there,

These patches have taken a long time to due to my lack of skill with both Guix
and Guile. I've done a heavy amount of testing to make sure each of the patches
can be applied and used without issue. I did a lot of refactoring in this series
too so to my knowledge there aren't any regressions apart from these:

When GRUB fails to install, /boot/grub/grub.tmp is left behind instead of
/boot/grub/grub.cfg. This can be fixed easily but I'm not sure if it's the right
thing to do considering GRUB isn't properly installed. The only existing use
case of it I know of is with Libreboot and full disk encryption, which the
'coreboot platform now provides.

The grub.cfg GC root is no longer installed in the host's /var/guix/gcroots, but
instead on the system being initialized. I'm almost certain this is a bug, but
again, it's a change in behaviour that I hope nobody is relying on.

Each commit contains a detailed explanation of what it changes and addresses, so
I hope they're self explanatory. The commit dates are off since I've done a lot
of heavy amending and rebasing.

As for testing, for each commit I've checked the output of the GC roots, the
/boot/grub directory and behaviour based on whether a VM is being built. I
haven't been able to run the GRUB 'bios platform on a real system, but it should
be completely fine since it's basically existing behaviour.

Future work would be to add UEFI support (possibly urgent) as a platform and
later U-Boot GRUB support for the ARM systems that support it. I don't think
this would necessarily replace support for extlinux on ARM yet, but I'm still
too uninformed to make that judgement.

The end result of these patches has made it possibly for me to boot from my
machine running Libreboot by setting grub-configuration's platform field to
'coreboot instead of its default 'bios.


Jookia (4):
  vm: Have qemu-image generate derivations instead.
  grub: Add and use prepare-install-grub function.
  install: Create a GC root during install-grub.
  grub: Add coreboot platform support to GRUB.

 doc/guix.texi           |  15 +++-
 gnu/build/install.scm   |  54 +++++++++-----
 gnu/build/vm.scm        |  18 ++---
 gnu/system/grub.scm     |  19 ++++-
 gnu/system/vm.scm       | 188 ++++++++++++++++++++++++------------------------
 guix/scripts/system.scm |  78 ++++++++------------
 6 files changed, 201 insertions(+), 171 deletions(-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]