diff --git a/Rocky8_Rpi.ks b/Rocky8_Rpi.ks index 2c0eb3f..9d824f5 100644 --- a/Rocky8_Rpi.ks +++ b/Rocky8_Rpi.ks @@ -1,7 +1,30 @@ # Kickstart to build Rocky 8 image for Raspberry Pi 4 hardware (aarch64) # +# (many parts liberally grabbed from pgreco: https://github.com/psgreco/sig-core-AltArch/tree/master/image_build ) +# + + + +# Here is how to build this kickstart Raspberry Pi image, inside a clean mock chroot environment with livemedia-creator: +# (it is very similar to how the other kickstarts are built, but aarch64 must be used, and the livemedia appliance option) +# +# +# Set up mock env, and get a shell inside the chroot: +# +# mock -r rocky-8-aarch64 --init +# mock -r rocky-8-aarch64 --install lorax-lmc-novirt vim pykickstart git +# sudo setenforce 0 +# mock -r rocky-8-aarch64 --shell --isolation=simple --enable-network +# +# Inside the shell: +# git clone https://github.com/rocky-linux/kickstarts +# git checkout r8 +# cd kickstarts/altarch +# +# Finally, run the image creation: +# +# livemedia-creator --ks rockyrpi.ks --image-only --image-name RockyRpi --make-disk --resultdir /rockyrpi_result --no-virt -# (pull from pgreco: https://github.com/psgreco/sig-core-AltArch/tree/master/image_build # Disk setup @@ -13,11 +36,12 @@ part / --asprimary --fstype=ext4 --size=2800 --label=RPIROOT # Repos setup: +url --url http://download.rockylinux.org/pub/rocky/8/BaseOS/aarch64/os/ repo --name="BaseOS" --baseurl=http://download.rockylinux.org/pub/rocky/8/BaseOS/aarch64/os/ --cost=100 repo --name="AppStream" --baseurl=http://download.rockylinux.org/pub/rocky/8/AppStream/aarch64/os/ --cost=200 --install repo --name="PowerTools" --baseurl=http://download.rockylinux.org/pub/rocky/8/BaseOS/aarch64/os/ --cost=300 --install # Rocky Rpi kernel repo, we need a more permanent place for this: -repo --name="rockyrpi" --baseurl=https://download.rockylinux.org/pub/rocky/8/rockyrpi/aarch64/os/ --cost=20 +repo --name="rockyrpi" --baseurl=https://download.rockylinux.org/pub/sig/8/altarch/aarch64/altarch-rockyrpi/ --cost=20 repo --name="rockyextras" --baseurl=https://download.rockylinux.org/pub/rocky/8/extras/aarch64/os/ --cost=20 @@ -32,7 +56,7 @@ timezone --isUtc --nontp UTC selinux --enforcing firewall --enabled --port=22:tcp network --bootproto=dhcp --device=link --activate --onboot=on -services --enabled=sshd,NetworkManager,chronyd +services --enabled=sshd,NetworkManager,chronyd,tuned shutdown bootloader --location=none lang en_US.UTF-8 @@ -49,6 +73,7 @@ NetworkManager-wifi vim bash-completion nano +tuned rocky-release-rpi raspberrypi2-firmware @@ -92,7 +117,7 @@ The newer Pi Zero devices should be supported, as well as the Raspberry Pi 2 v. IMAGE NOTES / DIFFERENCES FROM STOCK ROCKY 8: - - Based on Rocky Linux 8.5, points to production Rocky 8 aarch64 repositories + - Based on Rocky Linux 8, points to production Rocky 8 aarch64 repositories - Has an additional repository that contains kernel packages for Raspberry Pi - Includes script that fixes the wifi. Simple edit of a txt firmware settings file. Will need to be run whenever linux-firmware gets upgraded - Includes @minimal-install , plus a few quality of life packages like vim, bash-completion, etc. @@ -143,7 +168,11 @@ rm -f /etc/machine-id touch /etc/machine-id # Ensure no ssh keys are present -rm -f /etc/ssh/*_key* +rm -f "/etc/ssh/*_key*" + + +# Setting tuned profile to powersave by default -> sets the CPU governor to "ondemand". This prevents overheating issues +echo "powersave" > /etc/tuned/active_profile # Clean yum cache @@ -175,3 +204,4 @@ UUID_SWAP=$(/bin/grep 'swap' $INSTALL_ROOT/etc/fstab | awk '{print $1}' | awk /usr/sbin/mkswap -L "_swap" -p 4096 -U "${UUID_SWAP}" /dev/disk/by-uuid/${UUID_SWAP} %end +