1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00

126 Commits

Author SHA1 Message Date
Janneke Nieuwenhuizen
a6e48bf329 bootloader: grub: Always use rumpdisk-style root for the 64-bit Hurd.
* gnu/bootloader/grub.scm (make-grub-configuration): When building for the
64-bit Hurd, use RumpDisk root device name.

Change-Id: Iffa9af0a504ea698d055208ac9ed66ea7eac03d7
2026-03-05 07:24:02 +01:00
Andreas Enge
51af666373 system: Remove depthcharger bootloader.
It depends on vboot-utils, which does not build and which depends
on python2. This effectively reverts commit
96c90474c0 .

* gnu/bootloader/depthcharge.scm: Remove file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Unregister file.

Change-Id: Id14b2010237dbce1423734790b2b3a37f6b939e4
2026-02-17 16:52:31 +01:00
Andreas Enge
a2a00c2fcc system: Remove nintendo-nes-classic-edition installer.
* gnu/system/install.scm (nintendo-nes-classic-edition-installation-os):
Delete variable.
* gnu/bootloader/u-boot.scm
(u-boot-nintendo-nes-classic-edition-bootloader): Delete variable.

Change-Id: I538d1b7d80f4d475c5389bd41cee4ab4358c05c2
2026-02-17 13:44:24 +01:00
Denis 'GNUtoo' Carikli
99b6b83230 gnu: bootloader: Add u-boot-am335x-evm-bootloader.
* gnu/bootloader/u-boot.scm (u-boot-am335x-evm-bootloader):
  New exported variable.

Change-Id: I258f7b7b31e7b7597710b8ff30d7a5ed882e147c
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-02-01 10:57:36 -08:00
Artyom V. Poptsov
9015ab3622 gnu: install-starfive-visionfive2-uEnv.txt: Set extra options.
* gnu/bootloader/u-boot.scm (install-starfive-visionfive2-uEnv.txt): Set
"boot_targets" and "bootcmd_mmc1".

Change-Id: I0ce157d66e792af605cfdb7cc5dbecf6e5171c5a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:13:41 +01:00
Artyom V. Poptsov
7782a47f7f gnu: make-u-boot-installer: Use the original file name.
* gnu/bootloader/u-boot.scm (make-u-boot-installer): Use the original file
name without the Guix store file prefix when installing a plain file.

Change-Id: Ica2707878c1dd5f7d3b805499a0a38ca76e315af
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:13:40 +01:00
Artyom V. Poptsov
512d49f073 gnu: install-starfive-visionfive2-uEnv.txt: Remove "~%".
* gnu/bootloader/u-boot.scm (install-starfive-visionfive2-uEnv.txt): Remove
an extra "~%" from the file contents.

Change-Id: Ie83ae01702538153017e45da51ce2c3000df7899
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-16 20:13:39 +01:00
Denis 'GNUtoo' Carikli
92fbb1f82b bootloader: grub: Add grub-efi32-removable-bootloader.
* gnu/bootloader/grub.scm (grub-efi32-removable-bootloader): New variable.

Change-Id: Ia2f772484143cfeb9498f04fee89d57af83143d9
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-11-24 23:22:49 +01:00
dan
71ae514b81 gnu: bootloader: Add nanopi-r4s-rk3399 bootloader.
* gnu/bootloader/u-boot.scm (u-boot-nanopi-r4s-rk3399-bootloader): Add variable.
* gnu/packages/bootloaders.scm (u-boot-nanopi-r4s-rk3399): Add variable.

Change-Id: Ib7af37fff02d7e5a83928949835c03a5949927da
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2025-11-03 12:44:46 -08:00
Denis 'GNUtoo' Carikli
d300b9f7f3 system: Add u-boot-rock-4c-plus-rk3399.
* gnu/packages/bootloaders.scm (u-boot-rock-4c-plus-rk3399): New variable.
* gnu/bootloader/u-boot.scm (u-boot-rock-4c-plus-rk3399-bootloader):
  New exported variable.
* gnu/system/install.scm (rock-4c-plus-installation-os):
  New exported variable.

