Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornl6720 <nl6720@gmail.com>2024-04-19 13:49:18 +0300
committernl6720 <nl6720@gmail.com>2024-04-19 14:26:24 +0300
commit024cf1b7101fe778fc7c5d7ab61a045fb30d8056 (patch)
tree15465fb73d67b1dc2312a5236b4bc151b78157f6
parent43e4d9ce364a4776f6f8873dcfb1e53e86211feb (diff)
configs/releng/profiledef.sh: change UEFI boot loader from GRUB to systemd-boot
While using GRUB as the UEFI boot loader has reduced the size of the ISO, it has brought nothing but pain otherwise: * We cannot use `gfxterm` since it is not visible on some hardware. * GRUB has a a strange and nonsensical limitation where the EFI binary can be built with either support for shim or custom Secure Boot key support, but not both. This means you cannot repack the ISO to use shim + MOK since we currently use `--disable-shim-lock` to provide support for setups with custom keys. * GRUB's EFI binary needs to be built with `grub-mkstandalone` instead of there being a ready made EFI binary in the package. This requires having grub installed on the host system which affects reproducibility. This increases the size of the ISO since systemd-boot cannot boot files from other volumes, i.e. the kernel and initramfs is duplicated in the EFI system partition (the second partition made from `efiboot.img`). Implements https://gitlab.archlinux.org/archlinux/archiso/-/issues/227
-rw-r--r--CHANGELOG.rst2
-rw-r--r--configs/releng/profiledef.sh4
2 files changed, 4 insertions, 2 deletions
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index d706e9b..316fb90 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -19,6 +19,8 @@ Changed
Custom PXE setups will need to update their boot loader configuration.
- Replace ``archisodevice`` boot parameter with ``archisosearchuuid`` in all boot loader configuration. This allows to
have "file system transposition" without relaying on GRUB-specific features.
+- Replace GRUB with systemd-boot as the UEFI boot loader for the releng profile. While this increases the ISO size, it
+ avoids all GRUB-specific annoyances and oddities.
Deprecated
----------
diff --git a/configs/releng/profiledef.sh b/configs/releng/profiledef.sh
index 06e488d..ce26e79 100644
--- a/configs/releng/profiledef.sh
+++ b/configs/releng/profiledef.sh
@@ -9,8 +9,8 @@ iso_version="$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)"
install_dir="arch"
buildmodes=('iso')
bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito'
- 'uefi-ia32.grub.esp' 'uefi-x64.grub.esp'
- 'uefi-ia32.grub.eltorito' 'uefi-x64.grub.eltorito')
+ 'uefi-ia32.systemd-boot.esp' 'uefi-x64.systemd-boot.esp'
+ 'uefi-ia32.systemd-boot.eltorito' 'uefi-x64.systemd-boot.eltorito')
arch="x86_64"
pacman_conf="pacman.conf"
airootfs_image_type="squashfs"