201 lines
3.0 KiB
Markdown
201 lines
3.0 KiB
Markdown
# Arch Installation
|
|
|
|
## Keyboard layout
|
|
```bash
|
|
loadkeys de_CH-latin1
|
|
```
|
|
|
|
## Check UEFI mode
|
|
If the following command works, the system is booted in EFI.
|
|
```bash
|
|
ls /sys/firmware/efi/efivars
|
|
```
|
|
|
|
## Verify internet connection
|
|
```bash
|
|
ping realstickman.net
|
|
```
|
|
|
|
## Update system clock
|
|
```bash
|
|
timedatectl set-ntp true
|
|
```
|
|
|
|
## Creating partitions
|
|
```bash
|
|
cfdisk
|
|
```
|
|
|
|
## Format partitions
|
|
Fat 32:
|
|
```bash
|
|
mkfs.fat -F32 /dev/(partition)
|
|
```
|
|
|
|
Ext4:
|
|
```bash
|
|
mkfs.ext4 /dev/(partition)
|
|
```
|
|
|
|
btrfs:
|
|
```bash
|
|
mkfs.btrfs /dev/(partition)
|
|
```
|
|
|
|
## Mounting partitions
|
|
Generally partitions have to be mounted where you will later use them in your system.
|
|
|
|
Root: /mnt
|
|
EFI: /mnt/boot or /mnt/efi
|
|
Home: /mnt/home
|
|
|
|
## Creating swapfile
|
|
*Not applicable to btrfs*
|
|
```bash
|
|
dd if=/dev/zero of=/mnt/swapfile bs=1M count=(size) status=progress
|
|
```
|
|
|
|
*Swapfile in btrfs*
|
|
```bash
|
|
truncate -s 0 /mnt/swapfile
|
|
```
|
|
|
|
```bash
|
|
chattr +C /mnt/swapfile
|
|
```
|
|
|
|
```bash
|
|
btrfs property set /mnt/swapfile compression none
|
|
```
|
|
|
|
```bash
|
|
fallocate -l 4096M /mnt/swapfile
|
|
```
|
|
|
|
*Initialising swapfile*
|
|
```bash
|
|
chmod 600 /mnt/swapfile
|
|
```
|
|
|
|
```bash
|
|
mkswap /mnt/swapfile
|
|
```
|
|
|
|
```bash
|
|
swapon /mnt/swapfile
|
|
```
|
|
|
|
## Essential packages
|
|
Some things like the userspace utilities for file management will vary.
|
|
See [file systems](https://wiki.archlinux.org/index.php/File_systems#Types_of_file_systems)
|
|
```bash
|
|
pacstrap /mnt base linux linux-firmware vim git openssh networkmanager network-manager-applet dialog base-devel linux-headers
|
|
```
|
|
|
|
### Packages needed for file systems
|
|
Fat32:
|
|
```bash
|
|
dosfstools mtools
|
|
```
|
|
|
|
Ext4:
|
|
```bash
|
|
e2fsprogs
|
|
```
|
|
|
|
btrfs:
|
|
```bash
|
|
btrfs-progs
|
|
```
|
|
|
|
## Generate fstab
|
|
```bash
|
|
genfstab -U /mnt >> /mnt/etc/fstab
|
|
```
|
|
IMPORTANT: Make sure the fstab file has everything included
|
|
|
|
## Chroot into the system
|
|
`arch-chroot /mnt`
|
|
|
|
## Set timezone
|
|
`ln -sf /usr/share/zoneinfo/Europe/Zurich /etc/localtime`
|
|
|
|
## Set hardware clock
|
|
`hwclock --systohc`
|
|
|
|
## Set locale
|
|
`vim /etc/locale.gen`
|
|
Uncomment the locales that should be generated.
|
|
Make sure to use a UTF-8 entry.
|
|
|
|
`locale-gen`
|
|
|
|
Edit `/etc/locale.conf` and set `LANG=(locale)`.
|
|
`LANG=de_CH.UTF-8`
|
|
|
|
## Set keymap permanently
|
|
`vim /etc/vconsole.conf`
|
|
`KEYMAP=de_CH-latin1`
|
|
|
|
## Set hostname
|
|
Edit `/etc/hostname`
|
|
`(hostname)`
|
|
|
|
Edit `/etc/hosts`
|
|
```
|
|
127.0.0.1 localhost
|
|
::1 localhost
|
|
127.0.1.1 (hostname).localdomain (hostname)
|
|
```
|
|
|
|
## Change root password
|
|
`passwd`
|
|
|
|
## Bootloader installation
|
|
|
|
### GRUB
|
|
```bash
|
|
pacman -S grub efibootmgr
|
|
```
|
|
|
|
```bash
|
|
grub-install --target=x86_64-efi --efi-directory=(efi partition mountpoint) --bootloader-id=GRUB
|
|
```
|
|
|
|
```bash
|
|
grub-mkconfig -o /boot/grub/grub.cfg
|
|
```
|
|
|
|
### systemd-boot
|
|
|
|
### rEFInd
|
|
|
|
## Networking
|
|
`systemctl enable NetworkManager`
|
|
|
|
## Add user
|
|
`useradd -mG wheel (user)`
|
|
|
|
Set password
|
|
`passwd (user)`
|
|
|
|
### Enable sudo
|
|
`visudo`
|
|
Uncomment `%wheel ALL=(ALL) ALL`
|
|
|
|
## Finishing installation
|
|
`exit`
|
|
`poweroff`
|
|
Remove the installation cd
|
|
|
|
## Install AUR helper
|
|
|
|
### yay
|
|
```bash
|
|
git clone https://aur.archlinux.org/yay.git
|
|
cd yay
|
|
makepkg -si
|
|
```
|
|
|
|
|