diff --git a/addons/install_arch.md b/addons/install_arch.md index 81ced1e..f9f9945 100644 --- a/addons/install_arch.md +++ b/addons/install_arch.md @@ -28,162 +28,194 @@ wifi-menu #### Create partitions +````sh cgdisk /dev/sda 1 512MB EFI partition # Hex code ef00 ;sda1 2 100% size partiton # (to be encrypted) Hex code 8300 ;sda2 - +``` #### Create EFI partition +```sh mkfs.vfat -F32 /dev/sda1 - +``` #### Create filesystem on root partition +```sh mkfs.ext4 /dev/sda2 - +``` #### Create swapfile +```sh fallocate -l 4G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile - +``` #### Mount the new system +```sh mount /dev/sda2 /mnt # /mnt is the installed system mkdir /mnt/boot mount /dev/sda1 /mnt/boot - +``` #### Install the system also includes stuff needed for starting wifi when first booting into the newly installed system #### Unless nvim and zsh are desired these can be removed from the command. Dialog is needed by wifi-menu +```sh pacstrap /mnt base base-devel linux linux-firmware mkinitcpio e2fsprogs man zsh nvim git sudo networkmanager dialog wifi-menu wpa_supplicant wireless_tools gnome-keyring - +``` #### 'install' fstab +```sh genfstab -pU /mnt >> /mnt/etc/fstab - +``` #### Make /tmp a ramdisk (add the following line to /mnt/etc/fstab) +```sh tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0 - +``` #### Add swapfile to fstab +```sh /swapfile none swap defaults 0 0 - +``` #### Change relatime on all non-boot partitions to noatime (reduces wear if using an SSD) #### Enter the new system +```sh arch-chroot /mnt /bin/bash - +``` #### Setup system clock +```sh ln -s /usr/share/zoneinfo/Europe/Helsinki /etc/localtime hwclock --systohc --utc - +``` #### Set the hostname +```sh echo MYHOSTNAME > /etc/hostname - +``` #### Generate locale #### Uncomment wanted locales in /etc/locale.gen +```sh vim /etc/locale.gen locale-gen localectl set-locale LANG=en_IE.UTF-8 - +``` #### To avoid problems with gnome-terminal set locale system wide #### Do N-OT set LC_ALL=C. It overrides all the locale vars and messes up special characters #### Pay attention to the UTF-8. Capital letters ! +```sh echo LANG=en_IE.UTF-8 >> /etc/locale.conf echo LC_ALL= >> /etc/locale.conf - +``` #### Set password for root +```sh passwd - +``` #### Add real user remove -s flag if you don't whish to use zsh +```sh useradd -m -g users -G audio,video,network,rfkill,input,wheel,storage,power -s /bin/zsh MYUSERNAME passwd MYUSERNAME - +``` #### Configure mkinitcpio with modules needed for the initrd image +```sh nvim /etc/mkinitcpio.conf - +``` #### Regenerate initrd image +```sh mkinitcpio -p linux - +``` #### Setup systembootd (grub will not work on nvme at this moment), install Intel microcode +```sh pacman -S intel-ucode bootctl install - +``` #### Create loader.conf +```sh echo 'default Arch' >> /boot/loader/loader.conf echo 'timeout 10' >> /boot/loader/loader.conf - +``` #### Create arch.conf (or XYZ.conf for default XYZ in loader.conf) +```sh nvim /boot/loader/entries/Arch.conf - +``` #### Add the following content to Arch.conf #### from /dev/sda2. It can be found with the 'blkid' command +```sh title Arch Linux linux /vmlinuz-linux initrd /initramfs-linux.img options root=PARTUUID=xxxx-xxxxx-xxx-xxx rw blkid >> /boot/loader/entries/Arch.conf - +``` #### Exit new system and go into the cd shell +```sh exit - +``` #### Unmount all partitions +```sh umount -R /mnt swapoff -a - +``` #### Reboot into the new system, don't forget to remove the cd/usb +```sh reboot - +``` #### On a new system you might want to check keymap and fix it? +```sh localectl set-keymap --no-convert fi localectl set-x11-keymap fi - +``` #### Install yay +```sh git clone https://aur.archlinux.org/yay.git -> cd yay -> makepkg -si - +``` #### Mirrors +```sh pacman -S reflector cp etc/pacman.d/mirrorlist etc/pacman.d/mirrorlist.bak reflector --latest 200 --protocol http --protocol https --sort rate --save /etc/pacman.d/mirrorlist - +``` #### Install X-server and graphics drivers +```sh pacman -S xorg-server xorg-apps xorg-xinit xterm sudo pacman -Syyu +``` +#### After scripts have completed install plug for neovim -#### After scripts have completed install plug and vundle for neovim - +```sh curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim -git clone https://github.com/VundleVim/Vundle.vim.git ~/.config/nvim/bundle/Vundle.vim - +``` #### and tmux plugin manager +```sh git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm +``` +````