Change-Id: I37025b248178311ccf8246cb0e02ed9399f9c6ac
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2025-09-18 23:28:19 +02:00
Maxim Cournoyer
10482f731e Reapply "Update Maxim's email address."
This reverts commit a7db92d9b3, this time with
the more careful command, to avoid a world rebuild:

grep -rl --exclude-dir=build --exclude-dir=patches --exclude=ld-wrapper.in \
  --exclude=sitecustomize.py --exclude=guix-emacs.el maxim.cournoyer@gmail.com |
  xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g'

Change-Id: I0871f5cf9ace79e34e78e24154d0da6ea95a3a91
2025-09-18 13:44:12 +09:00
Maxim Cournoyer
a7db92d9b3 Revert "Update Maxim's email address."
This reverts commit d0d87a744d. Oops! This
caused a world rebuild.

Change-Id: I25fff644b2b61d0ee93d69b457b04c72b5b74d15
2025-09-18 12:07:31 +09:00
Maxim Cournoyer
d0d87a744d Update Maxim's email address.
The change was automated via:

  git grep -l maxim.cournoyer@gmail.com |
    xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g'

* .mailmap: New entry.

Change-Id: Iaa88b1e51c94159c49138fb43910badb990eb169
2025-09-18 08:05:19 +09:00
Herman Rimm
6e41ca397d gnu: bootloader: Add orangepi-zero2w bootloader.
* gnu/bootloader/u-boot.scm (u-boot-orangepi-zero2w-bootloader): Add
variable.
* gnu/packages/bootloaders.scm (u-boot-orangepi-zero2w): Add variable.
* gnu/packages/firmware.scm (arm-trusted-firmware-sun50i-h616): Add
variable.

Change-Id: Idb43fdabac51b3301f3bea24fec72bfa29636489
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2025-03-04 14:23:10 -08:00
Herman Rimm
5196b49756 gnu: bootloader: u-boot: Add write-u-boot-image procedure.
* gnu/bootloader/u-boot.scm (write-u-boot-image): Add procedure.
(install-beaglebone-black-u-boot, install-allwinner-u-boot,
install-allwinner64-u-boot, install-imx-u-boot,
install-puma-rk3399-u-boot, install-rockchip-u-boot,
install-sifive-unmatched-u-boot, install-starfive-visionfive2-u-boot):
Use write-u-boot-image.

Change-Id: Icb73534bfc5b9ab7c8874176f649c29275c388cf
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2025-03-04 10:19:41 -08:00
Herman Rimm
498e0557c5 gnu: bootloader: u-boot: Add u-boot-rockchip-bootloader.
* gnu/bootloader/u-boot.scm (install-rockchip-u-boot): Add procedure.
(install-orangepi-r1-plus-lts-rk3328-u-boot,
install-firefly-rk3399-u-boot, install-rock64-rk3328-u-boot,
install-rockpro64-rk3399-u-boot, install-pinebook-pro-rk3399-u-boot):
Remove procedure.
(u-boot-rockchip-bootloader): Add variable.
(u-boot-firefly-rk3399-bootloader,
u-boot-orangepi-r1-plus-lts-rk3328-bootloader,
u-boot-rock64-rk3328-bootloader, u-boot-rockpro64-rk3399-bootloader,
u-boot-pinebook-pro-rk3399-bootloader): Inherit
u-boot-rockchip-bootloader.
[disk-image-installer]: Remove.

Change-Id: Icb7546ee2bb1742c12c7b47ff2779d278dd45b14
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2025-03-04 10:19:37 -08:00
Efraim Flashner
1b1b304011 bootloader/grub: Create grub background image with ungrafted inputs.
This fixes bug https://issues.guix.gnu.org/75510.

* gnu/bootloader/grub.scm (image->png): Create the grub-image using
ungrafted inputs.

Change-Id: Ia23dd081d9711c703b7bf795dc376e024bb5caff
2025-01-26 09:32:59 +02:00
Herman Rimm
2348283dab bootloader: u-boot: Add procedure to share installer code.
* gnu/bootloader/u-boot.scm (make-u-boot-installer): Add procedure.
(install-u-boot-ts7970-q-2g-1000mhz-c-u-boot,
install-qemu-riscv64-u-boot): Remove variables.
(install-starfive-visionfive2-uEnv.txt,
u-boot-ts7970-q-2g-1000mhz-c-bootloader,
u-boot-qemu-riscv64-bootloader): Use make-u-boot-installer.

