Add Arch installation guide
							parent
							
								
									2f3fdb20a7
								
							
						
					
					
						commit
						b5be657aa2
					
				
					 1 changed files with 223 additions and 0 deletions
				
			
		
							
								
								
									
										223
									
								
								Arch-Linux.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										223
									
								
								Arch-Linux.md
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,223 @@ | |||
| # Arch Linux | ||||
| 
 | ||||
| ## Installation | ||||
| 
 | ||||
| Attach ArchLinux boot key. Boot. | ||||
| 
 | ||||
| Set the keyboard layout. | ||||
| 
 | ||||
| ``` | ||||
| # loadkeys be-latin1 | ||||
| ``` | ||||
| 
 | ||||
| Connect to the internet. | ||||
| 
 | ||||
| ``` | ||||
| # iwctl | ||||
| [iwd]# station wlan0 connect <network> | ||||
| ``` | ||||
| 
 | ||||
| Escape the menu with ^D. Automatically update the time. | ||||
| 
 | ||||
| ``` | ||||
| # timedatectl set-ntp true | ||||
| ``` | ||||
| 
 | ||||
| Format the disk.  | ||||
| 
 | ||||
| ``` | ||||
| # fdisk -l  | ||||
| # fdisk /dev/sda | ||||
| : g | ||||
| : n, 1, _, +1G | ||||
| : t, 1, 1 | ||||
| : n, 2, _, +8G | ||||
| : t, 2, 19 | ||||
| : n, 3, _, _ | ||||
| : w | ||||
| 
 | ||||
| # pvcreate /dev/sda3 | ||||
| # vgcreate MyGroup /dev/sda3 | ||||
| # lvcreate -l +100%FREE MyGroup -n MyVolume | ||||
| 
 | ||||
| # mkfs.ext4 /dev/MyGroup/MyVolume | ||||
| # mkswap /dev/sda2 | ||||
| # mkfs.fat -F 32 /dev/sda1 | ||||
| 
 | ||||
| # mount /dev/MyGroup/MyVolume /mnt | ||||
| # mkdir /mnt/boot | ||||
| # mount /dev/sda1 /mnt/boot | ||||
| ``` | ||||
| 
 | ||||
| Enable swap.  | ||||
| 
 | ||||
| ``` | ||||
| # swapon /dev/sda2 | ||||
| ``` | ||||
| 
 | ||||
| Install the kernel. Also install keyring because keys will be needed. | ||||
| 
 | ||||
| ``` | ||||
| # pacman -Sy archlinux-keyring | ||||
| # pacstrap /mnt base linux linux-firmware | ||||
| ``` | ||||
| 
 | ||||
| Make the mounts persistent.  | ||||
| 
 | ||||
| ``` | ||||
| # genfstab -U /mnt >> /mnt/etc/fstab | ||||
| ``` | ||||
| 
 | ||||
| Configure the system. | ||||
| 
 | ||||
| ``` | ||||
| # arch-chroot /mnt | ||||
| # ln -sf /usr/share/zoneinfo/Europe/Brussels /etc/localtime | ||||
| # hwclock --systohc | ||||
| # locale-gen | ||||
| # echo "LANG=en_GB.UTF-8" >> /etc/locale.conf | ||||
| # echo "KEYMAP=be-latin1" >> /etc/vconsole.conf | ||||
| # echo "Laptop-Tibo" >> /etc/hostname | ||||
| ``` | ||||
| 
 | ||||
| Enable hibernation.  | ||||
| 
 | ||||
| ``` | ||||
| # lsblk | ||||
| # echo "8:2" > /sys/power/resume | ||||
| ``` | ||||
| 
 | ||||
| Create initial ramdisk environment.  | ||||
| 
 | ||||
| ``` | ||||
| # pacman -S vim lvm2 | ||||
| # vim /etc/mkinitcpio.conf | ||||
| ``` | ||||
| 
 | ||||
| Change the file to match the following line:  | ||||
| 
 | ||||
| `HOOKS=(base udev autodetect modconf block lvm2 filesystems resume keyboard fsck)` | ||||
| 
 | ||||
| ``` | ||||
| # mkinitcpio -P | ||||
| ``` | ||||
| 
 | ||||
| Generate root password.  | ||||
| 
 | ||||
