added bootstrap.sh

master
Toerd@iArch 6 years ago
parent 869094dc1c
commit cedf0f823f

@ -0,0 +1,124 @@
#!/bin/bash
while getopts "p:n:d:" opt;
do case $opt in
p) PASSWD=${OPTARG} ;;
n) NAME=${OPTARG} ;;
d) DEV=${OPTARG} ;;
\?) echo "-$OPTARG is not valid" >&2 && exit ;;
esac
done
# stop on error
set -e
PASSWD=${PASSWD:="toor"}
NAME=${NAME:="archibald"}
PASSWD=${DEV:="nvme0n1"}
echo "+---------------------+"
echo "| Archlinux Bootstrap |"
echo "+---------------------+"
echo "ROOTPWD = $PASSWD"
echo "HOSTNAME = $NAME"
echo -e "DEVICE = $DEV\n"
sleep 2
timedatectl set-ntp true
gdisk <<EOF
o
y
n
+1G
ef00
n
+16G
8200
n
8304
w
y
EOF
mkfs.fat -F 32 -n P_EFI /dev/${DEV}p1
mkfs.ext4 -L P_ROOT /dev/${DEV}p3
mkswap -L P_SWAP /dev/${DEV}p2
mount -L P_ROOT /mnt # root
mkdir -p /mnt/boot
mkdir -p /mnt/home
mount -L P_EFI /mnt/boot # EFI
swapon -L P_SWAP # swap
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
grep ".de/" /etc/pacman.d/mirrorlist.bak > /etc/pacman.d/mirrorlist
pacstrap /mnt base base-devel wpa_supplicant dialog
genfstab -p /mnt > /mnt/etc/fstab
cat <<EOF > /mnt/root/bootstrap2.sh
#!/bin/bash
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
hwclock --systohc -utc
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
echo $NAME > /etc/hostname
mkinitcpio -p linux
pacman -Sy --noconfirm efibootmgr dosfstools gptfdisk
bootctl install
cat <<EEE > /boot/loader/entries/arch-uefi.conf
title Arch
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=LABEL=P_ROOT rw resume=LABEL=P_SWAP
EEE
cat <<EEE > /boot/loader/entries/arch-uefi-fallback.conf
title Arch
title Arch Linux Fallback
linux /vmlinuz-linux
initrd /initramfs-linux-fallback.img
options root=LABEL=P_ROOT rw resume=LABEL=P_SWAP
EEE
cat <<EEE > /boot/loader/loader.conf
default arch-uefi
timeout 1
EEE
pacman --noconfirm -Sy reflector
reflector --country 'Germany' --sort rate --protocol https --save /etc/pacman.d/mirrorlist
printf "${PWD}\n${PWD}\n" | passwd root
exit
EOF
chmod u+x /mnt/root/bootstrap2.sh
arch-chroot /mnt /root/bootstrap2.sh
rm /mnt/root/bootstrap2.sh && rm ./bootstrap.sh
# reboot
Loading…
Cancel
Save