Skip to content

ArchLinux Installation

Base installation

loadkeys de
ls /sys/firmware/efi/efivars
timedatectl set-ntp true

genfstab -L -p /mnt | egrep -v "^(zroot|$)" > /mnt/etc/fstab
echo -e '[archzfs]\nSigLevel = Optional TrustAll\nServer   = http://archzfs.com/$repo/x86_64' >> /etc/pacman.conf
cp /etc/pacman.conf /mnt/etc/pacman.conf
pacman-key --init
pacman-key --populate archlinux

pacstrap /mnt base base-devel linux linux-lts linux-headers linux-lts-headers linux-firmware intel-ucode amd-ucode
pacstrap /mnt grub os-prober efibootmgr lvm2 zfs-dkms zfs-utils mkinitcpio mkinitcpio-netconf mkinitcpio-tinyssh
pacstrap /mnt wayland xorg acpid avahi cups cronie systemd-sysvcompat dhclient bash-completion vim python
pacstrap /mnt zsh tilix acpid avahi cups cronie systemd-sysvcompat dhclient lightdm-gtk-greeter lightdm
pacstrap /mnt cinnamon cinnamon-control-center cinnamon-desktop cinnamon-menus cinnamon-screensaver cinnamon-session cinnamon-settings-daemon cinnamon-translations cjs muffin nemo

Chroot

Basic Settings

arch-chroot /mnt
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
hwclock --systohc
echo -e 'LC_ALL=en_US.UTF-8\nLANG=en_US.UTF-8' >> /etc/locale.conf
echo -e 'de_DE.UTF-8 UTF-8\nen_US.UTF-8 UTF-8' >> /etc/locale.gen
locale-gen
echo 'KEYMAP=de-latin1' > /etc/vconsole.conf
echo archlinux > /etc/hostname
echo -e '127.0.0.1\tlocalhost\n::1\tlocalhost\n127.0.1.1\tarchlinux.home.jd archlinux' >> /etc/hosts

mkinitcpio Settings

echo 'ssh-ed25519 <PUBKEY>' > /etc/tinyssh/root_key
vim /etc/mkinitcpio.conf
# HOOKS="base udev autodetect modconf block keyboard keymap netconf tinyssh zfsencryptssh zfs filesystems"
mkinitcpio -P

Grub Settings

vim /etc/default/grub
# GRUB_CMDLINE_LINUX_DEFAULT="zfs=zroot/ROOT/arch ip=:::::eth0:dhcp loglevel=3 quiet"

mkdir /boot/grub
ZPOOL_VDEV_NAME_PATH=1 grub-mkconfig -o /boot/grub/grub.cfg
ZPOOL_VDEV_NAME_PATH=1 grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

User Settings

passwd
useradd -m -s /bin/bash -G dbus,wheel -u 24740 -U jgebhardt
passwd jgebhardt

Last update: August 29, 2021