diff --git a/includes/post-install.ksi b/includes/post-install.ksi index 7681730..744b0b2 100644 --- a/includes/post-install.ksi +++ b/includes/post-install.ksi @@ -17,19 +17,61 @@ passwd -e "${DEFAULT_USERNAME}" # Lock the root account passwd -l root +# U-Boot binaries for 32-bit and 64-bit Raspberry Pi models +# (these are loaded by /boot/efi/config.txt) +cp -f /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin +cp -f /usr/share/uboot/rpi_4/u-boot.bin /boot/efi/rpi4-u-boot.bin + +# Remove the 'dracut-config-generic' package if found installed +dnf list installed | grep 'dracut-config-generic' > /dev/null && \ + rpm -e dracut-config-generic + +# TODO: Add a comment to show what this is doing +if [ -x /lib/kernel/install.d/10-devicetree.install ]; then + /lib/kernel/install.d/10-devicetree.install remove +fi + +# remove '/boot/dtb' because the kernel should use '/boot/dtb' +if [ -d /boot/dtb ]; then + rm -rf /boot/dtb +fi + +# Kernel selection at boot +cat << EOF > /etc/sysconfig/kernel +# This file was generated by the Kickstart repository used to create this disk image +# PLEASE DO NOT MODIFY THIS UNLESS EITHER +# 1. You know what you are doing +# 2. You are told to modify this file by a Rocky Linux support member + +# The 'UPDATEDEFAULT' option makes a newly installed kernel as the default in the boot entry selection +UPDATEDEFAULT=yes + +# The 'DEFAULTKERNEL' options specifies what package type will be used as the default +DEFAULTKERNEL=kernel-core +EOF +chmod 644 /etc/sysconfig/kernel + # GRUB setup +if [ -d /boot/efi/EFI/rocky ] && [ -f /boot/efi/EFI/rocky/grubaa64.efi ]; then + mv -f /boot/grub2/grub.cfg /boot/efi/EFI/rocky/grub.cfg + ln -s ../efi/EFI/rocky/grub.cfg /boot/grub2/grub.cfg + + [ -d /boot/efi/EFI/BOOT ] || mkdir -p /boot/efi/EFI/BOOT + cp -f /boot/efi/EFI/rocky/grubaa64.efi /boot/efi/EFI/BOOT/BOOTAA64.EFI +fi + +# Write GRUB defaults cat << EOF > /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true -GRUB_TERMINAL_OUTPUT="console" -GRUB_CMDLINE_LINUX="" +GRUB_TERMINAL_OUTPUT="console serial" +GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200" GRUB_DISABLE_RECOVERY="true" GRUB_DISABLE_OS_PROBER="true" GRUB_ENABLE_BLSCFG="false" EOF - chmod 644 /etc/default/grub # Rebuild the RPM database