- Download ISO from official site
- Burn the ISO to a USB flash using Rufus with
Partition Scheme = GPT
,Target = EFI (non CSM)
. - Boot to BIOS/UEFI, disable CSM.
- Boot from USB flash with EFI.
- Check connection with Internet
ping -c 2 google.com
- If using wifi, select network
wifi-menu
- If using wifi, select network
- Find out which disk (
/dev/sdX
, whereX
- letter (e.g.,a
,b
,c
, etc.), in case of NVMe, name will be like/dev/nvmeX
) to install the system on:lsblk
:
In my case itNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 232.9G 0 disk ├─sda1 8:1 0 260M 0 part /boot/efi ├─sda2 8:2 0 50G 0 part / └─sda3 8:3 0 182.6G 0 part /home sdb 8:16 0 931.5G 0 disk └─sdb1 8:17 0 931.5G 0 part /mnt/TOSHIBA
sda
. It is device/dev/sda
. Next in text, instead ofsdX
, you need to write your own disk, for example,sda
. - Create partitions on disk (ALL DATA ON DISK WILL BE PERMANENTLY DELETED AND LOST):
cfdisk /dev/sdX
- Delete all partitions on
/dev/sdX
; - Create a new FAT32 partition with 260MB at the beginning of disk;
- Create a new ext4 partition for root with 50GB (51220MB) of disk;
- Create a new ext4 partition for home dir with all the remaining space;
- Write;
- Quit.
- Delete all partitions on
- Create file systems on partitions:
- EFI partition:
mkfs.fat -F32 /dev/sdX1
- root partition:
mkfs.ext4 /dev/sdX2
- home partition:
mkfs.ext4 /dev/sdX3
- EFI partition:
- Mount root:
mount /dev/sda2 /mnt
- Create
home
dir and mount home partition:mkdir /mnt/home mount /dev/sda3 /mnt/home
- Install
- Install all:
pacstrap -i /mnt base linux linux-firmware sudo nano
- Create fstab:
genfstab -U -p /mnt >> /mnt/etc/fstab
- Install all:
- Set up system:
- Change root:
arch-chroot /mnt /bin/bash
- Enable needed locales:
- Open locale.conf and uncomment (remove # at the beginning of line) locale:
nano /etc/locale.gen
- Then
Ctrl+O
for save,Ctrl+X
for exit;
- Open locale.conf and uncomment (remove # at the beginning of line) locale:
- Generate locales:
locale-gen
- Generate
locale.conf
:echo "LANG=en_US.UTF-8" > /etc/locale.conf
- Setup timezone: instead
Europe/Moscow
select your timezone by double clickingTab
afterzoneinfo/
:ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
- Set date and time from hardware:
hwclock --systohc --utc
- Check date and time:
date
- Write hostname of machine:
echo name > /etc/hostname
- Open hosts:
and write
nano /etc/hosts
then save (127.0.0.1 localhost
Ctrl+O
) and exit (Ctrl+X
); - Install network manager:
pacman -S networkmanager
- Enable network manager:
systemctl enable NetworkManager
- Set password for root:
passwd
, enter twice password; - Install AMD drivers:
pacman -S mesa
- Change root:
- Install and set up GRUB:
- Install:
pacman -S grub efibootmgr
- Create directory for mount:
mkdir /boot/efi
- Mount efi partition:
mount /dev/sda1 /boot/efi
- Check if mount correctly:
lsblk
- Install grup:
grub-install /dev/sdX
- Make GRUB config:
grub-mkconfig -o /boot/grub/grub.cfg
- Install:
- Exit from root:
exit
- Unmount:
umount -R /mnt
- Reboot to just installed system:
reboot
- Log in to system (username:
root
, your password); - Add user:
(change last
useradd -m -g users -G wheel -s /bin/bash username
username
); - Set password for new user:
passwd username
- Pass sudo-privelegies for new user:
EDITOR=nano visudo
- Find
# %wheel ALL=(ALL) ALL
and remove#
at the beginning of line,Ctrl+O
,Ctrl+X
; - Set up drivers and desktop environment:
- Setup drivers:
pacman -S pulseaudio pulseaudio-alsa pavucontrol xorg xorg-xinit xorg-server
- Setup XFCE4:
pacman -S xfce4 lightdm lightdm-gtk-greeter
- On start computer start X11:
echo "exec startxfce4" > ~/.xinitrc
- Enable Desktop Manager:
systemctl enable lightdm
- Setup drivers:
- Reboot;
- Arch with XFCE4 successfully installed.
It's assumed that windows has already been installed.
- Get and save two parameters for GRUB
menuentry
(source):- Mount EFI-partition:
sudo mount /dev/sda1 /boot/efi
- Get filesystem UUID (further in the text as
$fs_uuid
):sudo grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
- Get hints strings (further in the text as
$hints_string
):sudo grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
- Mount EFI-partition:
- Open custom grub config:
and insert the following content into it, previously replace two variables (
sudo nano /etc/grub.d/40_custom
$hints_string
and$fs_uuid
):cat << END menuentry "Windows" { insmod part_gpt insmod fat insmod chain search --no-floppy --fs-uuid --set=root $hints_string $fs_uuid chainloader /EFI/Microsoft/Boot/bootmgfw.efi } END
- Remake grub config:
sudo grub-mkconfig -o /boot/grub/grub.cfg
- PROFIT
sudo pacman -S bash-completion
sudo pacman -S ttf-jetbrains-mono
sudo pacman -S noto-fonts-emoji
Install package:
# pacman -S xfce4-whiskermenu-plugin
Install package:
# pacman -S xfce4-notifyd
Install package:
# pacman -S xfce4-pulseaudio-plugin
Put to any panel PulseAudio Plugin
.
Install package:
# pacman -S xfce4-taskmanager
Install package:
# pacman -S network-manager-applet
# pacman -S gvfs gvfs-mtp
# pacman -S ntfs-3g
- Install
# pacman -S xf86-input-synaptics
- Copy example config
# cp /usr/share/X11/xorg.conf.d/70-synaptics.conf /etc/X11/xorg.conf.d/
- Set options
Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" Option "TapButton1" "1" Option "TabButton2" "2" Option "TabButton3" "3" Option "RBCornerButton" "3" EndSection
- Restart X11 or reboot.
For comfortable use AUR, you may install cli tool yay
.
- Packages, needed for install
yay
:# pacman -S --needed git base-devel
- Change directory to temp:
$ cd /tmp
- Clone repo:
$ git clone https://aur.archlinux.org/yay.git
- Change directory to respositry:
$ cd yay
- Build and install it:
$ makepkg -si
After it, you can install packages from AUR only with:
$ yay -S PACKAGE_NAME
By default, these keys are responsible for navigating through history. But IMHO, it's more convenient to control the sound volume with them. For this you need:
- Install packages:
# pacman -S xbindkeys xdotool
- Run
xev
and in opened window click needed buttons on mouse. In terminal find key codes. In my case it8
=volume down
,9
=volume up
. - Create
~/.xbindkeysrc
file and put config like this:
"xdotool key XF86AudioLowerVolume"
b:8
"xdotool key XF86AudioRaiseVolume"
b:9
- In
~/.bashrc
add line at the end:xbindkeys
- Add keys
curl -O https://download.sublimetext.com/sublimehq-pub.gpg && sudo pacman-key --add sublimehq-pub.gpg && sudo pacman-key --lsign-key 8A8F901A && rm sublimehq-pub.gpg
- Add repository
echo -e "\n[sublime-text]\nServer = https://download.sublimetext.com/arch/stable/x86_64" | sudo tee -a /etc/pacman.conf
- Install
sudo pacman -Syu sublime-text