You will need a partition for your Arch Linux installation and, optionally, a swap partition. It is very easy to do before installation, but if you are already loaded into Arch ISO, or doing installation on a new hardware, you can follow these instructions upon loading Arch ISO.
lsblk
. Determine what devices do you have./dev/sda
is usually the first SATA drive/dev/nvme0n1
is usually the first NVMe memory drive (those are SSDs on a motherboard, M.2).parted device
wheredevice
is a desired device to have your installation on.- Run only if you have an empty (unpartitioned) drive:
mklabel gpt
, wheregpt
is a GPT partition type (UEFI, recommended). mkpart "EFI system partition" fat32 1MiB 2GiB
set 1 esp on
mkpart "Arch" ext4 2GiB 100%
quit
lsblk
to check what is there. 1st part is for EFI and 2nd part is for your Linux installation.
setfont ter-132b
to set the font bigger if you need it (list is in/usr/share/kbd/consolefonts
).- Make sure you know what your to-be-linux and EFI partitions are. Check Preinstallation section if needed.
- You can check
lsblk
ordf
outputs if not sure. - I will call/dev/sdaX — linux partion.
- You can check
wifi-menu
if you are a wifi user- Choose your network. OK.
- OK.
- Enter your password for the network. OK.
- Wait a little till 'root@archlinuxiso' caption appears.
- Don't continue if you cannot connect to a network.
mkfs.fat -F 32 /dev/sdaY
(it's your EFI partition).- Make sure you are formatting the right partitions! There is NO turning back from this point!. If yes — enter 'y' when promted.
mkfs.ext4 /dev/sdaX
mount /dev/sdaX mnt
mount /dev/sdaY mnt/boot
pacstrap mnt base base-devel git wget less vim reflector NetworkManager man
- Go take a cup of tea. It takes time.
genfstab -U -p mnt >> mnt/etc/fstab
arch-chroot mnt
- If prompted with a different shell — you are on the right way.
pacman -S {name}
install more packages to your liking.dialog wpa_supplicant
-- for wifi accessfish
-- this a cool and nice looking shell alternative to bash. I recommend it, but it's not POSIX!
reflector -l 50 -f 5 --protocol https --save /etc/pacman.d/mirrorlist --verbose
if you installed reflector- You can play around with parameters and add
-C 'COUNTRY'
to get results better suited for you. - If you know what you're doing, you can run
reflector
beforepacstrap
andcp -f {,mnt}/etc/pacman.d/mirrorlist
- You can play around with parameters and add
- I recommend editing
echo -e "Color\nParallelDownloads = 5" > /etc/pacman.d/user-friendly.conf
to enable some user-friendly options for pacman. - I also recommend adding
echo "PKGEXT='.pkg.tar'" > /etc/makepkg.conf.d/no-compression.conf
to disable compression for AUR packages. useradd -m -G wheel -s /usr/bin/fish NAME
oruseradd -m -G wheel NAME
if you haven't installed fishpasswd
- Enter password for root.
passwd NAME
2. Enter password for your user.EDITOR=vim visudo
- press
G
to go the end of the file, thani
and navigate using arrows to the following text. delete#
frm the 2nd line. ThenESC
andZZ
- press
## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL
nano /etc/locale.gen
- Uncomment next line (for Russian):
ru_RU.UTF-8 UTF-8
- Uncomment next line (for English):
en_US.UTF-8 UTF-8
- Save. (Ctrl-X, y, enter)
- You can just use
sed
instead of course:sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen
- Uncomment next line (for Russian):
echo LANG=en_US.UTF-8 > /etc/locale.conf
locale-gen
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
, instead ofEurope/Moscow
use your own timezone!bootctl install
systemctl enable systemd-boot-update.service
cp -f /usr/share/systemd/bootctl/loader.conf /boot/loader/loader.conf
cp /usr/share/systemd/bootctl/arch.conf /boot/loader/entries/arch.conf
EDIT this file to haveoptions root=PARTLABEL=Arch add_efi_memmap rw
at the end
echo compname > /etc/hostname
if you need to change your host name for some reason- Install yay.
pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
chown NAME:NAME -R .
su NAME
makepkg -si
exit
cd ..
rm -rf yay-bin
exit
reboot
- Take your flash drive out!
- Login under your user.
If your Windows system is on the same drive - systemd-boot will handle everything for you. Otherwise there are some additional steps.
pacman -S edk2-shell
cp /usr/share/edk2-shell/x64/Shell.efi /boot/shellx64.efi
- run
blkid
and take a note (a photo for ex) of PARTUUID for your Windows drive - Reboot into EFI Shell (option will be available in systemd-boot menu)
- Run
map
and take a not of the FS alias for your Windows drive (ex: HD0a66666a2) exit
and reboot into Arch- create a
/boot/windows.nsh
file
HD0a66666a2:EFI\Microsoft\Boot\Bootmgfw.efi
- create a
/boot/loader/entries/windows.conf
title Windows
efi /shellx64.efi
options -nointerrupt -noconsolein -noconsoleout windows.nsh
You now have a clean Arch installation. Next steps are for X setup with DE. You can of cource do these steps in the previous section under your arch-chroot
section.
- Internet:
sudo wifi-menu
for Wi-Fisudo systemctl start dhcpcd@.service
for Ethernetsudo pacman -S sddm firefox
- For NVIDIA users: run
sudo pacman -S nvidia
. - Install DE.
- Plasma:
sudo pacman -S plasma-meta yakuake
- Choose
noto
for your font options, other choices can be defaults. sudo systemctl enable sddm.service
sudo systemctl enable NetworkManager
only if you connect through Wi-Fisudo pacman -S NetworkManager
if it is not installed yet.sudo reboot
- Login under your user. Use networks applet on DE panel to configure network (if you installed NetworkManager).
sudo pacman -S sddm firefox nvidia plasma-meta yakuake