guix-patches
[Top][All Lists]
Advanced

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

[bug#41066] [PATCH] gnu: bootloader: Support for chain loading.


From: Stefan
Subject: [bug#41066] [PATCH] gnu: bootloader: Support for chain loading.
Date: Sun, 25 Oct 2020 17:58:07 +0100

Hi Danny and Ludo!

I tried to consider your comments and modified the code as far as I could grasp 
the suggestions. Thanks!

Now the API looks like this:

(bootloader-chain
          (list (file-append firmware "/boot/")
                (file-append u-boot-my-scb "/libexec/u-boot.bin")
                (plain-file "config.txt"
                            "kernel=u-boot.bin"))
          grub-efi-netboot-bootloader
          #:hook my-special-bootloader-profile-manipulator
          #:installer (install-grub-efi-netboot "efi/boot"))

The suggestion to use file-append simplified a lot, also for the implementation 
of the bootloader-collection profile hook. I also added an optional hook 
function to do customised manipulations of the profile before invoking the 
installer.

Regarding this kind of chain-loading: The ARM world seems to consolidate onto 
an UEFI firmware, supporting either device-trees or ACPI. There are two main 
options for an UEFI firmware to chose from: TianoCore/EDK II and U-Boot.

Some platforms come with an EEPROM or NAND storage to install e.g. U-Boot with 
embedded device-tree information as an UEFI firmware. From a distribution’s 
point of view this can make using GRUB-EFI the default choice. And it becomes 
arguable if the distribution is responsible to install/update this firmware, if 
you compare to a BIOS.

Other platforms just boot from some FAT partition requiring some blobs and 
don’t offer an UEFI firmware. But copying e.g. U-Boot and some more files onto 
this FAT partition makes them appear like a system with an UEFI firmware, 
giving a kind of compatibility to the future.


Bye

Stefan






reply via email to

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