From f5cf9f60384a474d6ac47680aae207f9c922244e Mon Sep 17 00:00:00 2001 From: Skip Grube Date: Fri, 25 Jun 2021 12:00:39 -0400 Subject: [PATCH] Initial commit Enough research done to build a successful, bootable image. -Skip G. --- Rocky8_Rpi4.ks | 44 ++++++++++++++++++++++++++++ Rocky8_Rpi4/010_repos_aarch64.ksi | 6 ++++ Rocky8_Rpi4/020_common.ksi | 48 +++++++++++++++++++++++++++++++ Rocky8_Rpi4/040_packages.ksi | 8 ++++++ 4 files changed, 106 insertions(+) create mode 100644 Rocky8_Rpi4.ks create mode 100644 Rocky8_Rpi4/010_repos_aarch64.ksi create mode 100644 Rocky8_Rpi4/020_common.ksi create mode 100644 Rocky8_Rpi4/040_packages.ksi diff --git a/Rocky8_Rpi4.ks b/Rocky8_Rpi4.ks new file mode 100644 index 0000000..983cca9 --- /dev/null +++ b/Rocky8_Rpi4.ks @@ -0,0 +1,44 @@ +# Kickstart to build Rocky 8 image for Raspberry Pi 4 hardware (aarch64) +# + +# (pull from pgreco: https://github.com/psgreco/sig-core-AltArch/tree/master/image_build + + +# Basic setup information +%include "Rocky8_Rpi4/010_repos_aarch64.ksi" +%include "Rocky8_Rpi4/020_common.ksi" +%include "Rocky8_Rpi4/040_packages.ksi" + +#%include "../ks.include/common.ksi" +#%include "../ks.include/RaspberryPI.ksi" +#%include "../ks.include/wifi.ksi" +#%include "../ks.include/pkgs_common_7.ksi" +#%include "../ks.include/pkgs_exclude_7.ksi" + +# Repositories to use +#repo --name="instKern" --baseurl=http://mirror.centos.org/altarch/7/kernel/armhfp/kernel-rpi2/ --cost=100 + + +# Disk setup +clearpart --initlabel --all +part /boot --asprimary --fstype=vfat --size=300 --label=boot +part swap --asprimary --fstype=swap --size=512 --label=swap +part / --asprimary --fstype=ext4 --size=2800 --label=rootfs + +# Package setup +%packages +#raspberrypi-vc-utils +raspberrypi2-firmware +raspberrypi2-kernel4 + +%end + +%post +# Generating initrd +#export kvr=$(rpm -q --queryformat '%{version}-%{release}' $(rpm -q raspberrypi2-kernel4|tail -n 1)) +#dracut --force /boot/initramfs-$kvr.armv7hl.img $kvr.armv7hl + +# Ensure no ssh keys are present +rm -f /etc/ssh/*_key* + +%end diff --git a/Rocky8_Rpi4/010_repos_aarch64.ksi b/Rocky8_Rpi4/010_repos_aarch64.ksi new file mode 100644 index 0000000..0c612aa --- /dev/null +++ b/Rocky8_Rpi4/010_repos_aarch64.ksi @@ -0,0 +1,6 @@ +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="Rpi-Kernel" --baseurl=https://rocky.lowend.ninja/RockyRpi/Rpi-Kernel/ --cost=20 diff --git a/Rocky8_Rpi4/020_common.ksi b/Rocky8_Rpi4/020_common.ksi new file mode 100644 index 0000000..fe3b971 --- /dev/null +++ b/Rocky8_Rpi4/020_common.ksi @@ -0,0 +1,48 @@ +install +keyboard us --xlayouts=us --vckeymap=us +rootpw --plaintext rocky +timezone --isUtc --nontp UTC +selinux --enforcing +firewall --enabled --port=22:tcp +network --bootproto=dhcp --device=link --activate --onboot=on +services --enabled=sshd,NetworkManager,chronyd +shutdown +bootloader --location=mbr --extlinux +lang en_US.UTF-8 + +%post +# Mandatory README file +cat >/root/README << EOF +== Rocky 8 Raspberry Pi Image (experimental) == + +This is a minimal Rocky 8 install intended for Raspberry Pi 4 devices (architecture is aarch64). + +It should work similarly to any other aarch64 device. There is a special repository added that contains +raspberry pi specific kernel builds. + +If you want to automatically resize your / partition, just type the following (as root user): +rootfs-expand + +EOF + +# Enabling chronyd on boot +systemctl enable chronyd + + +# 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 + + +# Specific cmdline.txt files needed for raspberrypi2/3/4 +cat > /boot/cmdline.txt << EOF +console=ttyAMA0,115200 console=tty1 root=LABEL=rootfs rootfstype=ext4 elevator=deadline rootwait +EOF + + + + +%end diff --git a/Rocky8_Rpi4/040_packages.ksi b/Rocky8_Rpi4/040_packages.ksi new file mode 100644 index 0000000..fbbb6a9 --- /dev/null +++ b/Rocky8_Rpi4/040_packages.ksi @@ -0,0 +1,8 @@ +%packages +@core +chrony +cloud-utils-growpart +net-tools +NetworkManager-wifi + +%end