You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
2.1 KiB
124 lines
2.1 KiB
#!/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"}
|
|
DEV=${DEV:="nvme0n1"}
|
|
|
|
|
|
echo "+---------------------+"
|
|
echo "| Archlinux Bootstrap |"
|
|
echo "+---------------------+"
|
|
echo "ROOTPASSWD = $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 linux linux-firmware dhcpcd wpa_supplicant dialog git netctl
|
|
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 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 "${PASSWD}\n${PASSWD}\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
|