summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid P <megver83@parabola.nu>2021-08-02 17:59:43 -0400
committerDavid P <megver83@parabola.nu>2021-08-02 17:59:43 -0400
commite09959ed0aba19e6b7f6789c1c57632414c5ec4b (patch)
treeeccdafaef03b09dc7f9c039a8257bfdc3cab30a6
parentf8233e405bc7851dc6f81c316b1100484421ffb2 (diff)
sync with archiso v57
archiso: a4691b8 (tag: v57) Merge branch 'changelog/57' 12c21b1 (origin/changelog/57) Add changelog for 57 0ccb4f8 Merge branch 'issues/143' 0fa1c0e (origin/issues/143) mkarchiso: Do not run _build_iso_base once 9462e4c Merge branch 'issues/117' f4324e2 (origin/issues/117) Remove SPDX license identifier from releng configs 00a1e8e Remove SPDX license identifier from releng configs a07ff5c Merge remote-tracking branch 'nl6720/bootmodes-2' 610ff2a mkarchiso: improve functions and comments 1cec901 Merge remote-tracking branch 'nl6720/RouteMetric' 8fa110e configs/*/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf: document why the drop-in file exists c6a1ccc configs/releng/airootfs/etc/systemd/network/: move RouteMetric= from [DHCPv6] to [IPv6AcceptRA] Signed-off-by: David P <megver83@parabola.nu>
-rw-r--r--CHANGELOG.rst20
-rw-r--r--configs/baseline/airootfs/etc/mkinitcpio.conf3
-rw-r--r--configs/baseline/airootfs/etc/mkinitcpio.d/linux-libre.preset3
-rw-r--r--configs/baseline/airootfs/etc/systemd/network/20-ethernet.network6
-rw-r--r--configs/baseline/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf7
-rw-r--r--configs/baseline/efiboot/loader/entries/01-parabolaiso-x86_64-linux-libre.conf3
-rw-r--r--configs/baseline/efiboot/loader/entries/02-parabolaiso-x86_64-ram-linux-libre.conf3
-rw-r--r--configs/baseline/efiboot/loader/loader.conf3
-rw-r--r--configs/baseline/packages.x86_642
-rw-r--r--configs/baseline/syslinux/syslinux-linux-libre.cfg3
-rw-r--r--configs/baseline/syslinux/syslinux.cfg3
-rwxr-xr-xconfigs/lxde-openrc/airootfs/etc/NetworkManager/dispatcher.d/reflector2
-rw-r--r--configs/lxde-openrc/airootfs/etc/conf.d/agetty.tty13
-rw-r--r--configs/lxde-openrc/airootfs/etc/conf.d/hostname3
-rw-r--r--configs/lxde-openrc/airootfs/etc/elogind/logind.conf.d/do-not-suspend.conf3
-rwxr-xr-xconfigs/lxde-openrc/airootfs/etc/local.d/choose-mirror.start2
-rwxr-xr-xconfigs/lxde-openrc/airootfs/etc/local.d/etc-pacman.d-gnupg.start2
-rwxr-xr-xconfigs/lxde-openrc/airootfs/etc/local.d/livecd-talk.start2
-rwxr-xr-xconfigs/lxde-openrc/airootfs/etc/local.d/pacman-init.start2
-rw-r--r--configs/lxde-openrc/airootfs/etc/locale.conf3
-rw-r--r--configs/lxde-openrc/airootfs/etc/mkinitcpio.conf3
-rw-r--r--configs/lxde-openrc/airootfs/etc/mkinitcpio.d/linux-libre.preset3
-rw-r--r--configs/lxde-openrc/efiboot/EFI/BOOT/entries/01-parabolaiso-x86_64-linux-libre.conf3
-rw-r--r--configs/lxde-openrc/efiboot/EFI/BOOT/entries/02-parabolaiso-x86_64-speech-linux-libre.conf3
-rw-r--r--configs/lxde-openrc/efiboot/EFI/BOOT/entries/03-parabolaiso-x86_64-ram-linux-libre.conf3
-rw-r--r--configs/lxde-openrc/efiboot/EFI/BOOT/refind.conf3
-rw-r--r--configs/lxde-openrc/packages.both2
-rw-r--r--configs/lxde-openrc/packages.x86_642
-rw-r--r--configs/lxde-openrc/pacman.conf2
-rw-r--r--configs/lxde-openrc/syslinux/parabolaiso_head.cfg3
-rw-r--r--configs/lxde-openrc/syslinux/parabolaiso_pxe32-linux-libre.cfg3
-rw-r--r--configs/lxde-openrc/syslinux/parabolaiso_pxe64-linux-libre.cfg3
-rw-r--r--configs/lxde-openrc/syslinux/parabolaiso_pxe_32_inc.cfg3
-rw-r--r--configs/lxde-openrc/syslinux/parabolaiso_pxe_both_inc.cfg3
-rw-r--r--configs/lxde-openrc/syslinux/parabolaiso_pxe_choose.cfg3
-rw-r--r--configs/lxde-openrc/syslinux/parabolaiso_sys32-linux-libre.cfg3
-rw-r--r--configs/lxde-openrc/syslinux/parabolaiso_sys64-linux-libre.cfg3
-rw-r--r--configs/lxde-openrc/syslinux/parabolaiso_sys_32_inc.cfg3
-rw-r--r--configs/lxde-openrc/syslinux/parabolaiso_sys_both_inc.cfg3
-rw-r--r--configs/lxde-openrc/syslinux/parabolaiso_sys_choose.cfg3
-rw-r--r--configs/lxde-openrc/syslinux/parabolaiso_tail.cfg3
-rw-r--r--configs/lxde-openrc/syslinux/syslinux.cfg3
-rwxr-xr-xconfigs/releng-openrc/airootfs/etc/NetworkManager/dispatcher.d/reflector2
-rw-r--r--configs/releng-openrc/airootfs/etc/conf.d/agetty.tty13
-rw-r--r--configs/releng-openrc/airootfs/etc/conf.d/hostname3
-rw-r--r--configs/releng-openrc/airootfs/etc/elogind/logind.conf.d/do-not-suspend.conf3
-rwxr-xr-xconfigs/releng-openrc/airootfs/etc/local.d/choose-mirror.start2
-rwxr-xr-xconfigs/releng-openrc/airootfs/etc/local.d/etc-pacman.d-gnupg.start2
-rwxr-xr-xconfigs/releng-openrc/airootfs/etc/local.d/livecd-talk.start2
-rwxr-xr-xconfigs/releng-openrc/airootfs/etc/local.d/pacman-init.start2
-rw-r--r--configs/releng-openrc/airootfs/etc/locale.conf3
-rw-r--r--configs/releng-openrc/airootfs/etc/mkinitcpio.conf3
-rw-r--r--configs/releng-openrc/airootfs/etc/mkinitcpio.d/linux-libre.preset3
-rw-r--r--configs/releng-openrc/efiboot/EFI/BOOT/entries/01-parabolaiso-x86_64-linux-libre.conf3
-rw-r--r--configs/releng-openrc/efiboot/EFI/BOOT/entries/02-parabolaiso-x86_64-speech-linux-libre.conf3
-rw-r--r--configs/releng-openrc/efiboot/EFI/BOOT/entries/03-parabolaiso-x86_64-ram-linux-libre.conf3
-rw-r--r--configs/releng-openrc/efiboot/EFI/BOOT/refind.conf3
-rw-r--r--configs/releng-openrc/packages.both2
-rw-r--r--configs/releng-openrc/packages.x86_642
-rw-r--r--configs/releng-openrc/pacman.conf2
-rw-r--r--configs/releng-openrc/syslinux/parabolaiso_head.cfg3
-rw-r--r--configs/releng-openrc/syslinux/parabolaiso_pxe32-linux-libre.cfg3
-rw-r--r--configs/releng-openrc/syslinux/parabolaiso_pxe64-linux-libre.cfg3
-rw-r--r--configs/releng-openrc/syslinux/parabolaiso_pxe_32_inc.cfg3
-rw-r--r--configs/releng-openrc/syslinux/parabolaiso_pxe_both_inc.cfg3
-rw-r--r--configs/releng-openrc/syslinux/parabolaiso_pxe_choose.cfg3
-rw-r--r--configs/releng-openrc/syslinux/parabolaiso_sys32-linux-libre.cfg3
-rw-r--r--configs/releng-openrc/syslinux/parabolaiso_sys64-linux-libre.cfg3
-rw-r--r--configs/releng-openrc/syslinux/parabolaiso_sys_32_inc.cfg3
-rw-r--r--configs/releng-openrc/syslinux/parabolaiso_sys_both_inc.cfg3
-rw-r--r--configs/releng-openrc/syslinux/parabolaiso_sys_choose.cfg3
-rw-r--r--configs/releng-openrc/syslinux/parabolaiso_tail.cfg3
-rw-r--r--configs/releng-openrc/syslinux/syslinux.cfg3
-rw-r--r--configs/releng/airootfs/etc/hostname2
-rw-r--r--configs/releng/airootfs/etc/locale.conf3
-rw-r--r--configs/releng/airootfs/etc/mkinitcpio.conf3
-rw-r--r--configs/releng/airootfs/etc/mkinitcpio.d/linux-libre.preset3
-rw-r--r--configs/releng/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf3
-rw-r--r--configs/releng/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf3
-rw-r--r--configs/releng/airootfs/etc/systemd/network/20-ethernet.network14
-rw-r--r--configs/releng/airootfs/etc/systemd/network/20-wireless.network15
-rw-r--r--configs/releng/airootfs/etc/systemd/network/20-wlan.network14
-rw-r--r--configs/releng/airootfs/etc/systemd/network/20-wwan.network12
-rw-r--r--configs/releng/airootfs/etc/systemd/system/choose-mirror.service3
-rw-r--r--configs/releng/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount3
-rw-r--r--configs/releng/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf3
-rw-r--r--configs/releng/airootfs/etc/systemd/system/livecd-alsa-unmuter.service3
-rw-r--r--configs/releng/airootfs/etc/systemd/system/livecd-talk.service3
-rw-r--r--configs/releng/airootfs/etc/systemd/system/pacman-init.service3
-rw-r--r--configs/releng/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf3
-rw-r--r--configs/releng/efiboot/loader/entries/01-parabolaiso-x86_64-linux-libre.conf3
-rw-r--r--configs/releng/efiboot/loader/entries/02-parabolaiso-x86_64-speech-linux-libre.conf3
-rw-r--r--configs/releng/efiboot/loader/entries/03-parabolaiso-x86_64-ram-linux-libre.conf3
-rw-r--r--configs/releng/efiboot/loader/loader.conf3
-rw-r--r--configs/releng/packages.both2
-rw-r--r--configs/releng/packages.x86_642
-rw-r--r--configs/releng/pacman.conf2
-rw-r--r--configs/releng/syslinux/parabolaiso_head.cfg3
-rw-r--r--configs/releng/syslinux/parabolaiso_pxe32-linux-libre.cfg3
-rw-r--r--configs/releng/syslinux/parabolaiso_pxe64-linux-libre.cfg3
-rw-r--r--configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg3
-rw-r--r--configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg3
-rw-r--r--configs/releng/syslinux/parabolaiso_pxe_choose.cfg3
-rw-r--r--configs/releng/syslinux/parabolaiso_sys32-linux-libre.cfg3
-rw-r--r--configs/releng/syslinux/parabolaiso_sys64-linux-libre.cfg3
-rw-r--r--configs/releng/syslinux/parabolaiso_sys_32_inc.cfg3
-rw-r--r--configs/releng/syslinux/parabolaiso_sys_both_inc.cfg3
-rw-r--r--configs/releng/syslinux/parabolaiso_sys_choose.cfg3
-rw-r--r--configs/releng/syslinux/parabolaiso_tail.cfg3
-rw-r--r--configs/releng/syslinux/syslinux.cfg3
-rwxr-xr-xparabolaiso/mkparabolaiso250
111 files changed, 188 insertions, 438 deletions
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 69c1f4b..5f7c39d 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -2,6 +2,26 @@
Changelog
#########
+[57] - 2021-07-30
+=================
+
+Added
+-----
+
+- Add a missing line in the systemd-networkd-wait-online.service in the baseline profile
+
+Changed
+-------
+
+- Adapt systemd-networkd configuration to systemd ≥ 249
+- Improve documentation in ``mkparabolaiso`` and systemd-networkd related configuration files
+- Fix an issue that may prevent continuing an aborted build of the ``netboot`` or ``iso`` buildmode
+
+Removed
+-------
+
+- Remove SPDX license identifier from files that are not eligible for copyright (e.g. configuration files)
+
[56.1] - 2021-07-11
===================
diff --git a/configs/baseline/airootfs/etc/mkinitcpio.conf b/configs/baseline/airootfs/etc/mkinitcpio.conf
index 237fb0d..9a851c9 100644
--- a/configs/baseline/airootfs/etc/mkinitcpio.conf
+++ b/configs/baseline/airootfs/etc/mkinitcpio.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
diff --git a/configs/baseline/airootfs/etc/mkinitcpio.d/linux-libre.preset b/configs/baseline/airootfs/etc/mkinitcpio.d/linux-libre.preset
index db31d05..625a03d 100644
--- a/configs/baseline/airootfs/etc/mkinitcpio.d/linux-libre.preset
+++ b/configs/baseline/airootfs/etc/mkinitcpio.d/linux-libre.preset
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
# mkinitcpio preset file for the 'linux-libre' package on parabolaiso
PRESETS=('parabolaiso')
diff --git a/configs/baseline/airootfs/etc/systemd/network/20-ethernet.network b/configs/baseline/airootfs/etc/systemd/network/20-ethernet.network
index efa309c..e8842f2 100644
--- a/configs/baseline/airootfs/etc/systemd/network/20-ethernet.network
+++ b/configs/baseline/airootfs/etc/systemd/network/20-ethernet.network
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
[Match]
Name=en*
Name=eth*
@@ -8,6 +5,3 @@ Name=eth*
[Network]
DHCP=yes
IPv6PrivacyExtensions=yes
-
-[DHCP]
-RouteMetric=512
diff --git a/configs/baseline/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf b/configs/baseline/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf
index a4d7442..c9f9bce 100644
--- a/configs/baseline/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf
+++ b/configs/baseline/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf
@@ -1,5 +1,6 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
+# Allow systemd-networkd-wait-online to succeed with one interface, otherwise, if multiple network interfaces exist,
+# network-online.target gets needlessly delayed.
+# See https://wiki.archlinux.org/title/systemd-networkd#systemd-networkd-wait-online
[Service]
+ExecStart=
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any
diff --git a/configs/baseline/efiboot/loader/entries/01-parabolaiso-x86_64-linux-libre.conf b/configs/baseline/efiboot/loader/entries/01-parabolaiso-x86_64-linux-libre.conf
index 99bc0be..e89de03 100644
--- a/configs/baseline/efiboot/loader/entries/01-parabolaiso-x86_64-linux-libre.conf
+++ b/configs/baseline/efiboot/loader/entries/01-parabolaiso-x86_64-linux-libre.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
title Parabola GNU/Linux-libre (x86_64, UEFI)
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-libre
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-libre.img
diff --git a/configs/baseline/efiboot/loader/entries/02-parabolaiso-x86_64-ram-linux-libre.conf b/configs/baseline/efiboot/loader/entries/02-parabolaiso-x86_64-ram-linux-libre.conf
index 4fc2c2c..630af00 100644
--- a/configs/baseline/efiboot/loader/entries/02-parabolaiso-x86_64-ram-linux-libre.conf
+++ b/configs/baseline/efiboot/loader/entries/02-parabolaiso-x86_64-ram-linux-libre.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
title Parabola GNU/Linux-libre (x86_64, UEFI) Copy to RAM
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-libre
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-libre.img
diff --git a/configs/baseline/efiboot/loader/loader.conf b/configs/baseline/efiboot/loader/loader.conf
index 02f2fd0..d25e496 100644
--- a/configs/baseline/efiboot/loader/loader.conf
+++ b/configs/baseline/efiboot/loader/loader.conf
@@ -1,5 +1,2 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
timeout 3
default 01-parabolaiso-x86_64-linux-libre.conf
diff --git a/configs/baseline/packages.x86_64 b/configs/baseline/packages.x86_64
index 25cc1e4..92d9da2 100644
--- a/configs/baseline/packages.x86_64
+++ b/configs/baseline/packages.x86_64
@@ -1,5 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
base
cloud-init
linux-libre
diff --git a/configs/baseline/syslinux/syslinux-linux-libre.cfg b/configs/baseline/syslinux/syslinux-linux-libre.cfg
index 13c4a20..47ac1e7 100644
--- a/configs/baseline/syslinux/syslinux-linux-libre.cfg
+++ b/configs/baseline/syslinux/syslinux-linux-libre.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
LABEL parabola
MENU LABEL Parabola GNU/Linux-libre (x86_64, BIOS)
LINUX /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-libre
diff --git a/configs/baseline/syslinux/syslinux.cfg b/configs/baseline/syslinux/syslinux.cfg
index 507082d..8e419f6 100644
--- a/configs/baseline/syslinux/syslinux.cfg
+++ b/configs/baseline/syslinux/syslinux.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
SERIAL 0 115200
UI menu.c32
MENU TITLE Parabola GNU/Linux-libre
diff --git a/configs/lxde-openrc/airootfs/etc/NetworkManager/dispatcher.d/reflector b/configs/lxde-openrc/airootfs/etc/NetworkManager/dispatcher.d/reflector
index 7287520..76e84dd 100755
--- a/configs/lxde-openrc/airootfs/etc/NetworkManager/dispatcher.d/reflector
+++ b/configs/lxde-openrc/airootfs/etc/NetworkManager/dispatcher.d/reflector
@@ -1,6 +1,4 @@
#!/bin/bash
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
if [ "$2" == up ] && ! grep -qoP 'mirror=\K\S+' /proc/cmdline; then
reflector \
diff --git a/configs/lxde-openrc/airootfs/etc/conf.d/agetty.tty1 b/configs/lxde-openrc/airootfs/etc/conf.d/agetty.tty1
index c2b62f5..997909c 100644
--- a/configs/lxde-openrc/airootfs/etc/conf.d/agetty.tty1
+++ b/configs/lxde-openrc/airootfs/etc/conf.d/agetty.tty1
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
baud="38400"
term_type="linux"
agetty_options="--autologin root --noclear"
diff --git a/configs/lxde-openrc/airootfs/etc/conf.d/hostname b/configs/lxde-openrc/airootfs/etc/conf.d/hostname
index 6d381fc..5a912cd 100644
--- a/configs/lxde-openrc/airootfs/etc/conf.d/hostname
+++ b/configs/lxde-openrc/airootfs/etc/conf.d/hostname
@@ -1,4 +1 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
hostname="parabolaiso"
diff --git a/configs/lxde-openrc/airootfs/etc/elogind/logind.conf.d/do-not-suspend.conf b/configs/lxde-openrc/airootfs/etc/elogind/logind.conf.d/do-not-suspend.conf
index c6b17a4..f3ecb39 100644
--- a/configs/lxde-openrc/airootfs/etc/elogind/logind.conf.d/do-not-suspend.conf
+++ b/configs/lxde-openrc/airootfs/etc/elogind/logind.conf.d/do-not-suspend.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
[Login]
HandleSuspendKey=ignore
HandleHibernateKey=ignore
diff --git a/configs/lxde-openrc/airootfs/etc/local.d/choose-mirror.start b/configs/lxde-openrc/airootfs/etc/local.d/choose-mirror.start
index fea21b8..be4293c 100755
--- a/configs/lxde-openrc/airootfs/etc/local.d/choose-mirror.start
+++ b/configs/lxde-openrc/airootfs/etc/local.d/choose-mirror.start
@@ -1,6 +1,4 @@
#!/bin/bash
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
# Choose mirror from the kernel command line
grep -qoP 'mirror=\K\S+' /proc/cmdline && /usr/local/bin/choose-mirror
diff --git a/configs/lxde-openrc/airootfs/etc/local.d/etc-pacman.d-gnupg.start b/configs/lxde-openrc/airootfs/etc/local.d/etc-pacman.d-gnupg.start
index f705ece..8a7139a 100755
--- a/configs/lxde-openrc/airootfs/etc/local.d/etc-pacman.d-gnupg.start
+++ b/configs/lxde-openrc/airootfs/etc/local.d/etc-pacman.d-gnupg.start
@@ -1,6 +1,4 @@
#!/bin/bash
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
# Temporary /etc/pacman.d/gnupg directory
fstype="$(findmnt /etc/pacman.d/gnupg -o FSTYPE -Un)"
diff --git a/configs/lxde-openrc/airootfs/etc/local.d/livecd-talk.start b/configs/lxde-openrc/airootfs/etc/local.d/livecd-talk.start
index f826cdd..69a8cc4 100755
--- a/configs/lxde-openrc/airootfs/etc/local.d/livecd-talk.start
+++ b/configs/lxde-openrc/airootfs/etc/local.d/livecd-talk.start
@@ -1,6 +1,4 @@
#!/bin/bash
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
if grep -qo 'accessibility=on' /proc/cmdline; then
livecd-sound -u
diff --git a/configs/lxde-openrc/airootfs/etc/local.d/pacman-init.start b/configs/lxde-openrc/airootfs/etc/local.d/pacman-init.start
index 60fdd4d..fcb588d 100755
--- a/configs/lxde-openrc/airootfs/etc/local.d/pacman-init.start
+++ b/configs/lxde-openrc/airootfs/etc/local.d/pacman-init.start
@@ -1,6 +1,4 @@
#!/bin/bash
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
# Initializes Pacman keyring
if ! find /etc/pacman.d/gnupg -mindepth 1 2>/dev/null | read -r; then
diff --git a/configs/lxde-openrc/airootfs/etc/locale.conf b/configs/lxde-openrc/airootfs/etc/locale.conf
index 9bf7aef..01ec548 100644
--- a/configs/lxde-openrc/airootfs/etc/locale.conf
+++ b/configs/lxde-openrc/airootfs/etc/locale.conf
@@ -1,4 +1 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
LANG=en_US.UTF-8
diff --git a/configs/lxde-openrc/airootfs/etc/mkinitcpio.conf b/configs/lxde-openrc/airootfs/etc/mkinitcpio.conf
index efbff15..d637173 100644
--- a/configs/lxde-openrc/airootfs/etc/mkinitcpio.conf
+++ b/configs/lxde-openrc/airootfs/etc/mkinitcpio.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
diff --git a/configs/lxde-openrc/airootfs/etc/mkinitcpio.d/linux-libre.preset b/configs/lxde-openrc/airootfs/etc/mkinitcpio.d/linux-libre.preset
index db31d05..625a03d 100644
--- a/configs/lxde-openrc/airootfs/etc/mkinitcpio.d/linux-libre.preset
+++ b/configs/lxde-openrc/airootfs/etc/mkinitcpio.d/linux-libre.preset
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
# mkinitcpio preset file for the 'linux-libre' package on parabolaiso
PRESETS=('parabolaiso')
diff --git a/configs/lxde-openrc/efiboot/EFI/BOOT/entries/01-parabolaiso-x86_64-linux-libre.conf b/configs/lxde-openrc/efiboot/EFI/BOOT/entries/01-parabolaiso-x86_64-linux-libre.conf
index b49dd6e..7fec6be 100644
--- a/configs/lxde-openrc/efiboot/EFI/BOOT/entries/01-parabolaiso-x86_64-linux-libre.conf
+++ b/configs/lxde-openrc/efiboot/EFI/BOOT/entries/01-parabolaiso-x86_64-linux-libre.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
menuentry "Parabola GNU/Linux-libre install medium (x86_64, UEFI)" {
loader /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-libre
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-libre.img
diff --git a/configs/lxde-openrc/efiboot/EFI/BOOT/entries/02-parabolaiso-x86_64-speech-linux-libre.conf b/configs/lxde-openrc/efiboot/EFI/BOOT/entries/02-parabolaiso-x86_64-speech-linux-libre.conf
index 62167e7..e6e8ab6 100644
--- a/configs/lxde-openrc/efiboot/EFI/BOOT/entries/02-parabolaiso-x86_64-speech-linux-libre.conf
+++ b/configs/lxde-openrc/efiboot/EFI/BOOT/entries/02-parabolaiso-x86_64-speech-linux-libre.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
menuentry "Parabola GNU/Linux-libre install medium (x86_64, UEFI) with speech" {
loader /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-libre
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-libre.img
diff --git a/configs/lxde-openrc/efiboot/EFI/BOOT/entries/03-parabolaiso-x86_64-ram-linux-libre.conf b/configs/lxde-openrc/efiboot/EFI/BOOT/entries/03-parabolaiso-x86_64-ram-linux-libre.conf
index 907169d..0c635af 100644
--- a/configs/lxde-openrc/efiboot/EFI/BOOT/entries/03-parabolaiso-x86_64-ram-linux-libre.conf
+++ b/configs/lxde-openrc/efiboot/EFI/BOOT/entries/03-parabolaiso-x86_64-ram-linux-libre.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
menuentry "Parabola GNU/Linux-libre install medium (x86_64, UEFI, Copy to RAM)" {
loader /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-libre
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-libre.img
diff --git a/configs/lxde-openrc/efiboot/EFI/BOOT/refind.conf b/configs/lxde-openrc/efiboot/EFI/BOOT/refind.conf
index 9a59f11..599ee49 100644
--- a/configs/lxde-openrc/efiboot/EFI/BOOT/refind.conf
+++ b/configs/lxde-openrc/efiboot/EFI/BOOT/refind.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
scanfor manual
showtools shell firmware reboot shutdown
diff --git a/configs/lxde-openrc/packages.both b/configs/lxde-openrc/packages.both
index 7f20da2..3c9c908 100644
--- a/configs/lxde-openrc/packages.both
+++ b/configs/lxde-openrc/packages.both
@@ -1,5 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
#Base
alsa-utils-openrc
arch-install-scripts
diff --git a/configs/lxde-openrc/packages.x86_64 b/configs/lxde-openrc/packages.x86_64
index ff68c5c..31579bc 100644
--- a/configs/lxde-openrc/packages.x86_64
+++ b/configs/lxde-openrc/packages.x86_64
@@ -1,4 +1,2 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
edk2-shell
refind
diff --git a/configs/lxde-openrc/pacman.conf b/configs/lxde-openrc/pacman.conf
index 6a32938..f531d97 100644
--- a/configs/lxde-openrc/pacman.conf
+++ b/configs/lxde-openrc/pacman.conf
@@ -2,8 +2,6 @@
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
#
# GENERAL OPTIONS
diff --git a/configs/lxde-openrc/syslinux/parabolaiso_head.cfg b/configs/lxde-openrc/syslinux/parabolaiso_head.cfg
index 99e8cd0..591097e 100644
--- a/configs/lxde-openrc/syslinux/parabolaiso_head.cfg
+++ b/configs/lxde-openrc/syslinux/parabolaiso_head.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
SERIAL 0 115200
UI vesamenu.c32
MENU TITLE Parabola GNU/Linux-libre
diff --git a/configs/lxde-openrc/syslinux/parabolaiso_pxe32-linux-libre.cfg b/configs/lxde-openrc/syslinux/parabolaiso_pxe32-linux-libre.cfg
index 8f1a5ac..9e0bb0e 100644
--- a/configs/lxde-openrc/syslinux/parabolaiso_pxe32-linux-libre.cfg
+++ b/configs/lxde-openrc/syslinux/parabolaiso_pxe32-linux-libre.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
LABEL parabola32_nbd
TEXT HELP
Boot the Parabola GNU/Linux-libre (i686) live medium (Using NBD).
diff --git a/configs/lxde-openrc/syslinux/parabolaiso_pxe64-linux-libre.cfg b/configs/lxde-openrc/syslinux/parabolaiso_pxe64-linux-libre.cfg
index 3e46234..71e70c5 100644
--- a/configs/lxde-openrc/syslinux/parabolaiso_pxe64-linux-libre.cfg
+++ b/configs/lxde-openrc/syslinux/parabolaiso_pxe64-linux-libre.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
LABEL parabola64_nbd
TEXT HELP
Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NBD).
diff --git a/configs/lxde-openrc/syslinux/parabolaiso_pxe_32_inc.cfg b/configs/lxde-openrc/syslinux/parabolaiso_pxe_32_inc.cfg
index 6b0cd85..e42cf87 100644
--- a/configs/lxde-openrc/syslinux/parabolaiso_pxe_32_inc.cfg
+++ b/configs/lxde-openrc/syslinux/parabolaiso_pxe_32_inc.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
INCLUDE parabolaiso_head.cfg
INCLUDE parabolaiso_pxe32.cfg
INCLUDE parabolaiso_tail.cfg
diff --git a/configs/lxde-openrc/syslinux/parabolaiso_pxe_both_inc.cfg b/configs/lxde-openrc/syslinux/parabolaiso_pxe_both_inc.cfg
index ed898b5..279fba1 100644
--- a/configs/lxde-openrc/syslinux/parabolaiso_pxe_both_inc.cfg
+++ b/configs/lxde-openrc/syslinux/parabolaiso_pxe_both_inc.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
INCLUDE parabolaiso_head.cfg
INCLUDE parabolaiso_pxe64-linux-libre.cfg
INCLUDE parabolaiso_pxe32-linux-libre.cfg
diff --git a/configs/lxde-openrc/syslinux/parabolaiso_pxe_choose.cfg b/configs/lxde-openrc/syslinux/parabolaiso_pxe_choose.cfg
index ad5a822..dcf16b6 100644
--- a/configs/lxde-openrc/syslinux/parabolaiso_pxe_choose.cfg
+++ b/configs/lxde-openrc/syslinux/parabolaiso_pxe_choose.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
DEFAULT choose
LABEL choose
diff --git a/configs/lxde-openrc/syslinux/parabolaiso_sys32-linux-libre.cfg b/configs/lxde-openrc/syslinux/parabolaiso_sys32-linux-libre.cfg
index 8d938b7..4f0acb1 100644
--- a/configs/lxde-openrc/syslinux/parabolaiso_sys32-linux-libre.cfg
+++ b/configs/lxde-openrc/syslinux/parabolaiso_sys32-linux-libre.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
TIMEOUT 150
LABEL parabola32
diff --git a/configs/lxde-openrc/syslinux/parabolaiso_sys64-linux-libre.cfg b/configs/lxde-openrc/syslinux/parabolaiso_sys64-linux-libre.cfg
index 234e363..cbf736e 100644
--- a/configs/lxde-openrc/syslinux/parabolaiso_sys64-linux-libre.cfg
+++ b/configs/lxde-openrc/syslinux/parabolaiso_sys64-linux-libre.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
LABEL parabola64
TEXT HELP
Boot the Parabola GNU/Linux-libre install medium on BIOS.
diff --git a/configs/lxde-openrc/syslinux/parabolaiso_sys_32_inc.cfg b/configs/lxde-openrc/syslinux/parabolaiso_sys_32_inc.cfg
index b9306ed..bbe92a3 100644
--- a/configs/lxde-openrc/syslinux/parabolaiso_sys_32_inc.cfg
+++ b/configs/lxde-openrc/syslinux/parabolaiso_sys_32_inc.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
INCLUDE parabolaiso_head.cfg
DEFAULT parabola32
diff --git a/configs/lxde-openrc/syslinux/parabolaiso_sys_both_inc.cfg b/configs/lxde-openrc/syslinux/parabolaiso_sys_both_inc.cfg
index afb027d..1f54dde 100644
--- a/configs/lxde-openrc/syslinux/parabolaiso_sys_both_inc.cfg
+++ b/configs/lxde-openrc/syslinux/parabolaiso_sys_both_inc.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
INCLUDE parabolaiso_head.cfg
DEFAULT parabola64
diff --git a/configs/lxde-openrc/syslinux/parabolaiso_sys_choose.cfg b/configs/lxde-openrc/syslinux/parabolaiso_sys_choose.cfg
index cf814d9..41c0e06 100644
--- a/configs/lxde-openrc/syslinux/parabolaiso_sys_choose.cfg
+++ b/configs/lxde-openrc/syslinux/parabolaiso_sys_choose.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
DEFAULT choose
LABEL choose
diff --git a/configs/lxde-openrc/syslinux/parabolaiso_tail.cfg b/configs/lxde-openrc/syslinux/parabolaiso_tail.cfg
index af172c0..e5339a2 100644
--- a/configs/lxde-openrc/syslinux/parabolaiso_tail.cfg
+++ b/configs/lxde-openrc/syslinux/parabolaiso_tail.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
LABEL existing
TEXT HELP
Boot an existing operating system.
diff --git a/configs/lxde-openrc/syslinux/syslinux.cfg b/configs/lxde-openrc/syslinux/syslinux.cfg
index 187eea5..2894460 100644
--- a/configs/lxde-openrc/syslinux/syslinux.cfg
+++ b/configs/lxde-openrc/syslinux/syslinux.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
DEFAULT select
LABEL select
diff --git a/configs/releng-openrc/airootfs/etc/NetworkManager/dispatcher.d/reflector b/configs/releng-openrc/airootfs/etc/NetworkManager/dispatcher.d/reflector
index 7287520..76e84dd 100755
--- a/configs/releng-openrc/airootfs/etc/NetworkManager/dispatcher.d/reflector
+++ b/configs/releng-openrc/airootfs/etc/NetworkManager/dispatcher.d/reflector
@@ -1,6 +1,4 @@
#!/bin/bash
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
if [ "$2" == up ] && ! grep -qoP 'mirror=\K\S+' /proc/cmdline; then
reflector \
diff --git a/configs/releng-openrc/airootfs/etc/conf.d/agetty.tty1 b/configs/releng-openrc/airootfs/etc/conf.d/agetty.tty1
index c2b62f5..997909c 100644
--- a/configs/releng-openrc/airootfs/etc/conf.d/agetty.tty1
+++ b/configs/releng-openrc/airootfs/etc/conf.d/agetty.tty1
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
baud="38400"
term_type="linux"
agetty_options="--autologin root --noclear"
diff --git a/configs/releng-openrc/airootfs/etc/conf.d/hostname b/configs/releng-openrc/airootfs/etc/conf.d/hostname
index 6d381fc..5a912cd 100644
--- a/configs/releng-openrc/airootfs/etc/conf.d/hostname
+++ b/configs/releng-openrc/airootfs/etc/conf.d/hostname
@@ -1,4 +1 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
hostname="parabolaiso"
diff --git a/configs/releng-openrc/airootfs/etc/elogind/logind.conf.d/do-not-suspend.conf b/configs/releng-openrc/airootfs/etc/elogind/logind.conf.d/do-not-suspend.conf
index c6b17a4..f3ecb39 100644
--- a/configs/releng-openrc/airootfs/etc/elogind/logind.conf.d/do-not-suspend.conf
+++ b/configs/releng-openrc/airootfs/etc/elogind/logind.conf.d/do-not-suspend.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
[Login]
HandleSuspendKey=ignore
HandleHibernateKey=ignore
diff --git a/configs/releng-openrc/airootfs/etc/local.d/choose-mirror.start b/configs/releng-openrc/airootfs/etc/local.d/choose-mirror.start
index fea21b8..be4293c 100755
--- a/configs/releng-openrc/airootfs/etc/local.d/choose-mirror.start
+++ b/configs/releng-openrc/airootfs/etc/local.d/choose-mirror.start
@@ -1,6 +1,4 @@
#!/bin/bash
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
# Choose mirror from the kernel command line
grep -qoP 'mirror=\K\S+' /proc/cmdline && /usr/local/bin/choose-mirror
diff --git a/configs/releng-openrc/airootfs/etc/local.d/etc-pacman.d-gnupg.start b/configs/releng-openrc/airootfs/etc/local.d/etc-pacman.d-gnupg.start
index f705ece..8a7139a 100755
--- a/configs/releng-openrc/airootfs/etc/local.d/etc-pacman.d-gnupg.start
+++ b/configs/releng-openrc/airootfs/etc/local.d/etc-pacman.d-gnupg.start
@@ -1,6 +1,4 @@
#!/bin/bash
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
# Temporary /etc/pacman.d/gnupg directory
fstype="$(findmnt /etc/pacman.d/gnupg -o FSTYPE -Un)"
diff --git a/configs/releng-openrc/airootfs/etc/local.d/livecd-talk.start b/configs/releng-openrc/airootfs/etc/local.d/livecd-talk.start
index f826cdd..69a8cc4 100755
--- a/configs/releng-openrc/airootfs/etc/local.d/livecd-talk.start
+++ b/configs/releng-openrc/airootfs/etc/local.d/livecd-talk.start
@@ -1,6 +1,4 @@
#!/bin/bash
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
if grep -qo 'accessibility=on' /proc/cmdline; then
livecd-sound -u
diff --git a/configs/releng-openrc/airootfs/etc/local.d/pacman-init.start b/configs/releng-openrc/airootfs/etc/local.d/pacman-init.start
index 60fdd4d..fcb588d 100755
--- a/configs/releng-openrc/airootfs/etc/local.d/pacman-init.start
+++ b/configs/releng-openrc/airootfs/etc/local.d/pacman-init.start
@@ -1,6 +1,4 @@
#!/bin/bash
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
# Initializes Pacman keyring
if ! find /etc/pacman.d/gnupg -mindepth 1 2>/dev/null | read -r; then
diff --git a/configs/releng-openrc/airootfs/etc/locale.conf b/configs/releng-openrc/airootfs/etc/locale.conf
index 9bf7aef..01ec548 100644
--- a/configs/releng-openrc/airootfs/etc/locale.conf
+++ b/configs/releng-openrc/airootfs/etc/locale.conf
@@ -1,4 +1 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
LANG=en_US.UTF-8
diff --git a/configs/releng-openrc/airootfs/etc/mkinitcpio.conf b/configs/releng-openrc/airootfs/etc/mkinitcpio.conf
index efbff15..d637173 100644
--- a/configs/releng-openrc/airootfs/etc/mkinitcpio.conf
+++ b/configs/releng-openrc/airootfs/etc/mkinitcpio.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
diff --git a/configs/releng-openrc/airootfs/etc/mkinitcpio.d/linux-libre.preset b/configs/releng-openrc/airootfs/etc/mkinitcpio.d/linux-libre.preset
index db31d05..625a03d 100644
--- a/configs/releng-openrc/airootfs/etc/mkinitcpio.d/linux-libre.preset
+++ b/configs/releng-openrc/airootfs/etc/mkinitcpio.d/linux-libre.preset
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
# mkinitcpio preset file for the 'linux-libre' package on parabolaiso
PRESETS=('parabolaiso')
diff --git a/configs/releng-openrc/efiboot/EFI/BOOT/entries/01-parabolaiso-x86_64-linux-libre.conf b/configs/releng-openrc/efiboot/EFI/BOOT/entries/01-parabolaiso-x86_64-linux-libre.conf
index b49dd6e..7fec6be 100644
--- a/configs/releng-openrc/efiboot/EFI/BOOT/entries/01-parabolaiso-x86_64-linux-libre.conf
+++ b/configs/releng-openrc/efiboot/EFI/BOOT/entries/01-parabolaiso-x86_64-linux-libre.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
menuentry "Parabola GNU/Linux-libre install medium (x86_64, UEFI)" {
loader /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-libre
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-libre.img
diff --git a/configs/releng-openrc/efiboot/EFI/BOOT/entries/02-parabolaiso-x86_64-speech-linux-libre.conf b/configs/releng-openrc/efiboot/EFI/BOOT/entries/02-parabolaiso-x86_64-speech-linux-libre.conf
index 62167e7..e6e8ab6 100644
--- a/configs/releng-openrc/efiboot/EFI/BOOT/entries/02-parabolaiso-x86_64-speech-linux-libre.conf
+++ b/configs/releng-openrc/efiboot/EFI/BOOT/entries/02-parabolaiso-x86_64-speech-linux-libre.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
menuentry "Parabola GNU/Linux-libre install medium (x86_64, UEFI) with speech" {
loader /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-libre
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-libre.img
diff --git a/configs/releng-openrc/efiboot/EFI/BOOT/entries/03-parabolaiso-x86_64-ram-linux-libre.conf b/configs/releng-openrc/efiboot/EFI/BOOT/entries/03-parabolaiso-x86_64-ram-linux-libre.conf
index 907169d..0c635af 100644
--- a/configs/releng-openrc/efiboot/EFI/BOOT/entries/03-parabolaiso-x86_64-ram-linux-libre.conf
+++ b/configs/releng-openrc/efiboot/EFI/BOOT/entries/03-parabolaiso-x86_64-ram-linux-libre.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
menuentry "Parabola GNU/Linux-libre install medium (x86_64, UEFI, Copy to RAM)" {
loader /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-libre
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-libre.img
diff --git a/configs/releng-openrc/efiboot/EFI/BOOT/refind.conf b/configs/releng-openrc/efiboot/EFI/BOOT/refind.conf
index 9a59f11..599ee49 100644
--- a/configs/releng-openrc/efiboot/EFI/BOOT/refind.conf
+++ b/configs/releng-openrc/efiboot/EFI/BOOT/refind.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
scanfor manual
showtools shell firmware reboot shutdown
diff --git a/configs/releng-openrc/packages.both b/configs/releng-openrc/packages.both
index d423992..bdc2180 100644
--- a/configs/releng-openrc/packages.both
+++ b/configs/releng-openrc/packages.both
@@ -1,5 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
alsa-utils-openrc
arch-install-scripts
archinstall
diff --git a/configs/releng-openrc/packages.x86_64 b/configs/releng-openrc/packages.x86_64
index ff68c5c..31579bc 100644
--- a/configs/releng-openrc/packages.x86_64
+++ b/configs/releng-openrc/packages.x86_64
@@ -1,4 +1,2 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
edk2-shell
refind
diff --git a/configs/releng-openrc/pacman.conf b/configs/releng-openrc/pacman.conf
index 6a32938..f531d97 100644
--- a/configs/releng-openrc/pacman.conf
+++ b/configs/releng-openrc/pacman.conf
@@ -2,8 +2,6 @@
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
#
# GENERAL OPTIONS
diff --git a/configs/releng-openrc/syslinux/parabolaiso_head.cfg b/configs/releng-openrc/syslinux/parabolaiso_head.cfg
index 99e8cd0..591097e 100644
--- a/configs/releng-openrc/syslinux/parabolaiso_head.cfg
+++ b/configs/releng-openrc/syslinux/parabolaiso_head.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
SERIAL 0 115200
UI vesamenu.c32
MENU TITLE Parabola GNU/Linux-libre
diff --git a/configs/releng-openrc/syslinux/parabolaiso_pxe32-linux-libre.cfg b/configs/releng-openrc/syslinux/parabolaiso_pxe32-linux-libre.cfg
index 8f1a5ac..9e0bb0e 100644
--- a/configs/releng-openrc/syslinux/parabolaiso_pxe32-linux-libre.cfg
+++ b/configs/releng-openrc/syslinux/parabolaiso_pxe32-linux-libre.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
LABEL parabola32_nbd
TEXT HELP
Boot the Parabola GNU/Linux-libre (i686) live medium (Using NBD).
diff --git a/configs/releng-openrc/syslinux/parabolaiso_pxe64-linux-libre.cfg b/configs/releng-openrc/syslinux/parabolaiso_pxe64-linux-libre.cfg
index 3e46234..71e70c5 100644
--- a/configs/releng-openrc/syslinux/parabolaiso_pxe64-linux-libre.cfg
+++ b/configs/releng-openrc/syslinux/parabolaiso_pxe64-linux-libre.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
LABEL parabola64_nbd
TEXT HELP
Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NBD).
diff --git a/configs/releng-openrc/syslinux/parabolaiso_pxe_32_inc.cfg b/configs/releng-openrc/syslinux/parabolaiso_pxe_32_inc.cfg
index 6b0cd85..e42cf87 100644
--- a/configs/releng-openrc/syslinux/parabolaiso_pxe_32_inc.cfg
+++ b/configs/releng-openrc/syslinux/parabolaiso_pxe_32_inc.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
INCLUDE parabolaiso_head.cfg
INCLUDE parabolaiso_pxe32.cfg
INCLUDE parabolaiso_tail.cfg
diff --git a/configs/releng-openrc/syslinux/parabolaiso_pxe_both_inc.cfg b/configs/releng-openrc/syslinux/parabolaiso_pxe_both_inc.cfg
index ed898b5..279fba1 100644
--- a/configs/releng-openrc/syslinux/parabolaiso_pxe_both_inc.cfg
+++ b/configs/releng-openrc/syslinux/parabolaiso_pxe_both_inc.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
INCLUDE parabolaiso_head.cfg
INCLUDE parabolaiso_pxe64-linux-libre.cfg
INCLUDE parabolaiso_pxe32-linux-libre.cfg
diff --git a/configs/releng-openrc/syslinux/parabolaiso_pxe_choose.cfg b/configs/releng-openrc/syslinux/parabolaiso_pxe_choose.cfg
index ad5a822..dcf16b6 100644
--- a/configs/releng-openrc/syslinux/parabolaiso_pxe_choose.cfg
+++ b/configs/releng-openrc/syslinux/parabolaiso_pxe_choose.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
DEFAULT choose
LABEL choose
diff --git a/configs/releng-openrc/syslinux/parabolaiso_sys32-linux-libre.cfg b/configs/releng-openrc/syslinux/parabolaiso_sys32-linux-libre.cfg
index 8d938b7..4f0acb1 100644
--- a/configs/releng-openrc/syslinux/parabolaiso_sys32-linux-libre.cfg
+++ b/configs/releng-openrc/syslinux/parabolaiso_sys32-linux-libre.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
TIMEOUT 150
LABEL parabola32
diff --git a/configs/releng-openrc/syslinux/parabolaiso_sys64-linux-libre.cfg b/configs/releng-openrc/syslinux/parabolaiso_sys64-linux-libre.cfg
index 234e363..cbf736e 100644
--- a/configs/releng-openrc/syslinux/parabolaiso_sys64-linux-libre.cfg
+++ b/configs/releng-openrc/syslinux/parabolaiso_sys64-linux-libre.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
LABEL parabola64
TEXT HELP
Boot the Parabola GNU/Linux-libre install medium on BIOS.
diff --git a/configs/releng-openrc/syslinux/parabolaiso_sys_32_inc.cfg b/configs/releng-openrc/syslinux/parabolaiso_sys_32_inc.cfg
index b9306ed..bbe92a3 100644
--- a/configs/releng-openrc/syslinux/parabolaiso_sys_32_inc.cfg
+++ b/configs/releng-openrc/syslinux/parabolaiso_sys_32_inc.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
INCLUDE parabolaiso_head.cfg
DEFAULT parabola32
diff --git a/configs/releng-openrc/syslinux/parabolaiso_sys_both_inc.cfg b/configs/releng-openrc/syslinux/parabolaiso_sys_both_inc.cfg
index afb027d..1f54dde 100644
--- a/configs/releng-openrc/syslinux/parabolaiso_sys_both_inc.cfg
+++ b/configs/releng-openrc/syslinux/parabolaiso_sys_both_inc.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
INCLUDE parabolaiso_head.cfg
DEFAULT parabola64
diff --git a/configs/releng-openrc/syslinux/parabolaiso_sys_choose.cfg b/configs/releng-openrc/syslinux/parabolaiso_sys_choose.cfg
index cf814d9..41c0e06 100644
--- a/configs/releng-openrc/syslinux/parabolaiso_sys_choose.cfg
+++ b/configs/releng-openrc/syslinux/parabolaiso_sys_choose.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
DEFAULT choose
LABEL choose
diff --git a/configs/releng-openrc/syslinux/parabolaiso_tail.cfg b/configs/releng-openrc/syslinux/parabolaiso_tail.cfg
index af172c0..e5339a2 100644
--- a/configs/releng-openrc/syslinux/parabolaiso_tail.cfg
+++ b/configs/releng-openrc/syslinux/parabolaiso_tail.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
LABEL existing
TEXT HELP
Boot an existing operating system.
diff --git a/configs/releng-openrc/syslinux/syslinux.cfg b/configs/releng-openrc/syslinux/syslinux.cfg
index 187eea5..2894460 100644
--- a/configs/releng-openrc/syslinux/syslinux.cfg
+++ b/configs/releng-openrc/syslinux/syslinux.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
DEFAULT select
LABEL select
diff --git a/configs/releng/airootfs/etc/hostname b/configs/releng/airootfs/etc/hostname
index 5178d59..8aaf41b 100644
--- a/configs/releng/airootfs/etc/hostname
+++ b/configs/releng/airootfs/etc/hostname
@@ -1,3 +1 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
parabolaiso
diff --git a/configs/releng/airootfs/etc/locale.conf b/configs/releng/airootfs/etc/locale.conf
index 9bf7aef..01ec548 100644
--- a/configs/releng/airootfs/etc/locale.conf
+++ b/configs/releng/airootfs/etc/locale.conf
@@ -1,4 +1 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
LANG=en_US.UTF-8
diff --git a/configs/releng/airootfs/etc/mkinitcpio.conf b/configs/releng/airootfs/etc/mkinitcpio.conf
index 35ec2ae..34645b9 100644
--- a/configs/releng/airootfs/etc/mkinitcpio.conf
+++ b/configs/releng/airootfs/etc/mkinitcpio.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
diff --git a/configs/releng/airootfs/etc/mkinitcpio.d/linux-libre.preset b/configs/releng/airootfs/etc/mkinitcpio.d/linux-libre.preset
index db31d05..625a03d 100644
--- a/configs/releng/airootfs/etc/mkinitcpio.d/linux-libre.preset
+++ b/configs/releng/airootfs/etc/mkinitcpio.d/linux-libre.preset
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
# mkinitcpio preset file for the 'linux-libre' package on parabolaiso
PRESETS=('parabolaiso')
diff --git a/configs/releng/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf b/configs/releng/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf
index 3104779..b69850d 100644
--- a/configs/releng/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf
+++ b/configs/releng/airootfs/etc/systemd/journald.conf.d/volatile-storage.conf
@@ -1,5 +1,2 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
[Journal]
Storage=volatile
diff --git a/configs/releng/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf b/configs/releng/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf
index c6b17a4..f3ecb39 100644
--- a/configs/releng/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf
+++ b/configs/releng/airootfs/etc/systemd/logind.conf.d/do-not-suspend.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
[Login]
HandleSuspendKey=ignore
HandleHibernateKey=ignore
diff --git a/configs/releng/airootfs/etc/systemd/network/20-ethernet.network b/configs/releng/airootfs/etc/systemd/network/20-ethernet.network
index dd0193d..0ac5028 100644
--- a/configs/releng/airootfs/etc/systemd/network/20-ethernet.network
+++ b/configs/releng/airootfs/etc/systemd/network/20-ethernet.network
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
[Match]
Type=en*
Type=eth*
@@ -9,8 +6,13 @@ Type=eth*
DHCP=yes
IPv6PrivacyExtensions=yes
+# systemd-networkd does not set per-interface-type default route metrics
+# https://github.com/systemd/systemd/issues/17698
+# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband.
+# Use values from NetworkManager. From nm_device_get_route_metric_default in
+# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c
[DHCPv4]
-RouteMetric=512
+RouteMetric=100
-[DHCPv6]
-RouteMetric=512
+[IPv6AcceptRA]
+RouteMetric=100
diff --git a/configs/releng/airootfs/etc/systemd/network/20-wireless.network b/configs/releng/airootfs/etc/systemd/network/20-wireless.network
deleted file mode 100644
index 73a6bbd..0000000
--- a/configs/releng/airootfs/etc/systemd/network/20-wireless.network
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-[Match]
-Type=wlan
-
-[Network]
-DHCP=yes
-IPv6PrivacyExtensions=yes
-
-[DHCPv4]
-RouteMetric=1024
-
-[DHCPv6]
-RouteMetric=1024
diff --git a/configs/releng/airootfs/etc/systemd/network/20-wlan.network b/configs/releng/airootfs/etc/systemd/network/20-wlan.network
index c164666..601d5b8 100644
--- a/configs/releng/airootfs/etc/systemd/network/20-wlan.network
+++ b/configs/releng/airootfs/etc/systemd/network/20-wlan.network
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
[Match]
Name=wl*
@@ -8,8 +5,13 @@ Name=wl*
DHCP=yes
IPv6PrivacyExtensions=yes
+# systemd-networkd does not set per-interface-type default route metrics
+# https://github.com/systemd/systemd/issues/17698
+# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband.
+# Use values from NetworkManager. From nm_device_get_route_metric_default in
+# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c
[DHCPv4]
-RouteMetric=1024
+RouteMetric=600
-[DHCPv6]
-RouteMetric=1024
+[IPv6AcceptRA]
+RouteMetric=600
diff --git a/configs/releng/airootfs/etc/systemd/network/20-wwan.network b/configs/releng/airootfs/etc/systemd/network/20-wwan.network
index ff5ad66..55dadc2 100644
--- a/configs/releng/airootfs/etc/systemd/network/20-wwan.network
+++ b/configs/releng/airootfs/etc/systemd/network/20-wwan.network
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
[Match]
Type=ww*
@@ -8,8 +5,13 @@ Type=ww*
DHCP=yes
IPv6PrivacyExtensions=yes
+# systemd-networkd does not set per-interface-type default route metrics
+# https://github.com/systemd/systemd/issues/17698
+# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband.
+# Use values from NetworkManager. From nm_device_get_route_metric_default in
+# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c
[DHCPv4]
RouteMetric=2048
-[DHCPv6]
-RouteMetric=2048
+[IPv6AcceptRA]
+RouteMetric=700
diff --git a/configs/releng/airootfs/etc/systemd/system/choose-mirror.service b/configs/releng/airootfs/etc/systemd/system/choose-mirror.service
index b3e4847..b6a3562 100644
--- a/configs/releng/airootfs/etc/systemd/system/choose-mirror.service
+++ b/configs/releng/airootfs/etc/systemd/system/choose-mirror.service
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
[Unit]
Description=Choose mirror from the kernel command line
ConditionKernelCommandLine=mirror
diff --git a/configs/releng/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount b/configs/releng/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount
index f86a91d..4eab551 100644
--- a/configs/releng/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount
+++ b/configs/releng/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
[Unit]
Description=Temporary /etc/pacman.d/gnupg directory
diff --git a/configs/releng/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf b/configs/releng/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf
index 370735f..d1d8474 100644
--- a/configs/releng/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf
+++ b/configs/releng/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux
diff --git a/configs/releng/airootfs/etc/systemd/system/livecd-alsa-unmuter.service b/configs/releng/airootfs/etc/systemd/system/livecd-alsa-unmuter.service
index 8c5317d..03db4b9 100644
--- a/configs/releng/airootfs/etc/systemd/system/livecd-alsa-unmuter.service
+++ b/configs/releng/airootfs/etc/systemd/system/livecd-alsa-unmuter.service
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
[Unit]
Description=Unmute All Sound Card Controls For Use With The Live Arch Environment
# This needs to run after the audio device becomes available.
diff --git a/configs/releng/airootfs/etc/systemd/system/livecd-talk.service b/configs/releng/airootfs/etc/systemd/system/livecd-talk.service
index d959ab3..b38df22 100644
--- a/configs/releng/airootfs/etc/systemd/system/livecd-talk.service
+++ b/configs/releng/airootfs/etc/systemd/system/livecd-talk.service
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
[Unit]
Description=Screen reader service
After=livecd-alsa-unmuter.service
diff --git a/configs/releng/airootfs/etc/systemd/system/pacman-init.service b/configs/releng/airootfs/etc/systemd/system/pacman-init.service
index f446a80..b18f7f8 100644
--- a/configs/releng/airootfs/etc/systemd/system/pacman-init.service
+++ b/configs/releng/airootfs/etc/systemd/system/pacman-init.service
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
[Unit]
Description=Initializes Pacman keyring
Requires=etc-pacman.d-gnupg.mount
diff --git a/configs/releng/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf b/configs/releng/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf
index 1b4c091..c875311 100644
--- a/configs/releng/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf
+++ b/configs/releng/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
[Service]
ExecStart=
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any
diff --git a/configs/releng/efiboot/loader/entries/01-parabolaiso-x86_64-linux-libre.conf b/configs/releng/efiboot/loader/entries/01-parabolaiso-x86_64-linux-libre.conf
index 5f15e97..760ce9a 100644
--- a/configs/releng/efiboot/loader/entries/01-parabolaiso-x86_64-linux-libre.conf
+++ b/configs/releng/efiboot/loader/entries/01-parabolaiso-x86_64-linux-libre.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
title Parabola GNU/Linux-libre install medium (x86_64, UEFI)
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-libre
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-libre.img
diff --git a/configs/releng/efiboot/loader/entries/02-parabolaiso-x86_64-speech-linux-libre.conf b/configs/releng/efiboot/loader/entries/02-parabolaiso-x86_64-speech-linux-libre.conf
index ac42de8..3ebef25 100644
--- a/configs/releng/efiboot/loader/entries/02-parabolaiso-x86_64-speech-linux-libre.conf
+++ b/configs/releng/efiboot/loader/entries/02-parabolaiso-x86_64-speech-linux-libre.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
title Parabola GNU/Linux-libre install medium (x86_64, UEFI) with speech
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-libre
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-libre.img
diff --git a/configs/releng/efiboot/loader/entries/03-parabolaiso-x86_64-ram-linux-libre.conf b/configs/releng/efiboot/loader/entries/03-parabolaiso-x86_64-ram-linux-libre.conf
index ad4eca4..40fd971 100644
--- a/configs/releng/efiboot/loader/entries/03-parabolaiso-x86_64-ram-linux-libre.conf
+++ b/configs/releng/efiboot/loader/entries/03-parabolaiso-x86_64-ram-linux-libre.conf
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
title Parabola GNU/Linux-libre install medium (x86_64, UEFI, Copy to RAM)
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-libre
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-libre.img
diff --git a/configs/releng/efiboot/loader/loader.conf b/configs/releng/efiboot/loader/loader.conf
index f16e80b..8a5b018 100644
--- a/configs/releng/efiboot/loader/loader.conf
+++ b/configs/releng/efiboot/loader/loader.conf
@@ -1,5 +1,2 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
timeout 15
default 01-parabolaiso-x86_64-linux-libre.conf
diff --git a/configs/releng/packages.both b/configs/releng/packages.both
index ea55280..ba01e84 100644
--- a/configs/releng/packages.both
+++ b/configs/releng/packages.both
@@ -1,5 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
alsa-utils
arch-install-scripts
archinstall
diff --git a/configs/releng/packages.x86_64 b/configs/releng/packages.x86_64
index e76d794..4cfa070 100644
--- a/configs/releng/packages.x86_64
+++ b/configs/releng/packages.x86_64
@@ -1,3 +1 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
edk2-shell
diff --git a/configs/releng/pacman.conf b/configs/releng/pacman.conf
index 7a45410..79a8f69 100644
--- a/configs/releng/pacman.conf
+++ b/configs/releng/pacman.conf
@@ -2,8 +2,6 @@
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
#
# GENERAL OPTIONS
diff --git a/configs/releng/syslinux/parabolaiso_head.cfg b/configs/releng/syslinux/parabolaiso_head.cfg
index 99e8cd0..591097e 100644
--- a/configs/releng/syslinux/parabolaiso_head.cfg
+++ b/configs/releng/syslinux/parabolaiso_head.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
SERIAL 0 115200
UI vesamenu.c32
MENU TITLE Parabola GNU/Linux-libre
diff --git a/configs/releng/syslinux/parabolaiso_pxe32-linux-libre.cfg b/configs/releng/syslinux/parabolaiso_pxe32-linux-libre.cfg
index 8f1a5ac..9e0bb0e 100644
--- a/configs/releng/syslinux/parabolaiso_pxe32-linux-libre.cfg
+++ b/configs/releng/syslinux/parabolaiso_pxe32-linux-libre.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
LABEL parabola32_nbd
TEXT HELP
Boot the Parabola GNU/Linux-libre (i686) live medium (Using NBD).
diff --git a/configs/releng/syslinux/parabolaiso_pxe64-linux-libre.cfg b/configs/releng/syslinux/parabolaiso_pxe64-linux-libre.cfg
index 3e46234..71e70c5 100644
--- a/configs/releng/syslinux/parabolaiso_pxe64-linux-libre.cfg
+++ b/configs/releng/syslinux/parabolaiso_pxe64-linux-libre.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
LABEL parabola64_nbd
TEXT HELP
Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NBD).
diff --git a/configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg b/configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg
index 6b0cd85..e42cf87 100644
--- a/configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg
+++ b/configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
INCLUDE parabolaiso_head.cfg
INCLUDE parabolaiso_pxe32.cfg
INCLUDE parabolaiso_tail.cfg
diff --git a/configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg b/configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg
index ed898b5..279fba1 100644
--- a/configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg
+++ b/configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
INCLUDE parabolaiso_head.cfg
INCLUDE parabolaiso_pxe64-linux-libre.cfg
INCLUDE parabolaiso_pxe32-linux-libre.cfg
diff --git a/configs/releng/syslinux/parabolaiso_pxe_choose.cfg b/configs/releng/syslinux/parabolaiso_pxe_choose.cfg
index ad5a822..dcf16b6 100644
--- a/configs/releng/syslinux/parabolaiso_pxe_choose.cfg
+++ b/configs/releng/syslinux/parabolaiso_pxe_choose.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
DEFAULT choose
LABEL choose
diff --git a/configs/releng/syslinux/parabolaiso_sys32-linux-libre.cfg b/configs/releng/syslinux/parabolaiso_sys32-linux-libre.cfg
index 8d938b7..4f0acb1 100644
--- a/configs/releng/syslinux/parabolaiso_sys32-linux-libre.cfg
+++ b/configs/releng/syslinux/parabolaiso_sys32-linux-libre.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
TIMEOUT 150
LABEL parabola32
diff --git a/configs/releng/syslinux/parabolaiso_sys64-linux-libre.cfg b/configs/releng/syslinux/parabolaiso_sys64-linux-libre.cfg
index 234e363..cbf736e 100644
--- a/configs/releng/syslinux/parabolaiso_sys64-linux-libre.cfg
+++ b/configs/releng/syslinux/parabolaiso_sys64-linux-libre.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
LABEL parabola64
TEXT HELP
Boot the Parabola GNU/Linux-libre install medium on BIOS.
diff --git a/configs/releng/syslinux/parabolaiso_sys_32_inc.cfg b/configs/releng/syslinux/parabolaiso_sys_32_inc.cfg
index b9306ed..bbe92a3 100644
--- a/configs/releng/syslinux/parabolaiso_sys_32_inc.cfg
+++ b/configs/releng/syslinux/parabolaiso_sys_32_inc.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
INCLUDE parabolaiso_head.cfg
DEFAULT parabola32
diff --git a/configs/releng/syslinux/parabolaiso_sys_both_inc.cfg b/configs/releng/syslinux/parabolaiso_sys_both_inc.cfg
index afb027d..1f54dde 100644
--- a/configs/releng/syslinux/parabolaiso_sys_both_inc.cfg
+++ b/configs/releng/syslinux/parabolaiso_sys_both_inc.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
INCLUDE parabolaiso_head.cfg
DEFAULT parabola64
diff --git a/configs/releng/syslinux/parabolaiso_sys_choose.cfg b/configs/releng/syslinux/parabolaiso_sys_choose.cfg
index cf814d9..41c0e06 100644
--- a/configs/releng/syslinux/parabolaiso_sys_choose.cfg
+++ b/configs/releng/syslinux/parabolaiso_sys_choose.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
DEFAULT choose
LABEL choose
diff --git a/configs/releng/syslinux/parabolaiso_tail.cfg b/configs/releng/syslinux/parabolaiso_tail.cfg
index af172c0..e5339a2 100644
--- a/configs/releng/syslinux/parabolaiso_tail.cfg
+++ b/configs/releng/syslinux/parabolaiso_tail.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
LABEL existing
TEXT HELP
Boot an existing operating system.
diff --git a/configs/releng/syslinux/syslinux.cfg b/configs/releng/syslinux/syslinux.cfg
index 187eea5..2894460 100644
--- a/configs/releng/syslinux/syslinux.cfg
+++ b/configs/releng/syslinux/syslinux.cfg
@@ -1,6 +1,3 @@
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
DEFAULT select
LABEL select
diff --git a/parabolaiso/mkparabolaiso b/parabolaiso/mkparabolaiso
index 22b0167..aaef80d 100755
--- a/parabolaiso/mkparabolaiso
+++ b/parabolaiso/mkparabolaiso
@@ -176,6 +176,8 @@ _cleanup_pacstrap_dir() {
_msg_info "Done!"
}
+# Create a squashfs image and place it in the ISO 9660 file system.
+# $@: options to pass to mksquashfs
_run_mksquashfs() {
local image_path="${isofs_dir}/${install_dir}/${arch}/airootfs.sfs"
if [[ "${quiet}" == "y" ]]; then
@@ -185,7 +187,8 @@ _run_mksquashfs() {
fi
}
-# Makes a ext4 filesystem inside a SquashFS from a source directory.
+# Create an ext4 image containing the root file system and pack it inside a squashfs image.
+# Save the squashfs image on the ISO 9660 file system.
_mkairootfs_ext4+squashfs() {
[[ -e "${pacstrap_dir}" ]] || _msg_error "The path '${pacstrap_dir}' does not exist" 1
@@ -210,29 +213,16 @@ _mkairootfs_ext4+squashfs() {
rm -- "${pacstrap_dir}.img"
}
-# Makes a SquashFS filesystem from a source directory.
+# Create a squashfs image containing the root file system and saves it on the ISO 9660 file system.
_mkairootfs_squashfs() {
[[ -e "${pacstrap_dir}" ]] || _msg_error "The path '${pacstrap_dir}' does not exist" 1
install -d -m 0755 -- "${isofs_dir}/${install_dir}/${arch}"
_msg_info "Creating ${arch} SquashFS image, this may take some time..."
_run_mksquashfs "${pacstrap_dir}"
- _msg_info "Done!"
}
-_mkchecksum() {
- _msg_info "Creating checksum file for self-test..."
- cd -- "${isofs_dir}/${install_dir}/${arch}"
- if [[ -e "${isofs_dir}/${install_dir}/${arch}/airootfs.sfs" ]]; then
- sha512sum airootfs.sfs > airootfs.sha512
- elif [[ -e "${isofs_dir}/${install_dir}/${arch}/airootfs.erofs" ]]; then
- sha512sum airootfs.erofs > airootfs.sha512
- fi
- cd -- "${OLDPWD}"
- _msg_info "Done!"
-}
-
-# Makes an EROFS file system from a source directory.
+# Create an EROFS image containing the root file system and saves it on the ISO 9660 file system.
_mkairootfs_erofs() {
local fsuuid
[[ -e "${pacstrap_dir}" ]] || _msg_error "The path '${pacstrap_dir}' does not exist" 1
@@ -246,6 +236,20 @@ _mkairootfs_erofs() {
_msg_info "Done!"
}
+# Create checksum file for the rootfs image.
+_mkchecksum() {
+ _msg_info "Creating checksum file for self-test..."
+ cd -- "${isofs_dir}/${install_dir}/${arch}"
+ if [[ -e "${isofs_dir}/${install_dir}/${arch}/airootfs.sfs" ]]; then
+ sha512sum airootfs.sfs > airootfs.sha512
+ elif [[ -e "${isofs_dir}/${install_dir}/${arch}/airootfs.erofs" ]]; then
+ sha512sum airootfs.erofs > airootfs.sha512
+ fi
+ cd -- "${OLDPWD}"
+ _msg_info "Done!"
+}
+
+# GPG sign the root file system image.
_mksignature() {
_msg_info "Signing ${arch} rootfs image..."
cd -- "${isofs_dir}/${install_dir}/${arch}"
@@ -260,6 +264,7 @@ _mksignature() {
}
# Helper function to run functions only one time.
+# $1: function name
_run_once() {
if [[ ! -e "${work_dir}/${run_once_mode}.${1}.${arch}" ]]; then
"$1"
@@ -267,7 +272,8 @@ _run_once() {
fi
}
-# Helper function to run functions for both architectures
+# Helper function to run commands for the i686 and x86_64 architectures.
+# $@: commands to run in both architectures
_run_dual() {
local cmd
if [[ "${arch}" == "dual" ]]; then
@@ -289,13 +295,13 @@ _run_dual() {
fi
}
-# Set up custom pacman.conf with custom cache and pacman hook directories
+# Set up custom pacman.conf with custom cache and pacman hook directories.
_make_pacman_conf() {
local _cache_dirs _system_cache_dirs _profile_cache_dirs
_system_cache_dirs="$(pacman-conf CacheDir| tr '\n' ' ')"
_profile_cache_dirs="$(pacman-conf --config "${pacman_conf}" CacheDir| tr '\n' ' ')"
- # only use the profile's CacheDir, if it is not the default and not the same as the system cache dir
+ # Only use the profile's CacheDir, if it is not the default and not the same as the system cache dir.
if [[ "${_profile_cache_dirs}" != "/var/cache/pacman/pkg" ]] && \
[[ "${_system_cache_dirs}" != "${_profile_cache_dirs}" ]]; then
_cache_dirs="${_profile_cache_dirs}"
@@ -314,7 +320,7 @@ _make_pacman_conf() {
/\[options\]/a HookDir = ${pacstrap_dir}/etc/pacman.d/hooks/" > "${work_dir}/${buildmode}.pacman.conf.${arch}"
}
-# Prepare working directory and copy custom airootfs files (airootfs)
+# Prepare working directory and copy custom root file system files.
_make_custom_airootfs() {
local passwd=()
local filename permissions
@@ -347,7 +353,7 @@ _make_custom_airootfs() {
fi
}
-# Install desired packages to airootfs
+# Install desired packages to the root file system
_make_packages() {
_msg_info "Installing packages to '${pacstrap_dir}/'..."
@@ -374,7 +380,7 @@ _make_packages() {
_msg_info "Done! Packages installed successfully."
}
-# Customize installation (airootfs)
+# Customize installation.
_make_customize_airootfs() {
local passwd=()
@@ -419,7 +425,7 @@ _make_bootmodes() {
done
}
-# Prepare kernel/initramfs ${install_dir}/boot/
+# Copy kernel and initramfs to ISO 9660
_make_boot_on_iso9660() {
_msg_info "Preparing ${arch} kernel and initramfs for the ISO 9660 file system..."
install -d -m 0755 -- "${isofs_dir}/${install_dir}/boot/${arch}"
@@ -428,7 +434,7 @@ _make_boot_on_iso9660() {
_msg_info "Done!"
}
-# Prepare /syslinux
+# Prepare syslinux for booting from MBR (isohybrid)
_make_bootmode_bios.syslinux.mbr() {
_msg_info "Setting up SYSLINUX for BIOS booting from a disk..."
install -d -m 0755 -- "${isofs_dir}/syslinux"
@@ -468,7 +474,7 @@ _make_bootmode_bios.syslinux.mbr() {
_msg_info "Done! SYSLINUX set up for BIOS booting from a disk successfully."
}
-# Prepare /syslinux for El-Torito booting
+# Prepare syslinux for El-Torito booting
_make_bootmode_bios.syslinux.eltorito() {
_msg_info "Setting up SYSLINUX for BIOS booting from an optical disc..."
install -d -m 0755 -- "${isofs_dir}/syslinux"
@@ -481,53 +487,7 @@ _make_bootmode_bios.syslinux.eltorito() {
_msg_info "Done! SYSLINUX set up for BIOS booting from an optical disc successfully."
}
-# Prepare /EFI on ISO-9660
-_make_efi_dir_on_iso9660() {
- _msg_info "Preparing an /EFI directory for the ISO 9660 file system..."
- install -d -m 0755 -- "${isofs_dir}/EFI/BOOT"
- install -m 0644 -- "${pacstrap_dir}/usr/lib/systemd/boot/efi/systemd-bootx64.efi" \
- "${isofs_dir}/EFI/BOOT/BOOTx64.EFI"
-
- install -d -m 0755 -- "${isofs_dir}/loader/entries"
- install -m 0644 -- "${profile}/efiboot/loader/loader.conf" "${isofs_dir}/loader/"
-
- for _conf in "${profile}/efiboot/loader/entries/"*".conf"; do
- sed "s|%PARABOLAISO_LABEL%|${iso_label}|g;
- s|%INSTALL_DIR%|${install_dir}|g;
- s|%ARCH%|${arch}|g" \
- "${_conf}" > "${isofs_dir}/loader/entries/${_conf##*/}"
- done
-
- # edk2-shell based UEFI shell
- # shellx64.efi is picked up automatically when on /
- if [[ -e "${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi" ]]; then
- install -m 0644 -- "${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi" "${isofs_dir}/shellx64.efi"
- fi
-}
-
-_make_refind_efi_dir_on_iso9660() {
- _msg_info "Preparing an /EFI directory for the ISO 9660 file system..."
- install -d -m 0755 -- "${isofs_dir}/EFI/BOOT/entries"
- install -m 0644 -- "${pacstrap_dir}/usr/share/refind/refind_x64.efi" \
- "${isofs_dir}/EFI/BOOT/BOOTx64.EFI"
-
- install -m 0644 -- "${profile}/efiboot/EFI/BOOT/refind.conf" "${isofs_dir}/EFI/BOOT/"
-
- for _conf in "${profile}/efiboot/EFI/BOOT/entries/"*".conf"; do
- sed "s|%PARABOLAISO_LABEL%|${iso_label}|g;
- s|%INSTALL_DIR%|${install_dir}|g;
- s|%ARCH%|${arch}|g" \
- "${_conf}" > "${isofs_dir}/EFI/BOOT/entries/${_conf##*/}"
- done
-
- # edk2-shell based UEFI shell
- # shellx64.efi is picked up automatically when on /
- if [[ -e "${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi" ]]; then
- install -m 0644 -- "${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi" "${isofs_dir}/shellx64.efi"
- fi
-}
-
-# Prepare kernel/initramfs on efiboot.img
+# Copy kernel and initramfs to FAT image
_make_boot_on_fat() {
_msg_info "Preparing kernel and initramfs for the FAT file system..."
mmd -i "${work_dir}/efiboot.img" \
@@ -537,33 +497,49 @@ _make_boot_on_fat() {
_msg_info "Done!"
}
-# Prepare efiboot.img::/EFI for EFI boot mode
+# Create a FAT image (efiboot.img) which will serve as the EFI system partition
+# $1: image size in bytes
+_make_efibootimg() {
+ local imgsize="0"
+
+ # Convert from bytes to KiB and round up to the next full MiB with an additional MiB for reserved sectors.
+ imgsize="$(awk 'function ceil(x){return int(x)+(x>int(x))}
+ function byte_to_kib(x){return x/1024}
+ function mib_to_kib(x){return x*1024}
+ END {print mib_to_kib(ceil((byte_to_kib($1)+1024)/1024))}' <<< "${1}"
+ )"
+ # The FAT image must be created with mkfs.fat not mformat, as some systems have issues with mformat made images:
+ # https://lists.gnu.org/archive/html/grub-devel/2019-04/msg00099.html
+ [[ -e "${work_dir}/efiboot.img" ]] && rm -f -- "${work_dir}/efiboot.img"
+ _msg_info "Creating FAT image of size: ${imgsize} KiB..."
+ mkfs.fat -C -n PARAISO_EFI "${work_dir}/efiboot.img" "${imgsize}"
+
+ # Create the default/fallback boot path in which a boot loaders will be placed later.
+ mmd -i "${work_dir}/efiboot.img" ::/EFI ::/EFI/BOOT
+}
+
+# Prepare efiboot.img::/EFI for EFI boot mode (systemd)
_make_bootmode_uefi-x64.systemd-boot.esp() {
- local efiboot_imgsize="0"
+ local efiboot_imgsize
_msg_info "Setting up systemd-boot for UEFI booting..."
- # the required image size in KiB (rounded up to the next full MiB with an additional MiB for reserved sectors)
+ # Calculate the required FAT image size in bytes
efiboot_imgsize="$(du -bc \
"${pacstrap_dir}/usr/lib/systemd/boot/efi/systemd-bootx64.efi" \
"${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi" \
"${profile}/efiboot/" \
"${pacstrap_dir}/boot/vmlinuz-"* \
"${pacstrap_dir}/boot/initramfs-"*".img" \
- 2>/dev/null | awk 'function ceil(x){return int(x)+(x>int(x))}
- function byte_to_kib(x){return x/1024}
- function mib_to_kib(x){return x*1024}
- END {print mib_to_kib(ceil((byte_to_kib($1)+1024)/1024))}'
- )"
- # The FAT image must be created with mkfs.fat not mformat, as some systems have issues with mformat made images:
- # https://lists.gnu.org/archive/html/grub-devel/2019-04/msg00099.html
- [[ -e "${work_dir}/efiboot.img" ]] && rm -f -- "${work_dir}/efiboot.img"
- _msg_info "Creating FAT image of size: ${efiboot_imgsize} KiB..."
- mkfs.fat -C -n PARAISO_EFI "${work_dir}/efiboot.img" "$efiboot_imgsize"
+ "${_available_ucodes[@]}" \
+ 2>/dev/null | awk 'END { print $1 }')"
+ # Create a FAT image for the EFI system partition
+ _make_efibootimg "$efiboot_imgsize"
- mmd -i "${work_dir}/efiboot.img" ::/EFI ::/EFI/BOOT
+ # Copy systemd-boot EFI binary to the default/fallback boot path
mcopy -i "${work_dir}/efiboot.img" \
"${pacstrap_dir}/usr/lib/systemd/boot/efi/systemd-bootx64.efi" ::/EFI/BOOT/BOOTx64.EFI
+ # Copy systemd-boot configuration files
mmd -i "${work_dir}/efiboot.img" ::/loader ::/loader/entries
mcopy -i "${work_dir}/efiboot.img" "${profile}/efiboot/loader/loader.conf" ::/loader/
for _conf in "${profile}/efiboot/loader/entries/"*".conf"; do
@@ -579,38 +555,35 @@ _make_bootmode_uefi-x64.systemd-boot.esp() {
"${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi" ::/shellx64.efi
fi
- # Copy kernel and initramfs
+ # Copy kernel and initramfs to FAT image.
+ # systemd-boot can only access files from the EFI system partition it was launched from.
_make_boot_on_fat
_msg_info "Done! systemd-boot set up for UEFI booting successfully."
}
+# Prepare efiboot.img::/EFI for EFI boot mode (rEFInd)
_make_bootmode_uefi-x64.refind.esp() {
- local efiboot_imgsize="0"
+ local efiboot_imgsize
_msg_info "Setting up rEFInd for UEFI booting..."
- # the required image size in KiB (rounded up to the next full MiB with an additional MiB for reserved sectors)
+ # Calculate the required FAT image size in bytes
efiboot_imgsize="$(du -bc \
"${pacstrap_dir}/usr/share/refind/refind_x64.efi" \
"${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi" \
"${profile}/efiboot/" \
"${pacstrap_dir}/boot/vmlinuz-"* \
"${pacstrap_dir}/boot/initramfs-"*".img" \
- 2>/dev/null | awk 'function ceil(x){return int(x)+(x>int(x))}
- function byte_to_kib(x){return x/1024}
- function mib_to_kib(x){return x*1024}
- END {print mib_to_kib(ceil((byte_to_kib($1)+1024)/1024))}'
- )"
- # The FAT image must be created with mkfs.fat not mformat, as some systems have issues with mformat made images:
- # https://lists.gnu.org/archive/html/grub-devel/2019-04/msg00099.html
- [[ -e "${work_dir}/efiboot.img" ]] && rm -f -- "${work_dir}/efiboot.img"
- _msg_info "Creating FAT image of size: ${efiboot_imgsize} KiB..."
- mkfs.fat -C -n PARAISO_EFI "${work_dir}/efiboot.img" "$efiboot_imgsize"
+ "${_available_ucodes[@]}" \
+ 2>/dev/null | awk 'END { print $1 }')"
+ # Create a FAT image for the EFI system partition
+ _make_efibootimg "$efiboot_imgsize"
- mmd -i "${work_dir}/efiboot.img" ::/EFI ::/EFI/BOOT
+ # Copy rEFInd EFI binary to the default/fallback boot path
mcopy -i "${work_dir}/efiboot.img" \
"${pacstrap_dir}/usr/share/refind/refind_x64.efi" ::/EFI/BOOT/BOOTx64.EFI
+ # Copy rEFInd configuration files
mmd -i "${work_dir}/efiboot.img" ::/EFI/BOOT/entries
mcopy -i "${work_dir}/efiboot.img" "${profile}/efiboot/EFI/BOOT/refind.conf" ::/EFI/BOOT/
for _conf in "${profile}/efiboot/EFI/BOOT/entries/"*".conf"; do
@@ -626,23 +599,81 @@ _make_bootmode_uefi-x64.refind.esp() {
"${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi" ::/shellx64.efi
fi
- # Copy kernel and initramfs
+ # Copy kernel and initramfs to FAT image.
+ # systemd-boot can only access files from the EFI system partition it was launched from.
_make_boot_on_fat
_msg_info "Done! rEFInd set up for UEFI booting successfully."
}
-# Prepare efiboot.img::/EFI for "El Torito" EFI boot mode
+# Prepare system-boot for El Torito booting
_make_bootmode_uefi-x64.systemd-boot.eltorito() {
+ # El Torito UEFI boot requires an image containing the EFI system partition.
+ # uefi-x64.systemd-boot.eltorito has the same requirements as uefi-x64.systemd-boot.esp
_run_once _make_bootmode_uefi-x64.systemd-boot.esp
- # Set up /EFI on ISO-9660 to allow preparing an installation medium by manually copying files
- _run_once _make_efi_dir_on_iso9660
+
+ # Additionally set up system-boot in ISO 9660. This allows creating a medium for the live environment by using
+ # manual partitioning and simply copying the ISO 9660 file system contents.
+ # This is not related to El Torito booting and no firmware uses these files.
+ _msg_info "Preparing an /EFI directory for the ISO 9660 file system..."
+ install -d -m 0755 -- "${isofs_dir}/EFI/BOOT"
+
+ # Copy systemd-boot EFI binary to the default/fallback boot path
+ install -m 0644 -- "${pacstrap_dir}/usr/lib/systemd/boot/efi/systemd-bootx64.efi" \
+ "${isofs_dir}/EFI/BOOT/BOOTx64.EFI"
+
+ # Copy systemd-boot configuration files
+ install -d -m 0755 -- "${isofs_dir}/loader/entries"
+ install -m 0644 -- "${profile}/efiboot/loader/loader.conf" "${isofs_dir}/loader/"
+ for _conf in "${profile}/efiboot/loader/entries/"*".conf"; do
+ sed "s|%PARABOLAISO_LABEL%|${iso_label}|g;
+ s|%INSTALL_DIR%|${install_dir}|g;
+ s|%ARCH%|${arch}|g" \
+ "${_conf}" > "${isofs_dir}/loader/entries/${_conf##*/}"
+ done
+
+ # edk2-shell based UEFI shell
+ # shellx64.efi is picked up automatically when on /
+ if [[ -e "${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi" ]]; then
+ install -m 0644 -- "${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi" "${isofs_dir}/shellx64.efi"
+ fi
+
+ _msg_info "Done!"
}
+# Prepare rEFInd for El Torito booting
_make_bootmode_uefi-x64.refind.eltorito() {
+ # El Torito UEFI boot requires an image containing the EFI system partition.
+ # uefi-x64.refind.eltorito has the same requirements as uefi-x64.refind.esp
_run_once _make_bootmode_uefi-x64.refind.esp
- # Set up /EFI on ISO-9660 to allow preparing an installation medium by manually copying files
- _run_once _make_refind_efi_dir_on_iso9660
+
+ # Additionally set up rEFInd in ISO 9660. This allows creating a medium for the live environment by using
+ # manual partitioning and simply copying the ISO 9660 file system contents.
+ # This is not related to El Torito booting and no firmware uses these files.
+ _msg_info "Preparing an /EFI directory for the ISO 9660 file system..."
+ install -d -m 0755 -- "${isofs_dir}/EFI/BOOT"
+
+ # Copy rEFInd EFI binary to the default/fallback boot path
+ install -m 0644 -- "${pacstrap_dir}/usr/share/refind/refind_x64.efi" \
+ "${isofs_dir}/EFI/BOOT/BOOTx64.EFI"
+
+ # Copy rEFInd configuration files
+ install -d -m 0755 -- "${isofs_dir}/EFI/BOOT/entries"
+ install -m 0644 -- "${profile}/efiboot/EFI/BOOT/refind.conf" "${isofs_dir}/EFI/BOOT/"
+ for _conf in "${profile}/efiboot/EFI/BOOT/entries/"*".conf"; do
+ sed "s|%PARABOLAISO_LABEL%|${iso_label}|g;
+ s|%INSTALL_DIR%|${install_dir}|g;
+ s|%ARCH%|${arch}|g" \
+ "${_conf}" > "${isofs_dir}/EFI/BOOT/entries/${_conf##*/}"
+ done
+
+ # edk2-shell based UEFI shell
+ # shellx64.efi is picked up automatically when on /
+ if [[ -e "${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi" ]]; then
+ install -m 0644 -- "${pacstrap_dir}/usr/share/edk2-shell/x64/Shell_Full.efi" "${isofs_dir}/shellx64.efi"
+ fi
+
+ _msg_info "Done!"
}
_validate_requirements_bootmode_bios.syslinux.mbr() {
@@ -684,6 +715,7 @@ _validate_requirements_bootmode_bios.syslinux.mbr() {
}
_validate_requirements_bootmode_bios.syslinux.eltorito() {
+ # bios.syslinux.eltorito has the exact same requirements as bios.syslinux.mbr
_validate_requirements_bootmode_bios.syslinux.mbr
}
@@ -896,7 +928,7 @@ _add_xorrisofs_options_bios.syslinux.eltorito() {
)
}
-# SYSLINUX MBR
+# SYSLINUX MBR (isohybrid)
_add_xorrisofs_options_bios.syslinux.mbr() {
xorrisofs_options+=(
# SYSLINUX MBR bootstrap code; does not work without "-eltorito-boot syslinux/isolinux.bin"
@@ -1483,7 +1515,7 @@ _build_buildmode_bootstrap() {
_build_buildmode_netboot() {
local run_once_mode="${buildmode}"
- _run_once _build_iso_base
+ _build_iso_base
if [[ -v cert_list ]]; then
_run_once _sign_netboot_artifacts
fi
@@ -1494,7 +1526,7 @@ _build_buildmode_netboot() {
_build_buildmode_iso() {
local image_name="${iso_name}-${iso_version}-${arch}.iso"
local run_once_mode="${buildmode}"
- _run_once _build_iso_base
+ _build_iso_base
_run_once _build_iso_image
}