2023-10-05 11:58:10 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
set -euxo pipefail
|
2024-07-02 10:01:58 +00:00
|
|
|
|
2025-04-14 13:49:36 +00:00
|
|
|
/usr/libexec/setup-etc-subvol
|
|
|
|
|
|
2024-07-02 10:01:58 +00:00
|
|
|
echo "####### BOOTLOADER INSTALL (disk.sh)"
|
|
|
|
|
|
2025-02-21 13:39:55 +00:00
|
|
|
if [ -x /usr/bin/sdbootutil ]; then
|
|
|
|
|
arch="$(uname -m)"
|
|
|
|
|
case "$arch" in
|
|
|
|
|
aarch64) arch=aa64 ;;
|
2025-07-29 15:14:56 +00:00
|
|
|
riscv64) arch=riscv64 ;;
|
2025-02-21 13:39:55 +00:00
|
|
|
x86_64) arch=x64 ;;
|
|
|
|
|
*) echo "Unknown arch $arch"; exit 1 ;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
echo "install boot loader"
|
|
|
|
|
loader_type="grub2-bls"
|
2025-06-02 10:34:55 +00:00
|
|
|
secure_boot="no"
|
2025-02-21 13:39:55 +00:00
|
|
|
rpm -q systemd-boot && loader_type="systemd-boot"
|
2025-06-02 10:34:55 +00:00
|
|
|
rpm -q shim && secure_boot="yes"
|
2025-04-03 07:24:51 +00:00
|
|
|
if [ -s /etc/sysconfig/bootloader ]; then
|
2025-02-21 13:39:55 +00:00
|
|
|
sed -i "s/^LOADER_TYPE=.*$/LOADER_TYPE=\"$loader_type\"/g" /etc/sysconfig/bootloader
|
2025-06-02 10:34:55 +00:00
|
|
|
sed -i "s/^SECURE_BOOT=.*$/SECURE_BOOT=\"$secure_boot\"/g" /etc/sysconfig/bootloader
|
2025-02-21 13:39:55 +00:00
|
|
|
else
|
2025-06-02 10:34:55 +00:00
|
|
|
echo "LOADER_TYPE=\"${loader_type}\"" >> /etc/sysconfig/bootloader
|
|
|
|
|
echo "SECURE_BOOT=\"${secure_boot}\"" >> /etc/sysconfig/bootloader
|
2025-02-21 13:39:55 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
sdbootutil -v --no-random-seed --arch "$arch" --esp-path /boot/efi --entry-token=auto --no-variables install
|
|
|
|
|
|
|
|
|
|
echo "add kernels"
|
|
|
|
|
export hostonly_l=no # for dracut
|
|
|
|
|
sdbootutil -v --arch "$arch" --esp-path /boot/efi --entry-token=auto add-all-kernels
|
|
|
|
|
# Set a 5s timeout, the "hold a key down" method doesn't work effectively.
|
2025-04-03 07:24:51 +00:00
|
|
|
sdbootutil -v --arch "$arch" --esp-path /boot/efi set-timeout 5
|
2025-02-21 13:39:55 +00:00
|
|
|
|
|
|
|
|
rm -f /boot/mbrid
|
|
|
|
|
|
|
|
|
|
find /boot
|
2024-07-02 10:01:58 +00:00
|
|
|
fi
|
|
|
|
|
|
2025-02-21 13:39:55 +00:00
|
|
|
echo "####### END BOOTLOADER INSTALL (disk.sh)"
|