From 8b4a6d73f0bdc04ec1f895411aa6d4d96f068283 Mon Sep 17 00:00:00 2001 From: phga Date: Sat, 12 Mar 2022 14:21:21 +0100 Subject: [PATCH] feat: Kernel selection --- bootstrap.sh | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/bootstrap.sh b/bootstrap.sh index db6c4fb..cdd7fea 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -7,6 +7,7 @@ do case $opt in d) DEV=${OPTARG} ;; e) ENC=${OPTARG} ;; s) SWAP_SIZE=${OPTARG} ;; + k) KERNEL=${OPTARG} ;; \?) echo "-$OPTARG is not valid" >&2 && exit ;; esac done @@ -19,17 +20,20 @@ init() { echo "+---------------------------+" echo "" [ -z "$NAME" ] && read -p "Hostname: " NAME - while [ -z "$PASSWD" ] || [ ! "$PASSWD" = "$CHECK" ]; do + while [ -z "$PASSWD" ] || [ ! "$PASSWD" == "$CHECK" ]; do read -sp "Root password: " PASSWD echo read -sp "Repeat: " CHECK done # Show some possible disks - [ -z "$DEV" ] && lsblk -nrpo "name,size,model" && read -p "Provide installation medium (e.g. sda, nvme0n1): " DEV + [ -z "$DEV" ] && lsblk -nrpo "name,size,model" && + read -p "Provide installation medium (e.g. sda, nvme0n1): " DEV [[ "$DEV" =~ sd[a-z] ]] && SUF="1-3" && MODE="SATA" [[ "$DEV" =~ nvme[0-9]n[0-9] ]] && SUF="p1-3" && MODE="NVME" [ -z "$SWAP_SIZE" ] && read -p "Specify the size for the SWAP partition (16G, 1M, ...): " SWAP_SIZE [ -z "$ENC" ] && read -p "Do you want the root partition to be encrypted (y/n)? " ENC + [ -z "$KERNEL" ] && read -p "Which kernel? [1: linux, 2: linux-zen]" KERNEL + [ "$KERNEL" == "1" ] && KERNEL="linux" || KERNEL="linux-zen" [ "$ENC" == "y" ] && ENC=true || ENC=false echo "+---------------------+" @@ -40,8 +44,9 @@ init() { echo "DEVICEPARTS = $DEV$SUF" echo "SWAP_SIZE = $SWAP_SIZE" echo "ENCRYPTION = $ENC" + echo "KERNEL = $KERNEL" read -p "Do you want to continue with these values (y/n)? " cont - [ ! "$cont" = "y" ] && unset NAME PASSWD DEV ENC && init + [ ! "$cont" == "y" ] && unset NAME PASSWD DEV ENC SWAP_SIZE KERNEL && init echo "Let's GOOOO" } @@ -125,7 +130,7 @@ cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak sed -i '/.*\.de\/.*/!d' /etc/pacman.d/mirrorlist # for server dhcpcd and other programs are not required -> see good2know -pacstrap /mnt base base-devel linux-zen linux-firmware vi dhcpcd wpa_supplicant dialog git netctl curl +pacstrap /mnt base base-devel "$KERNEL" linux-firmware vi dhcpcd wpa_supplicant dialog git netctl curl genfstab -p /mnt > /mnt/etc/fstab cat < /mnt/root/bootstrap2.sh @@ -145,7 +150,7 @@ locale-gen echo "LANG=en_US.UTF-8" > /etc/locale.conf echo $NAME > /etc/hostname -mkinitcpio -p linux +mkinitcpio -p $KERNEL pacman -Sy --noconfirm efibootmgr dosfstools gptfdisk @@ -153,15 +158,15 @@ bootctl install # MAYBE: add intel-ucode images, check for amd cat < /boot/loader/entries/arch-uefi.conf title Arch -linux /vmlinuz-linux-zen -initrd /initramfs-linux-zen.img +linux /vmlinuz-$KERNEL +initrd /initramfs-$KERNEL.img options $KERNEL_OPTIONS EEE cat < /boot/loader/entries/arch-uefi-fallback.conf title Arch Linux Fallback -linux /vmlinuz-linux-zen -initrd /initramfs-linux-zen-fallback.img +linux /vmlinuz-$KERNEL +initrd /initramfs-$KERNEL-fallback.img options $KERNEL_OPTIONS EEE