Skip to content

motelnine/ws-deploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arch Deployment Scripts

Wifi

Start iwctl

#> iwctl

List devices

[iwd]# device list

Put device in scanning mode

[iwd]# station wlan0 scan

In scanning mode get networks

[iwd]# station wlan0 get-networks

Connect to network

[iwd]# station wlan0 connect networkname

Create and format Partitions

cfdisk /dev/nvme0n1
cryptsetup -y -v luksFormat /dev/nvme0n1p2
cryptsetup open /dev/nvme0n1p2 root
mkfs.fat -F32 /dev/nvme0n1p1
mkfs.ext4 /dev/mapper/root

Mount partitions

mount /dev/mapper/root /mnt
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot

Install Arch

Refresh pacman keyring (optional)

pacman -Sy
pacman -S archlinux-keyring
pacstrap /mnt base base-devel linux linux-firmware vim sudo git networkmanager grub efibootmgr

Generate fstab

genfstab -U /mnt >> /mnt/etc/fstab

Configure Arch

Switch to Arch installation

arch-chroot /mnt

Set time / locale

ln -sf /usr/share/zoneinfo/America/Phoenix /etc/localtime
hwclock --systohc

uncomment "en_US.UTF-8 UTF-8"

vim /etc/locale.gen
locale-gen
echo 'LANG=en_US.UTF-8' > /etc/locale.conf

Set hostname

echo 'arch' > /etc/hostname

Add to /etc/hosts

127.0.0.1     localhost
::1           localhost
127.0.1.1     arch.localdomain        arch

Set root password

passwd

Create user

useradd matthew
passwd matthew
mkdir /home/matthew && chown -R matthew:matthew /home/matthew

Grant root to user (optional)

visudo
vim /etc/group

Locate “HOOKS” and add “encrypt” between “block” and “filesystems”

vim /etc/mkinitcpio.conf
mkinitcpio -P

GRUB

Install boot os-prober (optional)

pacman -S os-prober
vim /etc/default/grub

Set GRUB_CMDLINE_LINUX variable (e.g.)

GRUB_CMDLINE_LINUX=”cryptdevice=/dev/nvme0n1p2:root”

For NVIDIA/Intel add “ibt=off" before quiet to disable Indirect Branch Tracking

GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 ibt=off quiet"

Uncomment GRUB_DISABLE_OS_PROBER (optional)

Install GRUB

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

Make GRUB config

grub-mkconfig -o /boot/grub/grub.cfg

Final Config

systemctl enable NetworkManager

Enable multiplib

vim /etc/pacman.conf
pacman -Sy

NVIDIA

sudo pacman -S nvidia nvidia-utils nvidia-settings lib32-nvidia-utils

About

Workstation deployment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages