Skip to content

Instantly share code, notes, and snippets.

@substring
Last active August 20, 2022 12:57
Show Gist options
  • Save substring/007829a4e252a9eff41976c44aaf3e32 to your computer and use it in GitHub Desktop.
Save substring/007829a4e252a9eff41976c44aaf3e32 to your computer and use it in GitHub Desktop.
Lazy Arch Linux UEFI install
ls /sys/firmware/efi/efivars
timedatectl set-ntp true
disk=/dev/sda
wipefs --all --force $disk
sgdisk $disk -o > /dev/null
sgdisk $disk -n 1::+512MiB -t 1:EF00
sgdisk $disk -n 2::+2GiB -t 2:8200
sgdisk $disk -n 3 -t 3:8304
mkfs.ext4 /dev/sda3
mkfs.fat -F 32 /dev/sda1
mount /dev/sda3 /mnt
mount --mkdir /dev/sda1 /mnt/boot
swapon /dev/sda2
sed -i 's+#ParallelDownloads = .*+ParallelDownloads = 5+' /etc/pacman.conf
pacman -Sy --noconfirm archlinux-keyring
#pacman-key --populate archlinux
#pacman-key --refresh-keys
pacstrap /mnt base linux linux-firmware
genfstab -U /mnt >> /mnt/etc/fstab
cp /etc/systemd/network/20-ethernet.network /mnt/etc/systemd/network/20-ethernet.network
arch-chroot /mnt
sed -i 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.conf
echo "LANG=en_US.UTF-8" > /etc/locale.conf
locale-gen
echo 'root:pass' | chpasswd
mkinitcpio -P
pacman -S --noconfirm syslinux efibootmgr dosfstools openssh vi
sed -i "s+#PermitRootLogin .*+PermitRootLogin yes+" /etc/ssh/sshd_config
systemctl enable systemd-networkd
systemctl start systemd-networkd
systemctl enable systemd-resolved
systemctl start systemd-resolved
systemctl enable sshd
systemctl start sshd
mkdir -p /boot/EFI/syslinux
cp -r /usr/lib/syslinux/efi64/* /boot/EFI/syslinux
efibootmgr --create --disk /dev/sda --part 1 --loader /EFI/syslinux/syslinux.efi --label "Syslinux" --verbose
cat <<EOF > /boot/EFI/syslinux/syslinux.cfg
PROMPT 1
TIMEOUT 50
DEFAULT arch
LABEL arch
LINUX ../../vmlinuz-linux
APPEND root=/dev/sda3 rw
INITRD ../../initramfs-linux.img
EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment