configs/arch-config/Dokumente/other-linux/arch-install.md

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
```