install guide
very wip arch guide
set keyboard layout:
loadkeys sv-latin1
set system clock:
timedatectl set-ntp true
optional: connect to wifi if no ethernet:
nmcli d wifi connect <ssid> password <pass>
find and partition disk:
(WARNING: WILL NUKE DRIVE!!!!!!!!!)
fdisk -l fdisk /dev/<disk>
g # create efi partition table n [enter] [enter] +1G # create boot part n [enter] [enter] [enter] # create root part t 1 1 # set type of first to "EFI" t 2 23 # set type of second to "Linux Root" w # apply changes
format partitions:
mkfs.fat -F32 /dev/<disk>1 mkfs.btrfs --csum xxhash /dev/<disk>2
xxhash checksum is very fast and very much good enough for detecting accidental errors.
mount root:
no compression:
mount -o defaults,lazytime /dev/<disk>2 /mnt
lazytime stores access times in memory and only commits periodically to reduce drive wear.
light zstd compression
mount -o defaults,lazytime,compress=zstd:1 /dev/<disk>2 /mnt
simple and almost transparent compression for reducing size of smaller files.
mount boot:
mount -o defaults,noatime --mkdir /dev/<disk>1 /mnt/efi
don't need access time on the boot partition.
bootstrap base packages:
pacstrap /mnt base linux-zen linux-firmware nano networkmanager man-db man-pages texinfo openssh sudo
generate fstab from current mounts:
genfstab -U /mnt >> /mnt/etc/fstab
change root into target system:
arch-chroot /mnt
set timezone and sync hardware clock:
ln -sf /usr/share/zoneinfo/<region>/<city> /etc/localtime hwclock --systohc
open up
/etc/locale.gen
and uncommenten_US.UTF-8 UTF-8
plus any other wanted languages. then we can generate em:locale-gen
set lang variables by putting the following in
/etc/locale.conf
:LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8
set keyboard layout for cli in
/etc/vconsole.conf
:KEYMAP=sv-latin1
set hostname in
/etc/hostname
(just an example, can be almost whatever):arch
optional: set root password
passwd
open up
/etc/mkinitcpio.conf
, comment out any existing hooks and replace with the following ones instead:#HOOKS=(...) HOOKS=(systemd autodetect microcode modconf kms keyboard sd-vconsole block filesystems fsck)
enable efi instead of initramfs:
cp /etc/mkinitcpio.d/linux-zen.preset /etc/mkinitcpio.d/linux-zen.preset.bak nano /etc/mkinitcpio.d/linux-zen.preset
comment out
default_image=...
andfallback_image=...
. uncommentdefault_uki=...
andfallback_uki=...
.configure your kernel parameters in
/etc/kernel/cmdline
(very basic setup):rw zswap.enabled=0
install systemd-boot and generate boot files:
bootctl install mkinitcpio -P
enable NetworkManager on boot:
systemctl enable NetworkManager
optional: enable ssh server:
systemctl enable sshd
disable remote root login in
/etc/ssh/sshd_config
:PermitRootLogin no
optional: enable sudoers (wheel) group:
groupadd wheel EDITOR=nano visudo
uncomment
%wheel ALL=(ALL:ALL) ALL
.optional: create a user account:
if using sudo, also add sudoers group:
useradd -m -G wheel -s /bin/bash <username>
if not using sudo:
useradd -m -s /bin/bash <username>
change password:
passwd <username>
exit and reboot:
exit reboot