guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 0/8] WIP: Better support for non-grub bootloaders.


From: Ludovic Courtès
Subject: Re: [PATCH 0/8] WIP: Better support for non-grub bootloaders.
Date: Mon, 06 Mar 2017 23:04:55 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

Hi David,

Please let me know if you don’t want to be bothered about this.  Problem
is there’s exciting stuff in this patch series and I’d probably have a
few questions for you if you want.

David Craven <address@hidden> skribis:

> These patches make changes to the bootloader API and will break 
> operating-system's
> and some scripts (--no-grub is renamed to --no-bootloader).
>
> I would like some feedback on the API and also ideas on how to handle API 
> changes
> with minimal discomfort to our users.
>
> The most interesting commit is 8a01985d7a936809102b10d494dc2286b3f8c6f2 which 
> defines
> a <bootloader-configuration> record. extlinux-configuration, 
> grub-configuration and
> syslinux-configuration are designed as transformation passes on a 
> bootloader-configuration
> record. The idea is that someone that wants to add support for a new 
> bootloader can
> use
>
> (bootloader (bootloader-configuration
>              ...))
>
> and users that want to use a supported bootloader can configure it like this
>
> (bootloader (grub-configuration
>              (bootloader-configuration
>               (device "/dev/sda1"))))

Perhaps this could be:

  (bootloader-configuration
    (type grub-bootloader)
    (device "/dev/sda1"))

That way, people would always write ‘bootloader-configuration’
regardless of the bootloader being used, which sounds simpler.

We could have this compatibility macro:

  (define-syntax-rule (grub-configuration fields ...)
    (bootloader-configuration
      (type grub-bootloader)
      fields ...))

> another important API change is that an operating-system does not need to set
> the bootloader when it is only intended to run through guix system vm or on
> an embedded system that has an extlinux compatible bootloader in ROM.
>
> Things that don't work yet:
> * system tests are broken due to API changes
> * grub-efi needs an installation procedure and the vm code needs
>   support for alternative firmware like ovmf, gpt partition table
>   and EFI boot partition.
> * The syslinux and grub bootloader configurations still require
>   guix/scripts/system.scm to handle the new API on init and reconfigure
>   and requires extensive testing on real hardware.
> * No automated system tests yet.

OK.

I’ll look more closely at the rest.  I’m glad Danny already applied the
non-controversial patches!

Thanks,
Ludo’.



reply via email to

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