| ``` | ||||
| # passwd | ||||
| ``` | ||||
| 
 | ||||
| Configure boot manager. Also enable hibernation.  | ||||
| 
 | ||||
| ``` | ||||
| # pacman -S grub efibootmgr | ||||
| # grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB | ||||
| # vim /etc/default/grub | ||||
| ``` | ||||
| 
 | ||||
| Change the file to match the following lines:  | ||||
| 
 | ||||
| `GRUB_TIMEOUT=0` | ||||
| 
 | ||||
| `GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet resume=/dev/sda2"` | ||||
| 
 | ||||
| `GRUB_PRELOAD_MODULES="part_gpt part_msdos lvm"` | ||||
| 
 | ||||
| ``` | ||||
| # grub-mkconfig -o /boot/grub/grub.cfg | ||||
| ``` | ||||
| 
 | ||||
| Add the default user (me).  | ||||
| 
 | ||||
| ``` | ||||
| # useradd -m -G wheel,users,input,video tdpeuter | ||||
| # passwd tdpeuter | ||||
| ``` | ||||
| 
 | ||||
| Make the system automatically log into that user. | ||||
| 
 | ||||
| ``` | ||||
| # sudo mkdir -p /etc/systemd/system/getty@tty1.service.d | ||||
| # sudo vim /etc/systemd/system/getty@tty1.service.d/autologin.conf | ||||
| ``` | ||||
| Contents of the file:  | ||||
| 
 | ||||
| ``` | ||||
| [Service] | ||||
| ExecStart= | ||||
| ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin tdpeuter - $TERM | ||||
| ``` | ||||
| 
 | ||||
| Install sudo. | ||||
| 
 | ||||
| ``` | ||||
| # pacman -S sudo | ||||
| # visudo | ||||
| ``` | ||||
| 
 | ||||
| In the file that comes up, uncomment the following line: `%wheel ALL=(ALL:ALL) ALL` | ||||
| 
 | ||||
| Install a networkmanager so you have bloody internet when you reboot (otherwise rendering your device utterly useless). | ||||
| 
 | ||||
| ``` | ||||
| # pacman -S networkmanager | ||||
| ``` | ||||
| 
 | ||||
| Escape fakeroot with ^D. | ||||
| 
 | ||||
| Finally,  | ||||
| 
 | ||||
| ``` | ||||
| # reboot | ||||
| ``` | ||||
| 
 | ||||
| ##  Users | ||||
| 
 | ||||
| Set paralell downloads.  | ||||
| 
 | ||||
| ``` | ||||
| $ sudo vim /etc/pacman.conf | ||||
| ``` | ||||
| 
 | ||||
| Uncomment the following line.  | ||||
| 
 | ||||
| `ParallelDownloads = 5` | ||||
| 
 | ||||
| Install connection applications.  | ||||
| 
 | ||||
| ``` | ||||
| $ sudo pacman -S network-manager-applet blueman | ||||
| $ sudo pacman -S pulseaudio pulseaudio-alsa pulseaudio-bluetooth | ||||
| ``` | ||||
| 
 | ||||
| Setup a desktop environment.  | ||||
| 
 | ||||
| ``` | ||||
| $ sudo pacman -S sway swayidle waybar alacritty | ||||
| ``` | ||||
| 
 | ||||
| Install yay for easy package management.  | ||||
| 
 | ||||
| ``` | ||||
| $ sudo pacman -S base-devel git | ||||
| $ cd /opt | ||||
| $ sudo git clone https://aur.archlinux.org/yay.git | ||||
| $ sudo chown -R ${username}:users ./yay | ||||
| $ cd yay | ||||
| $ makepkg -si | ||||
| ``` | ||||
| 
 | ||||
| ``` | ||||
| $ yay swaylock-effects-git | ||||
| $ yay mako | ||||
| $ yay wlsunset | ||||
| $ yay fuzzel | ||||
| $ yay firefox | ||||
| ``` | ||||
| 
 | ||||
| ## Configuration | ||||
| 
 | ||||
| Put the [files from the repository](../src/branch/main/stow) in the appropriate places, or cherry pick the ones you want to use on your system. | ||||
| 
 | ||||
| If you are using `stow` you can put them in place easily with the appropriate command. | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue