Dotfiles/setup/live-install.sh

151 lines
3.5 KiB
Bash
Executable File

#!/bin/bash
echo "testing uplink..."
ping -c4 8.8.8.8 || (echo "!!!ERROR NO UPLINK - ABORTING!!!" && exit)
echo "Starting base Installer..."
echo "is the clock correct? - if not abort with CTRL+C"
timedatectl
timedatecheckwaitercount=0
echo "sleeping for 20s"
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
#this is hard coded for assurance that the wait wont be skipped
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo $timedatecheckwaitercount
sleep 1s
let "timedatecheckwaitercount=timedatecheckwaitercount+1"
echo "Continuing..."
#autoformat.sh
mkfs.fat "$blockdev"p1
mkswap "$blockdev"p2
mkfs.btrfs "$blockdev"p3
mount "$blockdev"p3 /mnt/
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home
mkdir /mnt/@/efi
umount /mnt
mount -o compress=zstd,subvol=@ "$blockdev"p3 /mnt
mkdir -p /mnt/home
mount -o compress=zstd,subvol=@home "$blockdev"p3 /mnt/home
mount "$blockdev"p1 /mnt/efi
swapon "$blockdev"p2
# pacstrap -K /mnt base linux linux-firmware
pacstrap -K /mnt base base-devel linux linux-firmware git btrfs-progs grub efibootmgr grub-btrfs inotify-tools timeshift vim networkmanager pipewire pipewire-alsa pipewire-pulse pipewire-jack wireplumber reflector zsh zsh-completions zsh-autosuggestions openssh man sudo
# Fetch the disk mounting points as they are now ( we mounted everything before ) and generate instructions to let the system know how to mount the various disks automatically
genfstab -U /mnt >> /mnt/etc/fstab
# Check if fstab is fine ( it is if you've faithfully followed the previous steps )
cat /mnt/etc/fstab
cp ~/Dotfiles/setup/chroot-install.sh /mnt/
arch-chroot /mnt
umount -R /mnt
reboot