Arch linux install 🐧
Create partitions
Use fdisk or cdisk. UEFI configurations have 3 partitions (ESP in FAT32 512 Mb, / in ext4 , and swap of at least the RAM)
Format partitions
# mkfs.ext4 /dev/sdaY
# mkswap /dev/sdaZ
- Mount system and swap
# swapon /dev/sdaZ
# mount /dev/sda1 /mnt
- Use the pacstrap script to install the base package group:
# pacstrap /mnt base
- Generate an fstab file (use -U or -L to define by UUID or labels, respectively):
# genfstab -U /mnt >> /mnt/etc/fstab
- Change root into the new system:
# arch-chroot /mnt
- Set the time zone:
# ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
- Run hwclock(8) to generate /etc/adjtime:
# hwclock --systohc
- Uncomment en_US.UTF-8 UTF-8 and other needed localizations in /etc/locale.gen, and generate them with:
# locale-gen
- Set the LANG variable in
/etc/locale.conf
LANG=en_US.UTF-8
- If you set the keyboard layout, make the changes persistent in vconsole
/etc/vconsole.conf
KEYMAP=fr-latin1
- Create the hostname in
/etc/hostname
myhostname
- Consider adding a matching entry to hosts
/etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
127.0.1.1 myhostname.localdomain myhostname
- Set the root password:
# passwd
- Boot loader
For efi systems using grub.
grub-mkconfig will automatically detect the microcode update and configure GRUB appropriately. After installing the intel-ucode package, users are directed to regenerate the GRUB config to activate loading the microcode
pacman -S intel-ucode grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch
grub-mkconfig -o /boot/grub/grub.cfg
mkinitcpio -p linux
For not efi configurations look precedent commits
Post installation instructions
Install minimum
pacman -S base-devel iw wpa_supplicant dialog sudo
Video
Xorg
- Install packages
pacman -S xorg xorg-apps xorg-server xorg-server-utils xorg-xinit
- Test using
startx
. If needed installxterm
andxorg-twm
Drivers
Install minimun drivers
pacman -S xf86-video xf86-video-intel
if nvidia graphic card, install bumblebee mesa nvidia
Display manager
- Install packages
pacman -S xorg-xdm
- Enable service:
systemctl enable xdm.service
Windows manager - i3
pacman -S i3 dmenu
Network manager
- Install networkmanager packages
pacman -S networkmanager network-manager-applet
- Enable service
systemctl enable NetworkManager
Touchpad
- Install libinput package
pacman -S xf86-input-libinput libinput
- Create file
/etc/X11/xorg.conf.d/30-touchpad.conf
to configure touchpad
Section "InputClass"
Identifier "touchpad"
Driver "libinput"
MatchIsTouchpad "on"
Option "Tapping" "on"
Option "TappingButtonMap" "lmr"
EndSection
- Set X11 keyboard layout
localectl --no-convert set-x11-keymap fr
Disks management
Install diskie, if old keys use: sudo pacman-key --refresh
pacman -S udisks2 udiskie
Additional
pacman -S tmux ranger mutt vim alacritty firefox xclip gnupg isync pass notmuch notmuch-mutt msmtp atool dunst sxiv rsync zathura zathura-pdf-poppler zathura-djvu rofi inkscape gvfs feh libreoffice-still filezilla pavucontrol openssh w3m ctags arandr unclutter mpd highlight scrot curl git flake8 nodejs npm mpd ncmpcpp mpc ntfs-3g
Bluetooth
- Install packages
pacman -S alsa-utils bluez bluez-utils blueman pulseaudio-bluetooth
- Enable service
systemctl enable bluetooth.service
Fonts
- Download popular fonts
pacman -S ttf-inconsolata awesome-terminal-fonts powerline-fonts noto-fonts-emoji
curl -L https://github.com/ryanoasis/nerd-fonts/releases/download/v1.2.0/InconsolataGo.zip --output InconsolataGo.zip
extract InconsolataGo.zip
rm InconsolataGo.zip
mkdir /usr/share/fonts/InconsolataGo
mv InconsolataGo* /usr/share/fonts/InconsolataGo
chmod 0555 /usr/share/fonts/InconsolataGo
chmod 0444 /usr/share/fonts/InconsolataGo/InconsolataGo*
Python
- Basic packages for Data Science
pacman -S jupyter mathjax python-numpy python-matplotlib python-pandas python-virtualenvwrapper
- Other
pip install -U mutt_ics urlscan