init branch r9
This commit is contained in:
commit
d076efa5cb
3
README.md
Normal file
3
README.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# README
|
||||||
|
|
||||||
|
**Kickstart syntax reference**: https://docs.fedoraproject.org/en-US/fedora/f36/install-guide/appendixes/Kickstart_Syntax_Reference/
|
5
Rocky-9-aarch64-minimal.ks
Normal file
5
Rocky-9-aarch64-minimal.ks
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
%includes includes/.rocky-9-repos.ksi
|
||||||
|
%includes includes/base-config.ksi
|
||||||
|
%includes includes/disk-layout.ksi
|
||||||
|
%includes includes/package-list.ksi
|
||||||
|
%includes includes/post-install.ksi
|
24
create-image.sh
Executable file
24
create-image.sh
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
REAL_USER=$(who am i | awk '{print $1}')
|
||||||
|
APPLIANCE_NAME="Rocky-9-aarch64-minimal"
|
||||||
|
KICKSTARTER_FILENAME="${APPLIANCE_NAME}.ks"
|
||||||
|
|
||||||
|
if [[ ${EUID} -ne 0 ]]; then
|
||||||
|
>&2 echo "ERROR: Please run this script as root"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
appliance-creator \
|
||||||
|
--config "${KICKSTARTER_FILENAME}" \
|
||||||
|
--name "${APPLIANCE_NAME}" \
|
||||||
|
--format raw \
|
||||||
|
--checksum \
|
||||||
|
--no-compress \
|
||||||
|
--outdir "${PWD}" \
|
||||||
|
--debug \
|
||||||
|
--verbose \
|
||||||
|
1> Rocky-9-aarch64-minimal.stdout.log \
|
||||||
|
2> Rocky-9-aarch64-minimal.stderr.log
|
||||||
|
|
||||||
|
chown "${REAL_USER}:${REAL_USER}" "${APPLIANCE_NAME}*"
|
17
includes/.rocky-9-repos.ksi
Normal file
17
includes/.rocky-9-repos.ksi
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# Specify where our (Rocky Linux's) "base" resides
|
||||||
|
url --url=https://download.rockylinux.org/pub/rocky/9/BaseOS/aarch64/os
|
||||||
|
|
||||||
|
# Mirrors for the default repositories
|
||||||
|
# the 'kernel-*' packages are disabled from these "default" repositories
|
||||||
|
# because we will use either the LTS kernel or the latest mainline kernel
|
||||||
|
# from the '<sig-kernel>' repo
|
||||||
|
repo --install --excludepkgs=kernel-* --name=AppStream --mirrorlist=https://mirrors.rockylinux.org/mirrorlist?repo=AppStream-9&arch=aarch64
|
||||||
|
repo --install --excludepkgs=kernel-* --name=BaseOS --mirrorlist=https://mirrors.rockylinux.org/mirrorlist?repo=BaseOS-9&arch=aarch64
|
||||||
|
repo --install --excludepkgs=kernel-* --name=CRB --mirrorlist=https://mirrors.rockylinux.org/mirrorlist?repo=CRB-9&arch=aarch64
|
||||||
|
|
||||||
|
# Enable two additional repositories
|
||||||
|
# <sig-altarch>: All SBC-specific stuff that is not "Enterprise Linux" (uboot, on-board WiFi/BT firmware and other tools)
|
||||||
|
# <sig-kernel>: Newer kernels than what RHEL ships ('kernel-ml' and 'kernel-lts-<x.yy>')
|
||||||
|
#repo --install --name=<sig-altarch> --mirrorlist=https://mirrors.rockylinux.org/mirrorlist?repo=<sig-altarch>-9&arch=aarch64
|
||||||
|
#repo --install --name=<sig-kernel> --mirrorlist=https://mirrors.rockylinux.org/mirrorlist?repo=<sig-kernel>-9&arch=aarch64
|
||||||
|
repo --name="instKern" --baseurl=https://rockyrepos.gnulab.org/gen_aarch64_el9/ --cost=100 --install
|
11
includes/base-config.ksi
Normal file
11
includes/base-config.ksi
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
keyboard us --vckeymap=us --xlayouts=us
|
||||||
|
lang en_US.UTF-8
|
||||||
|
services --enabled=chronyd,NetworkManager,sshd
|
||||||
|
#services --disabled=
|
||||||
|
skipx # disable X by default
|
||||||
|
timezone UTC
|
||||||
|
selinux --enforcing
|
||||||
|
firewall --enabled --service=sshd
|
||||||
|
network --bootproto=dhcp --onboot=on
|
||||||
|
bootloader --location=mbr --boot-drive=sda
|
||||||
|
shutdown # power-off after the installation completes
|
6
includes/disk-layout.ksi
Normal file
6
includes/disk-layout.ksi
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# Remove all partitions
|
||||||
|
clearpart --drives=sda --disklabel=rocky-linux --all
|
||||||
|
|
||||||
|
# Create partitions
|
||||||
|
part /boot/efi --asprimary --ondisk=sda --size=1024 --label=boot --fstype=efi
|
||||||
|
part / --asprimary --ondisk=sda --size=4096 --label=root --fstype=ext4
|
45
includes/package-list.ksi
Normal file
45
includes/package-list.ksi
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
%packages
|
||||||
|
|
||||||
|
# Include all packages under '@core'
|
||||||
|
@core
|
||||||
|
|
||||||
|
# Extra packages to do 'uboot -> grub -> linux'
|
||||||
|
dracut-config-generic
|
||||||
|
efibootmgr
|
||||||
|
grub2-common
|
||||||
|
grub2-efi-aa64
|
||||||
|
grub2-efi-aa64-modules
|
||||||
|
grubby
|
||||||
|
kernel
|
||||||
|
kernel-core
|
||||||
|
shim-aa64
|
||||||
|
systemd-udev
|
||||||
|
uboot-tools
|
||||||
|
|
||||||
|
|
||||||
|
# Other packages
|
||||||
|
bash-completion
|
||||||
|
chrony
|
||||||
|
cloud-utils-growpart
|
||||||
|
glibc-langpack-en
|
||||||
|
nano
|
||||||
|
net-tools
|
||||||
|
NetworkManager-wifi
|
||||||
|
tmux
|
||||||
|
|
||||||
|
# SIG/AltArch stuff
|
||||||
|
uboot-images-armv8
|
||||||
|
|
||||||
|
# Raspberry Pi firmware
|
||||||
|
bcm2711-firmware
|
||||||
|
bcm2835-firmware
|
||||||
|
bcm283x-firmware
|
||||||
|
|
||||||
|
# Raspberry Pi overlays
|
||||||
|
bcm283x-overlays
|
||||||
|
|
||||||
|
# Remove some packages
|
||||||
|
-java-11-*
|
||||||
|
-dracut-config-rescue
|
||||||
|
|
||||||
|
%end
|
38
includes/post-install.ksi
Normal file
38
includes/post-install.ksi
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
%post
|
||||||
|
|
||||||
|
# User setup
|
||||||
|
DEFAULT_USERNAME='rocky'
|
||||||
|
DEFAULT_PASSWORD='rockylinux'
|
||||||
|
DEFAULT_GROUPS='wheel'
|
||||||
|
|
||||||
|
useradd --comment "Rocky Linux" \
|
||||||
|
--uid 1000 \
|
||||||
|
--create-home \
|
||||||
|
--user-group "${DEFAULT_USERNAME}" \
|
||||||
|
--groups "${DEFAULT_GROUPS}"
|
||||||
|
|
||||||
|
echo -e "${DEFAULT_PASSWORD}\n${DEFAULT_PASSWORD}" | passwd "${DEFAULT_USERNAME}"
|
||||||
|
passwd -e "${DEFAULT_USERNAME}"
|
||||||
|
|
||||||
|
# Lock the root account
|
||||||
|
passwd -l root
|
||||||
|
|
||||||
|
# GRUB setup
|
||||||
|
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
|
||||||
|
|
||||||
|
# Rebuild the RPM database
|
||||||
|
rpm --rebuilddb
|
||||||
|
|
||||||
|
%end
|
Loading…
Reference in New Issue
Block a user