fix bugs
This commit is contained in:
parent
710aa1d5f9
commit
4782da078d
124
arch-install.sh
124
arch-install.sh
@ -1,124 +0,0 @@
|
||||
|
||||
HOSTNAME="CoolhavenPC"
|
||||
DISK="/dev/sda"
|
||||
|
||||
function run(){
|
||||
echo "[ ] $1"
|
||||
echo "# $1" >>install.log
|
||||
echo "> $2" >>install.log
|
||||
bash -c "$2" &>>install.log \
|
||||
&& echo -e "\e[1A\e[K[ \e[32mOK\e[0m ] $1" \
|
||||
|| {
|
||||
echo -e "\e[1A\e[K[\e[31mFAIL\e[0m] $1"
|
||||
bash -c "$3"
|
||||
exit
|
||||
}
|
||||
echo >>install.log
|
||||
}
|
||||
|
||||
echo "" >install.log
|
||||
|
||||
|
||||
# === setup networking
|
||||
|
||||
# ENDEV=enp1s1
|
||||
# IP=1.2.3.4/24
|
||||
# GATEWAY=1.2.3.1
|
||||
|
||||
# ip addr add $IP dev $ENDEV
|
||||
# ip route add default via $GATEWAY dev $ENDEV
|
||||
# echo "nameserver $GATEWAY" >>/dev/resolve.conf
|
||||
|
||||
echo
|
||||
echo === setup localisation
|
||||
echo
|
||||
|
||||
run "enable ntp" "timedatectl set-ntp true"
|
||||
run "set timezone" "timedatectl set-timezone Europe/Amsterdam"
|
||||
|
||||
echo
|
||||
echo === install git and get this gist
|
||||
echo
|
||||
|
||||
# pacman -Sy
|
||||
# pacman -S git
|
||||
# git clone https://github.com/MReenen/arch-instalation.git
|
||||
# cd arch-instalation
|
||||
|
||||
echo === setup partitions
|
||||
|
||||
# fdisk $DISK
|
||||
# g
|
||||
# n # boot partition
|
||||
# 1
|
||||
# [default]
|
||||
# +512M
|
||||
# n # SWAP partition
|
||||
# 2
|
||||
# [default]
|
||||
# +4G
|
||||
# n # recovery partition
|
||||
# 3
|
||||
# [default]
|
||||
# +4G
|
||||
# n # system partition
|
||||
# 10
|
||||
# [default]
|
||||
# [default]
|
||||
# w
|
||||
|
||||
echo
|
||||
echo === format partitions
|
||||
echo
|
||||
|
||||
echo -n "disk encryption password: "
|
||||
read -s PASS
|
||||
echo
|
||||
echo -n "retype password: "
|
||||
read -s PASSRE
|
||||
echo
|
||||
|
||||
if [ "$PASS" != "$PASSRE" ]; then
|
||||
echo "password do not match"
|
||||
exit
|
||||
fi
|
||||
echo
|
||||
|
||||
run "format boot partition" "mkfs.fat ${DISK}1"
|
||||
run "format swap partition" "mkswap ${DISK}2"
|
||||
echo -n "$PASS" >keyfile.luks
|
||||
run "encrypt root partition" "cryptsetup luksFormat --batch-mode --key-file keyfile.luks ${DISK}10" "rm keyfile.luks"
|
||||
run "map root partitaion" "cryptsetup open --batch-mode --key-file keyfile.luks ${DISK}10 cryptroot" "rm keyfile.luks"
|
||||
rm keyfile.luks
|
||||
run "format root partition" "mkfs.btrfs /dev/mapper/cryptroot"
|
||||
|
||||
echo
|
||||
echo === mount all partitions
|
||||
echo
|
||||
|
||||
run "mount root partition" "mount /dev/mapper/cryptroot /mnt"
|
||||
run "create root btrfs subvolume" "btrfs subvolume create /mnt/@"
|
||||
run "create home btrfs subvolume" "btrfs subvolume create /mnt/@home"
|
||||
run "unmount btrfs" "umount /mnt"
|
||||
run "mount root subvolume" "mount -o subvol=@ /dev/mapper/cryptroot /mnt"
|
||||
run "make root directorys" "mkdir -p /mnt/boot /mnt/home"
|
||||
run "mount boot partition" "mount ${DISK}1 /mnt/boot"
|
||||
run "mount home subvolume" "mount -o subvol=@home /dev/mapper/cryptroot /mnt/home"
|
||||
run "enable swap" "swapon ${DISK}2"
|
||||
|
||||
echo
|
||||
echo === install arch
|
||||
echo
|
||||
|
||||
run "install base of arch" "pacstrap /mnt base linux linux-firmware grub efibootmgr"
|
||||
run "intall utitlities" "pacstrap /mnt btrfs-progs man vim"
|
||||
|
||||
echo "generate fstab"
|
||||
genfstab -U /mnt >>/mnt/etc/fstab
|
||||
run "copy in-root script" "cp in-root.sh /mnt/root"
|
||||
|
||||
echo
|
||||
echo === chroot config
|
||||
echo
|
||||
|
||||
arch-chroot /mnt bash /root/in-root.sh "$HOSTNAME" "$DISK"
|
||||
@ -2,10 +2,8 @@ Host broodje.freenen.nl
|
||||
Port 1675
|
||||
Host home.freenen.nl
|
||||
Port 2653
|
||||
Host git.finnvanreenen.nl
|
||||
Port 1234
|
||||
IdentityFile ~/.ssh/id_rsa
|
||||
IdentitiesOnly yes
|
||||
Host gitea.finnvanreenen.nl
|
||||
Port 22
|
||||
|
||||
host *
|
||||
Port 22
|
||||
|
||||
@ -4,7 +4,7 @@ UEFI_DISK="/dev/nvme0n1"
|
||||
DISK="/dev/nvme0n1"
|
||||
USERNAME="freenen"
|
||||
|
||||
SFDISK_FILE="./elfDesktop.sfdisk"
|
||||
SFDISK_FILE="./configs/elfDesktop.sfdisk"
|
||||
UEFI_PARTITION="${UEFI_DISK}p1"
|
||||
SWAP_PARTITION="${DISK}p2"
|
||||
ROOT_PARTITION="${DISK}p3"
|
||||
|
||||
@ -4,7 +4,7 @@ UEFI_DISK="/dev/sdb"
|
||||
DISK="/dev/sdb"
|
||||
USERNAME="freenen"
|
||||
|
||||
SFDISK_FILE="./elfLaptop.sfdisk"
|
||||
SFDISK_FILE="./configs/elfLaptop.sfdisk"
|
||||
UEFI_PARTITION="${UEFI_DISK}1"
|
||||
SWAP_PARTITION="${DISK}2"
|
||||
ROOT_PARTITION="${DISK}3"
|
||||
|
||||
@ -78,10 +78,10 @@ rm keyfile.luks
|
||||
run "format root partition" "mkfs.btrfs /dev/mapper/cryptelfroot"
|
||||
|
||||
run "mount root partition" "mount /dev/mapper/cryptelfroot /mnt"
|
||||
run "create root btrfs subvolume" "btrfs subvolume create /mnt/@"
|
||||
run "create root btrfs subvolume" "btrfs subvolume create /mnt/@elfRoot"
|
||||
run "create home btrfs subvolume" "btrfs subvolume create /mnt/@home"
|
||||
run "unmount btrfs" "umount /mnt"
|
||||
run "mount root subvolume" "mount -o subvol=@ /dev/mapper/cryptelfroot /mnt"
|
||||
run "mount root subvolume" "mount -o subvol=@elfRoot /dev/mapper/cryptelfroot /mnt"
|
||||
run "mount boot partition" "mount --mkdir ${UEFI_PARTITION} /mnt/boot"
|
||||
run "mount home subvolume" "mount --mkdir -o subvol=@home /dev/mapper/cryptelfroot /mnt/home"
|
||||
run "enable swap" "swapon ${SWAP_PARTITION}"
|
||||
@ -125,14 +125,14 @@ run-chroot "create boot config for main" "cat >/boot/loader/entries/arch.conf <<
|
||||
title E.L.F. OS
|
||||
linux /vmlinuz-linux
|
||||
initrd /initramfs-linux.img
|
||||
options cryptdevice=UUID=$DISKUUID:cryptelfroot:allow-discards root=/dev/mapper/cryptelfroot rootflags=subvol=@ rd.luks.options=discard rw
|
||||
options cryptdevice=UUID=$DISKUUID:cryptelfroot:allow-discards root=/dev/mapper/cryptelfroot rootflags=subvol=@elfRoot rd.luks.options=discard rw
|
||||
EOF
|
||||
"
|
||||
run-chroot "create boot config fallback" "cat >/boot/loader/entries/arch-fallback.conf <<EOF
|
||||
title E.L.F. OS fallback
|
||||
linux /vmlinuz-linux
|
||||
initrd /initramfs-linux-fallback.img
|
||||
options cryptdevice=UUID=$DISKUUID:cryptelfroot:allow-discards root=/dev/mapper/cryptelfroot rootflags=subvol=@ rd.luks.options=discard rw
|
||||
options cryptdevice=UUID=$DISKUUID:cryptelfroot:allow-discards root=/dev/mapper/cryptelfroot rootflags=subvol=@elfRoot rd.luks.options=discard rw
|
||||
EOF
|
||||
"
|
||||
run-chroot "create main boot config" "cat >/boot/loader/loader.conf <<EOF
|
||||
|
||||
@ -28,12 +28,15 @@ echo
|
||||
echo === install tools
|
||||
echo
|
||||
|
||||
#run root "start NetworkManager" "NetworkManager"
|
||||
run root "enable NetworkMaanger" "systemctl enable NetworkManager.service"
|
||||
run root "start NetworkMaanger" "systemctl start NetworkManager.service"
|
||||
run root "wait for network" "while [[ 1 ]] ; do ping -c1 1.1.1.1 && break ; done"
|
||||
run root "install base tools" "pacman -Sy --noconfirm \
|
||||
usbutils dosfstools exfat-utils net-tools nmap \
|
||||
usbutils dosfstools exfat-utils net-tools nmap libfido2 \
|
||||
base-devel vim curl ncdu neofetch btop git flatpak"
|
||||
run root "install dev tools" "pacman -S --noconfirm ansible python3 gcc make cmake" # clangd
|
||||
run root "install gnome" "pacman -S --noconfirm gnome"
|
||||
run root "enable gnome" "systemctl enable gdm.service"
|
||||
run root "install distrobox" "pacman -S --noconfirm docker distrobox"
|
||||
run root "add $USERNAME to docker group" "usermod -aG docker $USERNAME"
|
||||
|
||||
@ -43,12 +46,12 @@ run root "create home dirs" "sudo -u $USERNAME mkdir -p \
|
||||
/home/$USERNAME/projects \
|
||||
/home/$USERNAME/.local/share/flatpak/overrides/"
|
||||
# run ubuntu "create python env" "python3 -m venv /home/$USERNAME/.local/python-env"
|
||||
run root "copy ssh config" "cp $SCRIPT_DIR/configs/sshConfig /home/$USERNAME/.ssh/config"
|
||||
run root "copy git config" "cp $SCRIPT_DIR/configs/gitconfig /home/$USERNAME/.gitconfig"
|
||||
run root "copy vim config" "cp $SCRIPT_DIR/configs/vimrc /home/$USERNAME/.vimrc"
|
||||
run root "copy vim config" "cp $SCRIPT_DIR/configs/auto_clone.sh /home/$USERNAME/projects/auto_clone.sh"
|
||||
run root "copy ssh config" "sudo -u $USERNAME cp $SCRIPT_DIR/configs/sshConfig /home/$USERNAME/.ssh/config"
|
||||
run root "copy git config" "sudo -u $USERNAME cp $SCRIPT_DIR/configs/gitconfig /home/$USERNAME/.gitconfig"
|
||||
run root "copy vim config" "sudo -u $USERNAME cp $SCRIPT_DIR/configs/vimrc /home/$USERNAME/.vimrc"
|
||||
run root "copy vim config" "sudo -u $USERNAME cp $SCRIPT_DIR/configs/auto_clone.sh /home/$USERNAME/projects/auto_clone.sh"
|
||||
run root "update polkit" "sed --in-place -e 's/wheel/admin/g' /usr/share/polkit-1/rules.d/50-default.rules"
|
||||
#run root "update fail lock" "sed --in-place -e 's/^deny = .*$/deny = 10/' -e 's/^unlock_time = .*$/unlock_time = 60/'"
|
||||
run root "update fail lock" "sed --in-place -e 's/^deny = .*$/deny = 10/' -e 's/^unlock_time = .*$/unlock_time = 60/' /etc/security/faillock.conf"
|
||||
|
||||
echo
|
||||
echo === setup blutooth
|
||||
@ -103,7 +106,9 @@ run root "vscodium: clone from AUR" "sudo -u $USERNAME git clone https://au
|
||||
run root "vscodium: build backage" "cd /tmp/vscodium-bin/ && sudo -u $USERNAME makepkg"
|
||||
run root "vscodium: install" 'cd /tmp/vscodium-bin/ && pacman -U --noconfirm $(ls /tmp/vscodium-bin/vscodium-bin-*.pkg.tar.zst)'
|
||||
|
||||
run root "vscodium: add extentions" "sudo -u $USERNAME codium --install-extension lvm-vs-code-extensions.vscode-clangd mhutchie.git-graph twxs.cmake"
|
||||
run root "vscodium: add extention: clangd" "sudo -u $USERNAME codium --install-extension llvm-vs-code-extensions.vscode-clangd"
|
||||
run root "vscodium: add extention: git-graph" "sudo -u $USERNAME codium --install-extension mhutchie.git-graph"
|
||||
run root "vscodium: add extention: cmake" "sudo -u $USERNAME codium --install-extension twxs.cmake"
|
||||
# run root "install theros deps" "/home/$USERNAME/.local/python-env/bin/python3 -m pip teroshdl"
|
||||
# run root "vscodium: add theros" "codium --install-extension teros-technology.teroshdl"
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user