Change-Id: I0b0b507925a7c8ca608f7307d442d9588862ae91
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-01 17:56:00 +01:00
Herman Rimm
ca748392ce bootloader: grub: Add procedure to share EFI installer code.
* gnu/bootloader/grub.scm (make-grub-efi-bootloader): Add procedure.
(install-grub-efi, install-grub-efi32): Remove variables.
(install-grub-efi-removable): Deprecate variable.

Change-Id: Ie10b506bb1088179d459ddafe3229fd730ac45aa
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-01 17:55:56 +01:00
Janneke Nieuwenhuizen
fdb23d9db8 bootloader: grub: Remove hardcoded partition number for the Hurd.
This supports using another than the default DISK0 PART1 and using LABEL or
UUID as root file-system specifier.  It still defaults to DISK0 PART1 if
the file-system cannot be found, i.e., lives only at the build side: A
virtual machine/childhurd build.

* gnu/build/file-systems.scm (%hurd-device-spec-regexp, %device-spec-regexp):
New variables.
(device-name->hurd-device-name, hurd-device-name->device-name,
device-spec->device, device-spec->device-name): Use them in new procedures.
* gnu/bootloader/grub.scm (make-grub-configuration): Use them to remove
hardcoded partition number (root-index 1).

Change-Id: I49fa93dacc09883dfb4d695402c5eac2e0e17286
2024-11-11 07:28:33 +01:00
Zheng Junjie
c7aec90a91 bootloader: Add u-boot-starfive-visionfive2-bootloader.
* gnu/bootloader/u-boot.scm (u-boot-starfive-visionfive2-bootloader): New variable.

Change-Id: I4b73906fe18d481644102c271f5e0883167b3a50
2024-05-22 11:15:30 +08:00
Zheng Junjie
64187b65d3 bootloader: Add u-boot-qemu-riscv64-bootloader.
* gnu/bootloader/u-boot.scm (u-boot-qemu-riscv64-bootloader): New variable.

Change-Id: If6622838d2250c90a26380849b92387aa7122fbb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-03-31 22:26:21 +02:00
Tomas Volf
086850e5b2 bootloader: grub: Add support for loading an additional initrd.
In order to be able to provide decryption keys for the LUKS device, they need
to be available in the initial ram disk.  However they cannot be stored inside
the usual initrd, since it is stored in the store and being a
world-readable (as files in the store are) is not a desired property for a
initrd containing decryption keys.  This commit adds an option to load
additional initrd during the boot, one that is not stored inside the store and
therefore can contain secrets.

Since only grub supports encrypted /boot, only grub is modified to use the
extra-initrd.  There is no use case for the other bootloaders.

* doc/guix.texi (Bootloader Configuration): Describe the new extra-initrd
field.
* gnu/bootloader.scm (<bootloader-configuration>): Add extra-initrd field.
* gnu/bootloader/grub.scm (make-grub-configuration): Use the extra-initrd
field.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I995989bb623bb594ccdafbf4a1a6de941bd4189f
2024-01-14 23:00:03 +01:00
Herman Rimm
88fb95903c gnu: bootloader: Add orangepi-r1-plus-lts-rk3328 bootloader.
* gnu/bootloader/u-boot.scm (install-orangepi-r1-plus-lts-rk3328-u-boot,
  u-boot-orangepi-r1-plus-lts-rk3328-bootloader): New variables.
