This commit is contained in:
Harri Lahtinen 2020-01-14 16:24:04 +02:00
parent 32b3c93d18
commit 0f379cac0c
1 changed files with 35 additions and 2 deletions

View File

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