feat: Kernel selection
This commit is contained in:
parent
c247962743
commit
8b4a6d73f0
23
bootstrap.sh
23
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 <<EOF > /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 <<EEE > /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 <<EEE > /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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user