* gnu/packages/bootloaders.scm (u-boot-orangepi-r1-plus-lts-rk3328): New
  variable.

Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2023-12-22 16:06:03 -08:00
Janneke Nieuwenhuizen
c22c29b0c4 bootloader: grub: Use rumpdisk-style root when booting with "noide".
* gnu/bootloader/grub.scm (make-grub-configuration): When "noide" is in
arguments, use device name "wd0" rather than "hd0".

Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
2023-07-13 18:59:13 +02:00
Efraim Flashner
39250fc622 gnu: bootloader: Add u-boot-sifive-unmatched-bootloader.
* gnu/bootloader/u-boot.scm (install-sifive-unmatched-u-boot,
u-boot-sifive-unmatched-bootloader): New variables.
2023-06-14 14:52:21 +03:00
Maxim Cournoyer
9530ee9f9c gnu: Add u-boot-ts7970-q-2g-1000mhz-c-bootloader.
* gnu/bootloader/u-boot.scm (u-boot-ts7970-q-2g-1000mhz-c-bootloader): New
variable.
2023-01-18 21:25:25 -05:00
Maxim Cournoyer
d6ea9f8b38 gnu: u-boot-am335x-boneblack: Revert to old name.
This reverts to the name this package had previous to commit
c2c1dfdf57 ("gnu: bootloader: Add U-Boot
packages for Raspberry Pi models."), which caused the package name to be
derived from the board name.

* gnu/packages/bootloaders.scm (u-boot-am335x-evm-boneblack): Remove the
NAME-SUFFIX keyword argument.  Specify the full name via the name field.
* gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): Adjust to
the renamed package.

Reported-by: Vagrant Cascadian <vagrant@debian.org>
2022-12-28 22:14:16 -05:00
Maxim Cournoyer
c04528d2a2 gnu: u-boot-am335x-evm-boneblack: Fix variable name.
* gnu/packages/bootloaders.scm (u-boot-am335x-boneblack): Rename to...
(u-boot-am335x-evm-boneblack), to match the package name.
* gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): Adjust
accordingly.
2022-12-20 21:29:25 -05:00
Maxim Cournoyer
f76ed96f93 bootloaders: grub: Fix comment.
* gnu/bootloader/grub.scm (make-grub-configuration): Refer to the correct
argument in comment.
2022-12-07 23:19:56 -05:00
Stefan
a9acbf919a gnu: bootloader: Rework chaining, add grub-efi-netboot-removable-bootloader.
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>
2022-12-01 14:31:28 -05:00
tiantian
1fc20e4c86 gnu: bootloader: grub: Add support for chain-loader.
* gnu/bootloader/grub.scm (grub-configuration-file): Add support for
chain-loader.

Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2022-09-08 22:30:09 +02:00
Reza Alizadeh Majd
f126f23b13 bootloader: Add device-tree-support? option.
In some specific cases where the device tree file is already loaded in RAM, it
can be preferable that the bootloader does not try to use a device tree from
the Linux kernel tree.

* gnu/bootloader.scm (<bootloader-configuration>)[device-tree-support?]: New field.
* gnu/bootloader/extlinux.scm (extlinux-configuration-file): Add FDTDIR line
based on <device-tree-support?> field of <bootloader-configuration>.
* doc/guix.texi (Bootloader Configuration)[device-tree-support?]: Add
documentation for the new field.
2022-08-30 08:50:44 +02:00
Denis 'GNUtoo' Carikli
62c86c8391 image: Add support for 32bit UEFI.
* 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>
2022-06-24 10:21:06 +02:00
Karl Hallsby
618f665a5f bootloader: grub: Add removable grub-efi bootloader option.
For single-disk installs (external USBs) and for amnesiac UEFIs, Guix is not
found using its default Grub EFI bootloader location of
/boot/efi/EFI/Guix/grubx64.efi means the Guix install will not be found.

To handle this, we can place the bootloader file in the UEFI specification
location, overwriting any other OS that may have placed a file there. This
location is namely /boot/efi/EFI/BOOT/BOOTX64.efi. Grub has explicit support
for this location/situation with the `--removable` flag.

* gnu/bootloader/grub.scm (install-grub-efi-removable)
(grub-efi-removable-bootloader): New variables.
* doc/guix.texi (Bootloader Configuration): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-06-06 22:43:30 +02:00
Mathieu Othacehe
ea71ec1630 bootloader: grub: Fix serial mode.
* gnu/bootloader/grub.scm (grub-setup-io): Fix serial mode display by
declaring the serial property before the terminal_input and terminal_output
properties.
2022-01-13 11:11:02 +01:00
Josselin Poiret
adce91a3ec gnu: system: Add LUKS2 support for the root file system.
* gnu/bootloader/grub.scm (grub-configuration-file): Add 'insmod
luks2'.
* gnu/system/mapped-devices.scm (open-luks-device): Create
'/run/cryptsetup/' directory.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-12-01 17:51:37 +01:00
Maxim Cournoyer
da4e409483 Migrate to the new 'targets' field of bootloader-configuration.
The old 'target' field is deprecated; adjust the sources to use the new
'targets' one instead.

