From fa3dc6f89e96828196ecfca60a711749af911c9c Mon Sep 17 00:00:00 2001 From: Neil Hanlon Date: Tue, 16 May 2023 13:58:54 -0400 Subject: [PATCH] Add GenericArm-Minimal image from SIG/AltArch --- Rocky-9-GenericArm-Minimal.ks | 188 ++++++++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 Rocky-9-GenericArm-Minimal.ks diff --git a/Rocky-9-GenericArm-Minimal.ks b/Rocky-9-GenericArm-Minimal.ks new file mode 100644 index 0000000..b3cd500 --- /dev/null +++ b/Rocky-9-GenericArm-Minimal.ks @@ -0,0 +1,188 @@ +# Generated by pykickstart v3.41 +#version=DEVEL +# Firewall configuration +firewall --enabled --port=22:tcp +# Keyboard layouts +# old format: keyboard us +# new format: +keyboard --vckeymap=us --xlayouts='us' +# System language +lang en_US.UTF-8 +# Network information +network --bootproto=dhcp --device=link --activate +# Shutdown after installation +shutdown +repo --name="rocky9-baseos" --baseurl=https://download.rockylinux.org/stg/rocky/9/BaseOS/aarch64/os/ +repo --name="rocky9-appstream" --baseurl=https://download.rockylinux.org/stg/rocky/9/AppStream/aarch64/os/ +repo --name="rocky9-powertools" --baseurl=https://download.rockylinux.org/stg/rocky/9/CRB/aarch64/os/ +repo --name="instKern" --baseurl=https://rockyrepos.gnulab.org/gen_aarch64_el9/ --cost=100 --install +#Root password +rootpw --lock +# SELinux configuration +selinux --enforcing +# System services +services --enabled="sshd,NetworkManager,chronyd" +# System timezone +timezone UTC --utc --nontp +# Use network installation +url --url="https://download.rockylinux.org/stg/rocky/9/BaseOS/aarch64/os/" +# System bootloader configuration +bootloader --location=mbr --driveorder="sda" +# Partition clearing information +clearpart --all --initlabel +# Disk partitioning information +part /boot/efi --asprimary --fstype="efi" --size=512 +part /boot --asprimary --fstype="ext4" --size=1024 --label=boot +part swap --asprimary --fstype="swap" --size=512 --label=swap +part / --asprimary --fstype="ext4" --size=3072 --label=rootfs + +%pre + +#End of Pre script for partitions +%end + +%post +# Mandatory README file +cat >/root/README << EOF +== Rocky Linux 9 == + +If you want to automatically resize your / partition, just type the following (as root user): +rootfs-expand + +EOF + +%end + +%post +# Setting correct yum variable to use raspberrypi kernel repo +#echo "generic" > /etc/dnf/vars/kvariant +# +# Creating rocky user and add to wheel group +/sbin/useradd -c "Rocky Linux default user" -G wheel -m -U rocky +echo "rockylinux" | passwd --stdin rocky +# Generic efi filename for VMs +mkdir -p /boot/efi/EFI/BOOT +if [ -d /boot/efi/EFI/rocky/ ] && [ -f /boot/efi/EFI/rocky/grubaa64.efi ];then + for j in grub.cfg grubenv;do + mv -f /boot/grub2/${j} /boot/efi/EFI/rocky/ + ln -s ../efi/EFI/rocky/${j} /boot/grub2/${j} + done + cp -f /boot/efi/EFI/rocky/grubaa64.efi /boot/efi/EFI/BOOT/BOOTAA64.EFI +fi + +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 + +rpm -e dracut-config-generic + +#setup dtb link by running "creating 10-devicetree.install" +if [ -x /lib/kernel/install.d/10-devicetree.install ];then + /lib/kernel/install.d/10-devicetree.install remove +fi + +### Write /etc/sysconfig/kernel +cat << EOF > /etc/sysconfig/kernel +# Written by image installer +# UPDATEDEFAULT specifies if new-kernel-pkg should make new kernels the default +UPDATEDEFAULT=yes + +# DEFAULTKERNEL specifies the default kernel package type +DEFAULTKERNEL=kernel-core +EOF +chmod 644 /etc/sysconfig/kernel + +### Write grub defaults, turn off OS probing as it is always wrong for image creation +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_DISABLE_RECOVERY="true" +GRUB_DISABLE_OS_PROBER="true" +GRUB_ENABLE_BLSCFG="false" +EOF +chmod 644 /etc/default/grub +# fixing the rpmdb +rpm --rebuilddb +# remove /boot/dtb for some rpi to boot +rm -f /boot/dtb +%end + +%post +# Remove ifcfg-link on pre generated images +rm -f /etc/sysconfig/network-scripts/ifcfg-link + +# Remove machine-id on pre generated images +rm -f /etc/machine-id +touch /etc/machine-id + +%end + +%post +cat >/usr/local/bin/rootfs-expand << EOF + +#!/bin/bash +clear +part=\$(mount |grep '^/dev.* / ' |awk '{print \$1}') +if [ -z "\$part" ];then + echo "Error detecting rootfs" + exit -1 +fi +dev=\$(echo \$part|sed 's/[0-9]*\$//g') +devlen=\${#dev} +num=\${part:\$devlen} +if [[ "\$dev" =~ ^/dev/mmcblk[0-9]*p\$ ]];then + dev=\${dev:0:-1} +fi +if [ ! -x /usr/bin/growpart ];then + echo "Please install cloud-utils-growpart (sudo yum install cloud-utils-growpart)" + exit -2 +fi +if [ ! -x /usr/sbin/resize2fs ];then + echo "Please install e2fsprogs (sudo yum install e2fsprogs)" + exit -3 +fi +echo \$part \$dev \$num + +echo "Extending partition \$num to max size ...." +growpart \$dev \$num +echo "Resizing ext4 filesystem ..." +resize2fs \$part +echo "Done." +df -h |grep \$part +EOF + +chmod +x /usr/local/bin/rootfs-expand +%end + +%packages +@core +NetworkManager-wifi +bash-completion +bcm2711-firmware +bcm2835-firmware +bcm283x-firmware +bcm283x-overlays +chrony +cloud-utils-growpart +dracut-config-generic +efibootmgr +glibc-langpack-en +grub2-common +grub2-efi-aa64 +grub2-efi-aa64-modules +grubby +kernel +kernel-core +nano +net-tools +shim-aa64 +systemd-udev +uboot-images-armv8 +uboot-tools +-dracut-config-rescue +-java-11-* + +%end