Also, please keep in mind Ludo's suggestion of using the first class profiles of G-Expressions. I'm not sure it's applicable in this case (!)--but still, it would be nice, for a future version of raspberry efi netboot or of similar things, to be able to do this, right from config.scm: (operating-system (bootloader (bootloader-configuration (bootloader ; field in bootloader-configuration (bootloader ; bootloader record constructor (inherit grub-efi-netboot-bootloader) ; so we have the installer (package ; override bootloader's package (profile ; create a profile (content (list (file-append firmware "/boot/") (file-append u-boot-my-scb "/libexec/u-boot.bin") (plain-file "config.txt" "kernel=u-boot.bin") (bootloader-package grub-efi-netboot-bootloader))))) ; and put the package we've overridden back into the profile (target "/boot")))) This way, maybe the procedures efi-bootloader-chain and efi-bootloader-profile would be superfluous. Note: I haven't used this myself yet.