* doc/guix-cookbook.texi<target>: Replace by 'targets'.
* gnu/bootloader/grub.scm: Likewise.
* gnu/installer/parted.scm: Likewise.
* gnu/machine/digital-ocean.scm: Likewise.
* gnu/system/examples/asus-c201.tmpl: Likewise
* gnu/system/examples/bare-bones.tmpl: Likewise
* gnu/system/examples/bare-hurd.tmpl: Likewise
* gnu/system/examples/beaglebone-black.tmpl: Likewise
* gnu/system/examples/desktop.tmpl: Likewise
* gnu/system/examples/docker-image.tmpl: Likewise
* gnu/system/examples/lightweight-desktop.tmpl: Likewise
* gnu/system/examples/vm-image.tmpl: Likewise
* gnu/system/examples/yggdrasil.tmpl: Likewise
* gnu/system/hurd.scm: Likewise
* gnu/system/images/hurd.scm: Likewise
* gnu/system/images/novena.scm: Likewise
* gnu/system/images/pine64.scm: Likewise
* gnu/system/images/pinebook-pro.scm: Likewise
* gnu/system/images/rock64.scm: Likewise
* gnu/system/install.scm: Likewise
* gnu/system/vm.scm: Likewise
* gnu/tests.scm: Likewise
* gnu/tests/ganeti.scm: Likewise
* gnu/tests/install.scm: Likewise
* gnu/tests/nfs.scm: Likewise
* gnu/tests/telephony.scm: Likewise
* tests/boot-parameters.scm: Likewise
* tests/system.scm: Likewise
2021-08-29 01:05:26 -04:00
Vagrant Cascadian
d7d6c9e4e6 gnu: bootloader: Fix install-allwinner64-u-boot.
This fixes boot breakage introduced in commit:

  a65c935e29

Multiple files were still needed, but the filenames changed.

* gnu/bootloader/u-boot.scm (install-allwinner64-u-boot): Update to
  use both SPL and u-boot files with new filenames.
2021-05-29 21:25:13 -07:00
Tobias Geerinckx-Rice
816a5ecdc8 bootloader: grub: Fix typo in docstring.
* gnu/bootloader/grub.scm (install-grub-efi-netboot): Fix typo.
2021-04-10 14:11:33 +02:00
Vagrant Cascadian
a65c935e29 gnu: bootloader: Update install-allwinner64-u-boot.
* gnu/bootloader/u-boot.scm (install-allwinner64-u-boot): Update to
  use a single file to install.
2021-02-08 17:21:34 -08:00
Vagrant Cascadian
15990546a5 gnu: u-boot-puma-rk3399: Switch to using arm-trusted-firmware-rk3399.
* gnu/packages/bootloaders.scm (u-boot-puma-rk3399)[native-inputs]:
  Add arm-trusted-firmware-rk3399.
  Remove arm-trusted-firmware-puma-rk3399 and rk3399-cortex-m0.
* gnu/packages/firmware.scm (arm-trusted-firmware-puma-rk3399,
  rk3399-cortex-m0): Remove obsolete variables.
* gnu/bootloader/u-boot.scm (install-puma-rk3399-u-boot): Install
  idbloader.img.
