* gnu/packages/bootloaders.scm (u-boot): Update to 2022.10.
* gnu/packages/patches/u-boot-allow-disabling-openssl.patch: Disable
fit_pre_load_data, which depends on openssl.
* gnu/packages/bootloader.scm (make-u-boot-package): Add keyword
parameters 'name-suffix' and 'append-description'.
(make-u-boot-bin-package): New procedure
(%u-boot-rpi-efi-configs): New variable.
(%u-boot-rpi-description-32-bit, %u-boot-rpi-description-64-bit,
%u-boot-rpi-efi-description, %u-boot-rpi-efi-description-32-bit):
New variables.
(u-boot-rpi-2-efi, u-boot-rpi-2-bin, u-boot-rpi-2-efi-bin})
(u-boot-rpi-3-32b-efi, u-boot-rpi-3-32b-bin, u-boot-rpi-3-32b-efi-bin)
(u-boot-rpi-4-32b-efi, u-boot-rpi-4-32b-bin, u-boot-rpi-4-32b-efi-bin)
(u-boot-rpi-arm64-efi, u-boot-rpi-arm64-bin)
u-boot-rpi-arm64-efi-bin): New packages.
(u-boot-tools): Reuse the description of u-boot.
(u-boot-am335x-boneblack, u-boot-am335x-evm)
(u-boot-nintendo-nes-classic-edition, u-boot-novena): Make use of new keyword
parameters of make-u-boot-package.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This rework allows to use an (efi-bootloader-chain) like this, which is able
to boot over network or local storage, depending on whether the bootloader
target has support for symbolic links:
(operating-system
(bootloader
(bootloader-configuration
(bootloader
(efi-bootloader-chain
grub-efi-netboot-removable-bootloader
#:packages (list my-firmware-package
my-u-boot-package)
#:files (list (plain-file "config.txt"
"kernel=u-boot.bin"))
#:hooks my-special-bootloader-profile-manipulator))
(targets '("/booti/efi"))
…))
…)
* doc/guix.texi (Bootloader Configuration): Describe the new
‘grub-efi-netboot-removable-bootloader’. Mention the file names used and that
the UEFI Boot Manager is not modified. Advise to disable write-access over
TFTP.
* gnu/bootloader.scm (efi-bootloader-profile): Allow a list of packages and
collect everything directly in the profile, avoiding a separate collection
directory. Renamed the profile from "bootloader-profile" to
"efi-bootloader-profile".
[bootloader-collection]: Rename to...
[efi-bootloader-profile-hook]: ... this and remove unused modules. Do not
create the now extraneous collection directory.
(efi-bootloader-chain): Add PACKAGES and DISK-IMAGE-INSTALLER arguments.
Remove handling of the collection directory, now only calling the given
installer procedure.
* gnu/bootloader/grub.scm (make-grub-efi-netboot-installer): New helper.
(make-grub-configuration): New helper based on (grub-configuration-file). Add
a GRUB argument, fix indentation, remove previous code retrieving GRUB from
CONFIG.
(grub-configuration-file): Make use of make-grub-configuration.
(grub-efi-configuration-file): New procedure.
(grub-cfg): New variable to replace "/boot/grub/grub.cfg".
(install-grub-efi-netboot): Remove, splitting logic to...
(make-grub-efi-netboot-installer): ... this new helper procedure, as well as
to make-grub-efi-netboot, added below.
(grub-bootloader): Adjust to use the GRUB-CFG.
(grub-efi-bootloader): Likewise. Removed inheritance and declare all fields
explicitly.
(make-grub-efi-netboot-bootloader): New procedure.
(grub-efi-netboot-bootloader): Use it.
(grub-efi-netboot-removable-bootloader): New variable.
* gnu/packages/bootloaders.scm (make-grub-efi-netboot): New procedure.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* guix/build/kconfig.scm: New file.
* Makefile.am: Register it.
* gnu/packages/bootloaders.scm (make-u-boot-package)
(make-u-boot-sunxi64-package): Add DEFCONFIGS and CONFIGS arguments. Remove
dead code.
(u-boot-am335x-boneblack, u-boot-pinebook)
(u-boot-novena,u-boot-rockpro64-rk3399): Simplify packages by using the new
keyword arguments.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* gnu/packages/bootloaders.scm (grub-efi32)[arguments]: When building
for aarch64-linux add TARGET_CC to configure-flags.
[native-inputs]: When building for aarch64-linux add cross-gcc and
cross-binutils for arm-linux-gnueabihf.
* gnu/bootloader/grub.scm (grub-efi32-bootloader): New variable.
(install-grub-efi32): New variable.
* gnu/build/bootloader.scm (install-efi): Add a 'targets' keyword
argument.
(install-efi-loader): Likewise.
* gnu/build/image.scm (initialize-efi32-partition): New procedure.
* gnu/packages/bootloaders.scm (grub-efi32): New variable.
* gnu/system/image.scm (esp32-partition): New variable
(efi32-disk-image): New variable.
(efi32-raw-image-type): New variable.
(system-disk-image)[partition-image]: Set '#:grub-efi32' when
calling the partition initializer.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu/packages/bootloaders.scm (%u-boot-rk3399-enable-emmc-phy-patch): New
variable.
(u-boot)[origin]: Register it.
* gnu/packages/patches/u-boot-rk3399-enable-emmc-phy.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/bootloaders.scm (u-boot)[description]: Add second space after
sentence.
(u-boot-am335x-boneblack)[description]: Likewise.
(u-boot-novena)[description]: Likewise.
This is a follow-up of 71aa29911c. Grub does not
support modules stripped with --strip-unneeded but supports the --strip-debug
option.
* gnu/packages/bootloaders.scm (grub)[arguments]<#:strip-binaries>: Set to
true and use ...
<#:strip-flags>: ... to pass --strip-debug instead of --strip-unneeded.
Fixes <https://bugs.gnu.org/49550>.
* gnu/packages/bootloaders.scm (u-boot-rockpro64-rk3399)[arguments]: Run
'set-environment phase after 'unpack instead of non-existent
'patch-rockpro64-config phase.
* gnu/packages/bootloaders.scm (u-boot-sifive-fu540): Rename to ...
(u-boot-sifive-unleashed): ... this. Change board name from sifive_fu540 to
sifive_unleashed.
* gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch: Rename sifive_fu540
to sifive_unleashed.
Upstream no longer supports the platform and we don't expect any users out
there, see <https://bugs.gnu.org/49552>.
* gnu/packages/bootloaders.scm (u-boot-vexpress): Remove variable.
Follow up to 018f950941, as gcc on aarch64-linux
doesn't seem to support -mstack-protector-guard=global.
Fixes <https://bugs.gnu.org/49088>.
* gnu/packages/bootloaders.scm (grub-efi)[arguments]: Only add
"--enable-stack-protector" to #:configure-flags when system is x86_64-linux.
Version 2021.07-rc1 supports video output on the eDP panel.
* gnu/packages/bootloaders.scm (u-boot-2021.07): New variable.
(u-boot-pinebook-pro-rk3399)[source, version]: Use u-boot-2021.07.
The previous workaround stopped the preboot phase from loading USB
support, which makes it impossible to use a USB keyboard to select a
generation from the boot menu without using a serial console.
* gnu/packages/patches/u-boot-rockchip-inno-usb.patch: New File.
* gnu/local.mk (dist_patch_DATA): Add patch.
* gnu/packages/bootloaders.scm (%u-boot-rockchip-inno-usb-patch): New variable.
(u-boot)[source]: Add patch.
(u-boot-rockpro64-rk3399, u-boot-pinebook-pro-rk3399): Remove obsolete phase.
* gnu/packages/bootloaders.scm (u-boot-rockpro64-rk3399)[arguments]<#:phases>
[patch-rockpro64-config]: Build with modified config to prevent freeze on boot
due to usb being enabled.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* gnu/packages/bootloaders.scm (u-boot-rockpro64-rk3399)[arguments]<#:phases>
[patch-rockpro64-config]: Build with modified config to prevent freeze on boot
due to usb being enabled.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
Fixes a regression introduced in
34a6f12351 that would break
cross-compilation of 'grub-minimal' because it would enable Freetype
support as a side effect but the 'set-freetype-variables' phase was not
inherited in 'grub-minimal'.
* gnu/packages/bootloaders.scm (grub-minimal)[arguments]: Use
'substitute-keyword-arguments' so that the 'set-freetype-variables'
phase is inherited.
Reported by cbaines and xelxebar on IRC.
* gnu/packages/bootloaders.scm (grub)[arguments]: In custom
'set-freetype-variables phase only use the native-inputs version of
freetype.
* gnu/packages/bootloaders.scm (grub)[arguments]: In custom 'patch-stuff
phase only substitute the absolute location of the mdadm binary when it
is an input.
* gnu/packages/bootloaders (u-boot-tools):
Call tcheck target instead of all tests.
Drop adjustment to test coverage percentage.
Update substitution of python coverage binary.
Re-enable coverage tests of dtoc and fdt.
Disable additional configuration options that require OpenSSL.
* gnu/packages/patches/grub-cross-system-i686.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/bootloaders.scm (grub): Use it.
* gnu/packages/bootloaders (u-boot-pinebook-pro-rk3399): New variable.
* gnu/packages/patches/u-boot-DT-for-Pinebook-Pro.patch: New file.
* gnu/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch: New file.
* gnu/packages/patches/u-boot-gpio-keys-binding-cons.patch: New file.
* gnu/packages/patches/u-boot-leds-common-binding-con.patch: New file.
* gnu/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch: New file.
* gnu/packages/patches/u-boot-video-rockchip-fix-build.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add new patches.
* gnu/bootloader/u-boot.scm (install-pinebook-pro-rk3399-u-boot,
u-boot-pinebook-pro-rk3399-bootloader): New variable.
Co-authored-by: Jan Nieuwenhuizen <janneke@gnu.org>