2021-02-08 07:18:41 -08:00
Stefan
b57056a9fd gnu: grub: Use installed unicode font.
* gnu/bootloader/grub.scm (setup-gfxterm): Remove parameter font-file.
Refer to the installed font in /boot, not in the store.
(font-file): Delete obsolete function.
(install-grub): When populating a disk-image, install the unicode font, too.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2021-01-17 15:47:59 +01:00
Miguel Ángel Arruga Vivas
f00e68ace0 system: Allow separated /boot and encrypted root.
* gnu/bootloader/grub.scm (grub-configuration-file): New parameter
store-crypto-devices.
[crypto-devices]: New helper function.
[builder]: Use crypto-devices.
* gnu/machine/ssh.scm (roll-back-managed-host): Use
boot-parameters-store-crypto-devices to provide its contents to the
bootloader configuration generation process.
* gnu/tests/install.scm (%encrypted-root-not-boot-os,
%encrypted-root-not-boot-os): New os declaration.
(%encrypted-root-not-boot-installation-script): New script, whose contents
were initially taken from %encrypted-root-installation-script.
(%test-encrypted-root-not-boot-os): New test.
* gnu/system.scm (define-module): Export
operating-system-bootoader-crypto-devices and
boot-parameters-store-crypto-devices.
(<boot-parameters>): Add field store-crypto-devices.
(read-boot-parameters): Parse store-crypto-devices field.
[uuid-sexp->uuid]: New helper function extracted from
device-sexp->device.
(operating-system-bootloader-crypto-devices): New function.
(operating-system-bootcfg): Use
operating-system-bootloader-crypto-devices to provide its contents to
the bootloader configuration generation process.
(operating-system-boot-parameters): Add store-crypto-devices to the
generated boot-parameters.
(operating-system-boot-parameters-file): Likewise to the file with
the serialized structure.
* guix/scripts/system.scm (reinstall-bootloader): Use
boot-parameters-store-crypto-devices to provide its contents to the
bootloader configuration generation process.
* tests/boot-parameters.scm (%default-store-crypto-devices): New
variable.
(%grub-boot-parameters, test-read-boot-parameters): Use
%default-store-crypto-devices.
(tests store-crypto-devices): New tests.
2020-12-21 18:41:11 +01:00
Ludovic Courtès
7a2897149d Revert "gnu: grub: Fix unicode font loading when booting over TFTP."
This reverts commit 03fb57ff77, which
breaks most system tests.  Specifically, grub.cfg.drv fails to build:

  ERROR: In procedure canonicalize-path:
  In procedure canonicalize-path: No such file or directory
2020-12-15 17:32:09 +01:00
Stefan
03fb57ff77 gnu: grub: Fix unicode font loading when booting over TFTP.
* gnu/bootloader/grub.scm (eye-candy)(font-file): Fix unicode font loading
when booting over TFTP.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-12-14 23:33:22 +01:00
Maxim Cournoyer
b0afa3c5f6 bootloader: grub: Skip install-grub-efi when producing a disk image.
Fixes <http://issues.guix.gnu.org/44353>.

Every bootloader should try their best to install themselves using only the
MOUNT-POINT and otherwise do nothing.  This requirement comes from the
necessity to call INSTALL-GRUB when installing the (non-EFI) GRUB bootloader,
which needs to populate the root file system with extra modules that cannot be
fit in the core.img file, limited in size to 491520 bytes (by the i386-pc
format required for legacy BIOS compatibility).

As introducing bootloader knowledge at the level of the image code is
undesirable, every bootloader should be adapted to support this fall-back for
their installation procedure (TODO).

* gnu/bootloader/grub.scm (install-grub-efi)[efi-dir]: Skip when the EFI-DIR
argument is set to #f.
2020-11-17 15:20:03 -05:00
Miguel Ángel Arruga Vivas
f445bc6576 system: Generate grub locale directory for grub.cfg.
* gnu/bootloader/grub.scm (grub-locale-directory): New function.
(grub-configuration-file)[locale-config]: Use grub-locale-directory and
avoid the extra search when eye-candy have performed it.
2020-11-01 01:14:36 +01:00
Miguel Ángel Arruga Vivas
222a630e9e system: Fix dependency for grub.cfg generation.
* gnu/bootloader/grub.scm (eye-candy)[font-file]: Use the bootloader
package provided with the configuration.
2020-10-30 22:34:03 +01:00
Miguel Ángel Arruga Vivas
c69a1c27ee system: Fix grub keymap with store in btrfs subvolume.
* gnu/bootloader/grub.scm (grub-configuration-file)
[keyboard-layout-config]: Use normalize-file.
2020-10-30 22:33:58 +01:00