Arch Linux Installation Guide - Part 1
#archlinux #linux #howto Mar 8, 2020 31 minTable of Contents:
I’ve been distro hopping for a while and decided to use Arch Linux as my daily driver because I like building my OS from the ground up. Aside from having a small footprint, it gives me full control of what I only want to install. No more unnecessary services running in the background or unused packages. It is a rolling release so I don’t need to do system upgrade in the future.
Every Arch Linux installation is different so I made this guide to suit my preferences. It took me ages when I did my first installation that’s why I created this guide to serve as my future reference and maybe help others as well. I included a brief explanation and an output log on each step so that people will know what to expect when they execute a command.
I will break my Arch Linux installation guide into two parts. This part 1 will be the base install and part 2 for the desktop environment. This guide was created with the help of the official installation guide and other random sources out there. Following this guide will install Arch Linux with:
- systemd-boot, base, base-devel, linux, linux-firmware, vim, man-db, man-pages, bash-completion, networkmanager, net-tools, openssh, reflector
- 2 Partitions (EFI system and Linux root)
- Swap file
Boot the Live Environment
Download ISO
Go to https://www.archlinux.org/download/ and download the ISO.
Create an Arch Linux Installer USB Drive
The easiest way for me is to use Etcher. It has GUI, cross-platform and free.
See other methods to create an Arch Linux Installer USB drive here.
Enable UEFI and USB Boot
Enable UEFI on your motherboard. Some common keys are F2, F8, F10, F12, and Del. Refer to the motherboard’s user manual. Now set it to boot from Arch Linux Installer USB Drive. You should see:
Remote Installation
Skip this step if you are not installing Arch Linux remotely.
I included this because sometimes it is easier to install Arch Linux remotely, I can easily copy and paste the commands instead of typing it manually.
Set Root Password
In a live Arch environment, the default password for root is empty. To set a password, type:
passwd
Output
root@archiso ~ # passwd
New password:
Retype new password:
passwd: password updated successfully
root@archiso ~ #
Start SSH
Start the service:
systemctl start sshd.service
Output
root@archiso ~ # systemctl start sshd.service
root@archiso ~ #
Remote Login
From your local machine, proceed with the installation by accessing it remotely using SSH:
ssh root@<ip address>
Output
marvin@localworkstation:~$ ssh root@192.168.1.1
The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
ECDSA key fingerprint is SHA256:kZNxUnSk0fvTsMzZuNCKb5zn4yxHwwirUyIA0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.1' (ECDSA) to the list of known hosts.
root@192.168.1.1's password:
Last login: Sun Mar 8 01:48:31 2020
root@archiso ~ #
Boot Mode
If UEFI mode is enabled, Archiso will boot Arch Linux via systemd-boot. To verify this, list the efivars directory:
ls /sys/firmware/efi/efivars
Output
root@archiso ~ # ls /sys/firmware/efi/efivars
BackgroundClear-4d1ede05-38c7-4a6a-9cc6-4bcca8b38c14 LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
Boot0000-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
Boot0001-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderFeatures-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
Boot0002-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderFirmwareInfo-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
Boot0003-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderFirmwareType-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderImageIdentifier-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
BootOptionSupport-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderInfo-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
BootOrder-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderTimeExecUSec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
ConInDev-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderTimeInitUSec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
ConIn-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderTimeMenuUSec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
ConOutDev-8be4df61-93ca-11d2-aa0d-00e098032b8c MTC-eb704011-1402-11d3-8e77-00a0c969723b
ConOut-8be4df61-93ca-11d2-aa0d-00e098032b8c OsIndicationsSupported-8be4df61-93ca-11d2-aa0d-00e098032b8c
FirmwareFeaturesMask-4d1ede05-38c7-4a6a-9cc6-4bcca8b38c14 PlatformLangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c
FirmwareFeatures-4d1ede05-38c7-4a6a-9cc6-4bcca8b38c14 PlatformLang-8be4df61-93ca-11d2-aa0d-00e098032b8c
Key0000-8be4df61-93ca-11d2-aa0d-00e098032b8c PlatformRecovery0000-8be4df61-93ca-11d2-aa0d-00e098032b8c
Key0001-8be4df61-93ca-11d2-aa0d-00e098032b8c Timeout-8be4df61-93ca-11d2-aa0d-00e098032b8c
LangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c VarErrorFlag-04b37fe8-f6ae-480b-bdd5-37d98c5e89aa
Lang-8be4df61-93ca-11d2-aa0d-00e098032b8c boot-args-7c436110-ab2a-4bbb-a880-fe41995c9f82
root@archiso ~ #
If you are not using systemd-boot, you will have an error saying that the directory does not exist:
Output
root@archiso ~ # ls /sys/firmware/efi/efivars
ls: cannot access '/sys/firmware/efi/efivars': No such file or directory
root@archiso ~ #
Internet Connection
Internet connection is required to install Arch Linux. Verify it by using ICMP:
ping -c3 archlinux.org
Output
root@archiso ~ # ping -c3 archlinux.org
PING archlinux.org (138.201.81.199) 56(84) bytes of data.
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=1 ttl=63 time=300 ms
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=2 ttl=63 time=300 ms
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=3 ttl=63 time=300 ms
--- archlinux.org ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2095ms
rtt min/avg/max/mdev = 299.794/299.912/300.146/0.165 ms
root@archiso ~ #
See offline installation here.
Setup Mirrors
Backup /etc/pacman.d/mirrorlist and only include closest mirrors (in this case, New Zealand has the geographically closest mirrors):
mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak && cat /etc/pacman.d/mirrorlist.bak | grep --no-group-separator -A1 "New Zealand" > /etc/pacman.d/mirrorlist && cat /etc/pacman.d/mirrorlist
Output
root@archiso ~ # mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak && cat /etc/pacman.d/mirrorlist.bak | grep --no-group-separator -A1 "New Zealand" > /etc/pacman.d/mirrorlist && cat /etc/pacman.d/mirrorlist
## New Zealand
Server = http://mirror.smith.geek.nz/archlinux/$repo/os/$arch
## New Zealand
Server = http://mirror.fsmg.org.nz/archlinux/$repo/os/$arch
root@archiso ~ #
I recommend using reflector to easily update the mirrors. If you don’t change the mirrorlist, it will try to download starting from top to bottom of the list and usually, you will see ‘Operation too slow.’ Install reflector by typing:
pacman -Sy reflector
Output
root@archiso ~ # pacman -Sy reflector
:: Synchronizing package databases...
core 136.7 KiB 216 KiB/s 00:01 [##############################################] 100%
extra 1638.2 KiB 2.89 MiB/s 00:01 [##############################################] 100%
community 4.8 MiB 601 KiB/s 00:08 [##############################################] 100%
resolving dependencies...
looking for conflicting packages...
Packages (1) reflector-2019.10-2
Total Download Size: 0.02 MiB
Total Installed Size: 0.07 MiB
:: Proceed with installation? [Y/n]
:: Retrieving packages...
reflector-2019.10-2-any 18.8 KiB 1878 KiB/s 00:00 [##############################################] 100%
(1/1) checking keys in keyring [##############################################] 100%
(1/1) checking package integrity [##############################################] 100%
(1/1) loading package files [##############################################] 100%
(1/1) checking for file conflicts [##############################################] 100%
:: Processing package changes...
(1/1) installing reflector [##############################################] 100%
Optional dependencies for reflector
rsync: rate rsync mirrors [installed]
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
root@archiso ~ #
Run reflector to include mirrors from New Zealand, Australia, and Singapore. Also, use HTTPS when downloading packages and only include mirrors that were updated in the last 12 hours. Lastly, sort them by speed rate.
reflector -c NZ -c AU -c SG -p https -a 12 --sort rate --save /etc/pacman.d/mirrorlist && cat /etc/pacman.d/mirrorlist
Output
root@archiso ~ # reflector -c NZ -c AU -c SG -p https -a 12 --sort rate --save /etc/pacman.d/mirrorlist && cat /etc/pacman.d/mirrorlist
################################################################################
################# Arch Linux mirrorlist generated by Reflector #################
################################################################################
# With: reflector -c NZ -c AU -c SG -p https -a 12 --sort rate --save /etc/pacman.d/mirrorlist
# When: 2020-03-13 03:29:29 UTC
# From: https://www.archlinux.org/mirrors/status/json/
# Retrieved: 2020-03-13 03:29:20 UTC
# Last Check: 2020-03-13 03:18:12 UTC
Server = https://mirror.aarnet.edu.au/pub/archlinux/$repo/os/$arch
Server = https://mirror.smith.geek.nz/archlinux/$repo/os/$arch
Server = https://mirror.fsmg.org.nz/archlinux/$repo/os/$arch
Server = https://archlinux.mirror.digitalpacific.com.au/$repo/os/$arch
Server = https://syd.mirror.rackspace.com/archlinux/$repo/os/$arch
Server = https://sgp.mirror.pkgbuild.com/$repo/os/$arch
Server = https://mirror.aktkn.sg/archlinux/$repo/os/$arch
Server = https://download.nus.edu.sg/mirror/archlinux/$repo/os/$arch
root@archiso ~ #
Update the System Clock
Ensure the system clock is accurate by typing:
timedatectl set-ntp true && date
Output
root@archiso ~ # timedatectl set-ntp true && date
Thu 12 Mar 2020 03:25:50 AM UTC
root@archiso ~ #
Disk Partition
Check Available Disk/s
Let’s first check all recognized block devices by the live system by typing:
lsblk
Output
root@archiso ~ # lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 534.8M 1 loop /run/archiso/sfs/airootfs
sda 8:0 0 32G 0 disk
sr0 11:0 1 651M 0 rom /run/archiso/bootmnt
root@archiso ~ #
In this case, our target disk is /dev/sda
See naming conventions here.
Select the Disk to Partition
We will use fdisk for partitioning the disk:
fdisk /dev/sda
Output
root@archiso ~ # fdisk /dev/sda
Welcome to fdisk (util-linux 2.35.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x4aab1a89.
Command (m for help):
You can see all the available options by typing m
then press enter.
Output
Command (m for help): m
Help:
DOS (MBR)
a toggle a bootable flag
b edit nested BSD disklabel
c toggle the dos compatibility flag
Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition
Misc
m print this menu
u change display/entry units
x extra functionality (experts only)
Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table
Command (m for help):
Create GPT Partition
Press g
then press enter
Output
Command (m for help): g
Created a new GPT disklabel (GUID: CE0445F1-0655-404D-BD59-36A5D3E167E3).
Command (m for help):
Create EFI Partition
- Type
n
then press enter to create the first partition for EFI. - Press enter to use 1 as partition number.
- Press enter for the first sector.
- Type
+512M
then press enter for the last sector. - Type
t
then press enter to change the partition type. - Type
1
then press enter to select EFI System.
Output
Command (m for help): n
Partition number (1-128, default 1):
First sector (2048-67108830, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-67108830, default 67108830): +512M
Created a new partition 1 of type 'Linux filesystem' and of size 512 MiB.
Command (m for help): t
Selected partition 1
Partition type (type L to list all types): 1
Changed type of partition 'Linux filesystem' to 'EFI System'.
Command (m for help):
Create Linux Root Partition
- Type
n
then press enter to create the second partition. This will be our Linux root. It is the top of the directory tree. - Press enter to use 2 as partition number.
- Press enter for the first sector.
- Press enter for the last sector. This will use all the available sectors of the disk.
- Type
t
then press enter to change the partition type. - Type
2
then press enter to select the partition number. - Type
24
then press enter to select ‘Linux root (x86-64)’.
Output
Command (m for help): n
Partition number (2-128, default 2):
First sector (1050624-67108830, default 1050624):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1050624-67108830, default 67108830):
Created a new partition 2 of type 'Linux filesystem' and of size 31.5 GiB.
Command (m for help): t
Partition number (1,2, default 2): 2
Partition type (type L to list all types): 24
Changed type of partition 'Linux filesystem' to 'Linux root (x86-64)'.
Command (m for help):
Now, type w
then press enter to write the changes.
Output
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
root@archiso ~ #
Let’s check again if we created the desired partition by typing:
lsblk
Output
root@archiso ~ # lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 534.8M 1 loop /run/archiso/sfs/airootfs
sda 8:0 0 32G 0 disk
├─sda1 8:1 0 512M 0 part
└─sda2 8:2 0 31.5G 0 part
sr0 11:0 1 651M 0 rom /run/archiso/bootmnt
root@archiso ~ #
We can now see sda1 and sda2 under sda
Format the Partitions
Format the EFI partition as FAT32 by typing:
mkfs.fat -F32 /dev/sda1
Output
root@archiso ~ # mkfs.fat -F32 /dev/sda1
mkfs.fat 4.1 (2017-01-24)
root@archiso ~ #
Format the Linux root partition as ext4 by typing:
mkfs.ext4 /dev/sda2
Output
root@archiso ~ # mkfs.ext4 /dev/sda2
mke2fs 1.45.5 (07-Jan-2020)
Creating filesystem with 8257275 4k blocks and 2064384 inodes
Filesystem UUID: 215fc2d6-3231-424a-b296-b3a0c2fb5765
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
root@archiso ~ #
Let’s check if we formatted the partitions correctly:
lsblk -f
Output
root@archiso ~ # lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
loop0 squashfs 4.0 0 100% /run/archiso/sfs/airootfs
sda
├─sda1 vfat FAT32 265D-3DC9
└─sda2 ext4 1.0 215fc2d6-3231-424a-b296-b3a0c2fb5765
sr0 iso9660 ARCH_202003 2020-03-01-09-32-57-00 0 100% /run/archiso/bootmnt
root@archiso ~ #
We can see the sda1 has FSTYPE of vfat (FAT32 is actually an extension of FAT and VFAT) and sda2 has an FSTYPE of ext4.
Mount the File Systems
Mount the second partition:
mount /dev/sda2 /mnt
Output
root@archiso ~ # mount /dev/sda2 /mnt
root@archiso ~ #
Then create boot directory for EFI:
mkdir /mnt/boot
Output
root@archiso ~ # mkdir /mnt/boot
root@archiso ~ #
Mount the first partition to boot directory:
mount /dev/sda1 /mnt/boot
Output
root@archiso ~ # mount /dev/sda1 /mnt/boot
root@archiso ~ #
Install the Base Packages
Use the pacstrap script to install base and other necessary packages:
pacstrap /mnt base base-devel linux linux-firmware vim man-db man-pages bash-completion networkmanager net-tools openssh reflector
Output
root@archiso ~ # pacstrap /mnt base base-devel linux linux-firmware vim man-db man-pages bash-completion networkmanager net-tools openssh reflector
==> Creating install root at /mnt
==> Installing packages to /mnt
:: Synchronizing package databases...
core 135.9 KiB 360 KiB/s 00:00 [#####################################################################################################] 100%
extra 1638.1 KiB 225 KiB/s 00:07 [#####################################################################################################] 100%
community 4.8 MiB 235 KiB/s 00:21 [#####################################################################################################] 100%
:: There are 24 members in group base-devel:
:: Repository core
1) autoconf 2) automake 3) binutils 4) bison 5) fakeroot 6) file 7) findutils 8) flex 9) gawk 10) gcc 11) gettext 12) grep 13) groff 14) gzip 15) libtool 16) m4 17) make 18) pacman 19) patch 20) pkgconf 21) sed 22) sudo 23) texinfo 24) which
Enter a selection (default=all):
resolving dependencies...
:: There are 2 providers available for initramfs:
:: Repository core
1) mkinitcpio
:: Repository extra
2) dracut
Enter a number (default=1):
looking for conflicting packages...
Packages (170) acl-2.2.53-2 archlinux-keyring-20200108-1 argon2-20190702-2 attr-2.4.48-2 audit-2.8.5-6 bash-5.0.016-1 bluez-libs-5.53-1 bzip2-1.0.8-3 ca-certificates-20181109-3 ca-certificates-mozilla-3.51-1 ca-certificates-utils-20181109-3 coreutils-8.31-3
cracklib-2.9.7-2 cryptsetup-2.3.1-1 curl-7.69.1-1 db-5.3.28-5 dbus-1.12.16-5 device-mapper-2.02.186-5 diffutils-3.7-3 dnssec-anchors-20190629-2 e2fsprogs-1.45.5-1 expat-2.2.9-3 filesystem-2019.10-2 gc-8.0.4-3 gcc-libs-9.2.1+20200130-2
gdbm-1.18.1-3 glib2-2.64.0-1 glibc-2.31-1 gmp-6.2.0-1 gnupg-2.2.19-1 gnutls-3.6.12-1 gpgme-1.13.1-3 gpm-1.20.7.r27.g1fd1941-2 guile-2.2.6-1 hwids-20200204-1 iana-etc-20200311-1 icu-65.1-3 iproute2-5.5.0-1 iptables-1:1.8.4-1 iputils-20190709-2
jansson-2.12-1 js60-60.9.0-2 json-c-0.13.1-3 kbd-2.2.0-5 keyutils-1.6.1-3 kmod-27-1 krb5-1.17.1-1 ldns-1.7.1-2 less-551-3 libarchive-3.4.2-1 libassuan-2.5.3-2 libcap-2.33-1 libcap-ng-0.7.10-1 libcroco-0.6.13-1 libdaemon-0.14-4
libedit-20191231_3.1-1 libelf-0.177-2 libffi-3.2.1-4 libgcrypt-1.8.5-2 libgpg-error-1.37-1 libidn2-2.3.0-1 libksba-1.3.5-2 libldap-2.4.49-1 libmm-glib-1.12.6-1 libmnl-1.0.4-3 libmpc-1.1.0-2 libndp-1.7-1 libnetfilter_conntrack-1.0.7-1
libnewt-0.52.21-3 libnfnetlink-1.0.1-3 libnftnl-1.1.5-1 libnghttp2-1.39.2-2 libnl-3.5.0-2 libnm-1.22.10-1 libnsl-1.2.0-2 libp11-kit-0.23.20-3 libpcap-1.9.1-2 libpgm-5.2.122-5 libpipeline-1.5.2-1 libpsl-0.21.0-2 libsasl-2.1.27-2
libseccomp-2.4.2-1 libsecret-0.20.1-1 libsodium-1.0.18-1 libssh2-1.9.0-2 libtasn1-4.16.0-1 libteam-1.30-1 libtirpc-1.2.5-1 libunistring-0.9.10-2 libusb-1.0.23-2 libutil-linux-2.35.1-1 libxml2-2.9.10-1 licenses-20191011-2
linux-api-headers-5.4.17-1 lz4-1:1.9.2-2 mkinitcpio-27-3 mkinitcpio-busybox-1.31.1-1 mobile-broadband-provider-info-20190618-1 mpfr-4.0.2-2 ncurses-6.2-1 nettle-3.5.1-2 npth-1.6-2 nspr-4.25-1 nss-3.51-1 openssl-1.1.1.d-2 p11-kit-0.23.20-3
pacman-mirrorlist-20200207-1 pam-1.3.1-2 pambase-20190105.1-2 pciutils-3.6.4-1 pcre-8.43-2 pcre2-10.34-3 perl-5.30.1-1 pinentry-1.1.0-5 polkit-0.116-5 popt-1.16-12 procps-ng-3.3.16-1 psmisc-23.3-2 python-3.8.2-1 readline-8.0.004-1
shadow-4.8.1-1 slang-2.3.2-1 sqlite-3.31.1-1 systemd-245-3 systemd-libs-245-3 systemd-sysvcompat-245-3 tar-1.32-3 tzdata-2019c-3 util-linux-2.35.1-1 vim-runtime-8.2.0343-1 wpa_supplicant-2:2.9-7 xz-5.2.4-2 zeromq-4.3.2-1 zlib-1:1.2.11-4
zstd-1.4.4-1 autoconf-2.69-7 automake-1.16.1-2 base-2-2 bash-completion-2.10-1 binutils-2.34-1 bison-3.5.2-1 fakeroot-1.24-2 file-5.38-3 findutils-4.7.0-2 flex-2.6.4-3 gawk-5.0.1-2 gcc-9.2.1+20200130-2 gettext-0.20.1-3 grep-3.4-1
groff-1.22.4-3 gzip-1.10-3 libtool-2.4.6+42+gb88cebd5-10 linux-5.5.8.arch1-1 linux-firmware-20200224.efcfa03-1 m4-1.4.18-3 make-4.3-1 man-db-2.9.1-1 man-pages-5.05-1 net-tools-1.60.20181103git-2 networkmanager-1.22.10-1 openssh-8.2p1-3
pacman-5.2.1-4 patch-2.7.6-8 pkgconf-1.6.3-3 reflector-2019.10-2 sed-4.8-1 sudo-1.8.31-1 texinfo-6.7-2 vim-8.2.0343-1 which-2.21-5
Total Download Size: 407.83 MiB
Total Installed Size: 1610.06 MiB
:: Proceed with installation? [Y/n]
:: Retrieving packages...
iana-etc-20200311-1-any 388.8 KiB 230 KiB/s 00:02 [#####################################################################################################] 100%
filesystem-2019.10-2-x86_64 27.8 KiB 556 KiB/s 00:00 [#####################################################################################################] 100%
linux-api-headers-5.4.17-1-any 1040.3 KiB 258 KiB/s 00:04 [#####################################################################################################] 100%
tzdata-2019c-3-x86_64 341.5 KiB 300 KiB/s 00:01 [#####################################################################################################] 100%
glibc-2.31-1-x86_64 9.8 MiB 232 KiB/s 00:43 [#####################################################################################################] 100%
gcc-libs-9.2.1+20200130-2-x86_64 30.8 MiB 220 KiB/s 02:23 [#####################################################################################################] 100%
ncurses-6.2-1-x86_64 1141.2 KiB 191 KiB/s 00:06 [#####################################################################################################] 100%
readline-8.0.004-1-x86_64 309.7 KiB 170 KiB/s 00:02 [#####################################################################################################] 100%
bash-5.0.016-1-x86_64 1648.5 KiB 222 KiB/s 00:07 [#####################################################################################################] 100%
attr-2.4.48-2-x86_64 65.0 KiB 286 KiB/s 00:00 [#####################################################################################################] 100%
acl-2.2.53-2-x86_64 131.9 KiB 173 KiB/s 00:01 [#####################################################################################################] 100%
gmp-6.2.0-1-x86_64 439.6 KiB 200 KiB/s 00:02 [#####################################################################################################] 100%
libcap-2.33-1-x86_64 57.5 KiB 346 KiB/s 00:00 [#####################################################################################################] 100%
gdbm-1.18.1-3-x86_64 160.4 KiB 257 KiB/s 00:01 [#####################################################################################################] 100%
db-5.3.28-5-x86_64 1098.0 KiB 216 KiB/s 00:05 [#####################################################################################################] 100%
perl-5.30.1-1-x86_64 14.2 MiB 224 KiB/s 01:05 [#####################################################################################################] 100%
openssl-1.1.1.d-2-x86_64 3.4 MiB 228 KiB/s 00:15 [#####################################################################################################] 100%
coreutils-8.31-3-x86_64 2.4 MiB 174 KiB/s 00:14 [#####################################################################################################] 100%
zlib-1:1.2.11-4-x86_64 81.5 KiB 177 KiB/s 00:00 [#####################################################################################################] 100%
xz-5.2.4-2-x86_64 231.3 KiB 119 KiB/s 00:02 [#####################################################################################################] 100%
bzip2-1.0.8-3-x86_64 53.4 KiB 258 KiB/s 00:00 [#####################################################################################################] 100%
libseccomp-2.4.2-1-x86_64 99.5 KiB 141 KiB/s 00:01 [#####################################################################################################] 100%
file-5.38-3-x86_64 314.2 KiB 169 KiB/s 00:02 [#####################################################################################################] 100%
findutils-4.7.0-2-x86_64 454.6 KiB 191 KiB/s 00:02 [#####################################################################################################] 100%
mpfr-4.0.2-2-x86_64 314.0 KiB 220 KiB/s 00:01 [#####################################################################################################] 100%
gawk-5.0.1-2-x86_64 1096.3 KiB 210 KiB/s 00:05 [#####################################################################################################] 100%
pcre-8.43-2-x86_64 931.2 KiB 233 KiB/s 00:04 [#####################################################################################################] 100%
grep-3.4-1-x86_64 204.2 KiB 222 KiB/s 00:01 [#####################################################################################################] 100%
libgpg-error-1.37-1-x86_64 223.7 KiB 205 KiB/s 00:01 [#####################################################################################################] 100%
libgcrypt-1.8.5-2-x86_64 485.4 KiB 175 KiB/s 00:03 [#####################################################################################################] 100%
lz4-1:1.9.2-2-x86_64 109.4 KiB 126 KiB/s 00:01 [#####################################################################################################] 100%
systemd-libs-245-3-x86_64 504.7 KiB 215 KiB/s 00:02 [#####################################################################################################] 100%
procps-ng-3.3.16-1-x86_64 373.9 KiB 226 KiB/s 00:02 [#####################################################################################################] 100%
sed-4.8-1-x86_64 237.9 KiB 310 KiB/s 00:01 [#####################################################################################################] 100%
tar-1.32-3-x86_64 742.3 KiB 246 KiB/s 00:03 [#####################################################################################################] 100%
libffi-3.2.1-4-x86_64 31.3 KiB 412 KiB/s 00:00 [#####################################################################################################] 100%
libutil-linux-2.35.1-1-x86_64 409.0 KiB 151 KiB/s 00:03 [#####################################################################################################] 100%
glib2-2.64.0-1-x86_64 2.8 MiB 224 KiB/s 00:13 [#####################################################################################################] 100%
libunistring-0.9.10-2-x86_64 498.6 KiB 244 KiB/s 00:02 [#####################################################################################################] 100%
icu-65.1-3-x86_64 10.3 MiB 230 KiB/s 00:46 [#####################################################################################################] 100%
gettext-0.20.1-3-x86_64 1929.0 KiB 219 KiB/s 00:09 [#####################################################################################################] 100%
hwids-20200204-1-any 402.6 KiB 235 KiB/s 00:02 [#####################################################################################################] 100%
kmod-27-1-x86_64 103.8 KiB 281 KiB/s 00:00 [#####################################################################################################] 100%
pciutils-3.6.4-1-x86_64 97.4 KiB 217 KiB/s 00:00 [#####################################################################################################] 100%
psmisc-23.3-2-x86_64 110.1 KiB 338 KiB/s 00:00 [#####################################################################################################] 100%
cracklib-2.9.7-2-x86_64 250.4 KiB 218 KiB/s 00:01 [#####################################################################################################] 100%
e2fsprogs-1.45.5-1-x86_64 1195.4 KiB 190 KiB/s 00:06 [#####################################################################################################] 100%
libsasl-2.1.27-2-x86_64 136.2 KiB 219 KiB/s 00:01 [#####################################################################################################] 100%
libldap-2.4.49-1-x86_64 300.6 KiB 152 KiB/s 00:02 [#####################################################################################################] 100%
keyutils-1.6.1-3-x86_64 88.3 KiB 179 KiB/s 00:00 [#####################################################################################################] 100%
krb5-1.17.1-1-x86_64 1334.3 KiB 183 KiB/s 00:07 [#####################################################################################################] 100%
libtirpc-1.2.5-1-x86_64 170.0 KiB 201 KiB/s 00:01 [#####################################################################################################] 100%
pambase-20190105.1-2-any 2.9 KiB 0.00 B/s 00:00 [#####################################################################################################] 100%
pam-1.3.1-2-x86_64 559.6 KiB 237 KiB/s 00:02 [#####################################################################################################] 100%
libcap-ng-0.7.10-1-x86_64 35.7 KiB 223 KiB/s 00:00 [#####################################################################################################] 100%
audit-2.8.5-6-x86_64 338.5 KiB 311 KiB/s 00:01 [#####################################################################################################] 100%
shadow-4.8.1-1-x86_64 1171.2 KiB 235 KiB/s 00:05 [#####################################################################################################] 100%
util-linux-2.35.1-1-x86_64 2.4 MiB 230 KiB/s 00:11 [#####################################################################################################] 100%
less-551-3-x86_64 100.9 KiB 257 KiB/s 00:00 [#####################################################################################################] 100%
gzip-1.10-3-x86_64 77.8 KiB 206 KiB/s 00:00 [#####################################################################################################] 100%
licenses-20191011-2-any 66.8 KiB 215 KiB/s 00:00 [#####################################################################################################] 100%
expat-2.2.9-3-x86_64 94.6 KiB 204 KiB/s 00:00 [#####################################################################################################] 100%
zstd-1.4.4-1-x86_64 391.9 KiB 225 KiB/s 00:02 [#####################################################################################################] 100%
libarchive-3.4.2-1-x86_64 500.9 KiB 183 KiB/s 00:03 [#####################################################################################################] 100%
libtasn1-4.16.0-1-x86_64 121.3 KiB 153 KiB/s 00:01 [#####################################################################################################] 100%
libp11-kit-0.23.20-3-x86_64 470.1 KiB 260 KiB/s 00:02 [#####################################################################################################] 100%
device-mapper-2.02.186-5-x86_64 291.3 KiB 267 KiB/s 00:01 [#####################################################################################################] 100%
popt-1.16-12-x86_64 62.9 KiB 233 KiB/s 00:00 [#####################################################################################################] 100%
json-c-0.13.1-3-x86_64 45.0 KiB 155 KiB/s 00:00 [#####################################################################################################] 100%
argon2-20190702-2-x86_64 30.2 KiB 503 KiB/s 00:00 [#####################################################################################################] 100%
cryptsetup-2.3.1-1-x86_64 543.6 KiB 241 KiB/s 00:02 [#####################################################################################################] 100%
dbus-1.12.16-5-x86_64 298.3 KiB 199 KiB/s 00:01 [#####################################################################################################] 100%
libmnl-1.0.4-3-x86_64 10.4 KiB 0.00 B/s 00:00 [#####################################################################################################] 100%
libnftnl-1.1.5-1-x86_64 61.1 KiB 278 KiB/s 00:00 [#####################################################################################################] 100%
libnl-3.5.0-2-x86_64 364.7 KiB 234 KiB/s 00:02 [#####################################################################################################] 100%
libusb-1.0.23-2-x86_64 57.0 KiB 312 KiB/s 00:00 [#####################################################################################################] 100%
libpcap-1.9.1-2-x86_64 240.0 KiB 266 KiB/s 00:01 [#####################################################################################################] 100%
iptables-1:1.8.4-1-x86_64 426.5 KiB 203 KiB/s 00:02 [#####################################################################################################] 100%
kbd-2.2.0-5-x86_64 1135.6 KiB 202 KiB/s 00:06 [#####################################################################################################] 100%
libidn2-2.3.0-1-x86_64 115.9 KiB 184 KiB/s 00:01 [#####################################################################################################] 100%
libelf-0.177-2-x86_64 373.5 KiB 304 KiB/s 00:01 [#####################################################################################################] 100%
pcre2-10.34-3-x86_64 1038.5 KiB 221 KiB/s 00:05 [#####################################################################################################] 100%
systemd-245-3-x86_64 5.6 MiB 248 KiB/s 00:23 [#####################################################################################################] 100%
p11-kit-0.23.20-3-x86_64 137.2 KiB 257 KiB/s 00:01 [#####################################################################################################] 100%
ca-certificates-utils-20181109-3-any 8.2 KiB 0.00 B/s 00:00 [#####################################################################################################] 100%
ca-certificates-mozilla-3.51-1-x86_64 336.6 KiB 192 KiB/s 00:02 [#####################################################################################################] 100%
ca-certificates-20181109-3-any 2.1 KiB 0.00 B/s 00:00 [#####################################################################################################] 100%
libssh2-1.9.0-2-x86_64 205.8 KiB 160 KiB/s 00:01 [#####################################################################################################] 100%
libpsl-0.21.0-2-x86_64 73.2 KiB 220 KiB/s 00:00 [#####################################################################################################] 100%
libnghttp2-1.39.2-2-x86_64 86.7 KiB 305 KiB/s 00:00 [#####################################################################################################] 100%
curl-7.69.1-1-x86_64 1022.3 KiB 225 KiB/s 00:05 [#####################################################################################################] 100%
npth-1.6-2-x86_64 12.8 KiB 0.00 B/s 00:00 [#####################################################################################################] 100%
libksba-1.3.5-2-x86_64 116.6 KiB 171 KiB/s 00:01 [#####################################################################################################] 100%
libassuan-2.5.3-2-x86_64 85.0 KiB 209 KiB/s 00:00 [#####################################################################################################] 100%
libsecret-0.20.1-1-x86_64 236.6 KiB 316 KiB/s 00:01 [#####################################################################################################] 100%
pinentry-1.1.0-5-x86_64 101.6 KiB 238 KiB/s 00:00 [#####################################################################################################] 100%
nettle-3.5.1-2-x86_64 329.4 KiB 205 KiB/s 00:02 [#####################################################################################################] 100%
gnutls-3.6.12-1-x86_64 2.8 MiB 230 KiB/s 00:12 [#####################################################################################################] 100%
sqlite-3.31.1-1-x86_64 1558.6 KiB 225 KiB/s 00:07 [#####################################################################################################] 100%
gnupg-2.2.19-1-x86_64 2.1 MiB 226 KiB/s 00:10 [#####################################################################################################] 100%
gpgme-1.13.1-3-x86_64 410.9 KiB 190 KiB/s 00:02 [#####################################################################################################] 100%
pacman-mirrorlist-20200207-1-any 6.0 KiB 0.00 B/s 00:00 [#####################################################################################################] 100%
archlinux-keyring-20200108-1-any 868.3 KiB 245 KiB/s 00:04 [#####################################################################################################] 100%
pacman-5.2.1-4-x86_64 836.6 KiB 203 KiB/s 00:04 [#####################################################################################################] 100%
systemd-sysvcompat-245-3-x86_64 8.2 KiB 0.00 B/s 00:00 [#####################################################################################################] 100%
iputils-20190709-2-x86_64 92.1 KiB 259 KiB/s 00:00 [#####################################################################################################] 100%
iproute2-5.5.0-1-x86_64 913.4 KiB 227 KiB/s 00:04 [#####################################################################################################] 100%
base-2-2-any 2.1 KiB 0.00 B/s 00:00 [#####################################################################################################] 100%
m4-1.4.18-3-x86_64 169.4 KiB 315 KiB/s 00:01 [#####################################################################################################] 100%
diffutils-3.7-3-x86_64 324.1 KiB 256 KiB/s 00:01 [#####################################################################################################] 100%
autoconf-2.69-7-any 591.2 KiB 248 KiB/s 00:02 [#####################################################################################################] 100%
automake-1.16.1-2-any 598.7 KiB 198 KiB/s 00:03 [#####################################################################################################] 100%
binutils-2.34-1-x86_64 5.2 MiB 232 KiB/s 00:23 [#####################################################################################################] 100%
bison-3.5.2-1-x86_64 675.3 KiB 240 KiB/s 00:03 [#####################################################################################################] 100%
fakeroot-1.24-2-x86_64 67.0 KiB 221 KiB/s 00:00 [#####################################################################################################] 100%
flex-2.6.4-3-x86_64 297.2 KiB 217 KiB/s 00:01 [#####################################################################################################] 100%
libmpc-1.1.0-2-x86_64 65.1 KiB 176 KiB/s 00:00 [#####################################################################################################] 100%
gcc-9.2.1+20200130-2-x86_64 29.9 MiB 224 KiB/s 02:17 [#####################################################################################################] 100%
groff-1.22.4-3-x86_64 2044.3 KiB 194 KiB/s 00:11 [#####################################################################################################] 100%
libtool-2.4.6+42+gb88cebd5-10-x86_64 407.4 KiB 269 KiB/s 00:02 [#####################################################################################################] 100%
texinfo-6.7-2-x86_64 1301.6 KiB 214 KiB/s 00:06 [#####################################################################################################] 100%
make-4.3-1-x86_64 481.6 KiB 238 KiB/s 00:02 [#####################################################################################################] 100%
patch-2.7.6-8-x86_64 92.5 KiB 308 KiB/s 00:00 [#####################################################################################################] 100%
pkgconf-1.6.3-3-x86_64 54.7 KiB 0.00 B/s 00:00 [#####################################################################################################] 100%
sudo-1.8.31-1-x86_64 868.8 KiB 211 KiB/s 00:04 [#####################################################################################################] 100%
which-2.21-5-x86_64 15.8 KiB 0.00 B/s 00:00 [#####################################################################################################] 100%
mkinitcpio-busybox-1.31.1-1-x86_64 254.8 KiB 233 KiB/s 00:01 [#####################################################################################################] 100%
mkinitcpio-27-3-any 41.8 KiB 380 KiB/s 00:00 [#####################################################################################################] 100%
linux-5.5.8.arch1-1-x86_64 69.2 MiB 226 KiB/s 05:14 [#####################################################################################################] 100%
linux-firmware-20200224.efcfa03-1-any 99.4 MiB 221 KiB/s 07:40 [#####################################################################################################] 100%
gpm-1.20.7.r27.g1fd1941-2-x86_64 132.0 KiB 307 KiB/s 00:00 [#####################################################################################################] 100%
libpipeline-1.5.2-1-x86_64 40.0 KiB 176 KiB/s 00:00 [#####################################################################################################] 100%
man-db-2.9.1-1-x86_64 1018.1 KiB 234 KiB/s 00:04 [#####################################################################################################] 100%
man-pages-5.05-1-any 5.7 MiB 231 KiB/s 00:25 [#####################################################################################################] 100%
nspr-4.25-1-x86_64 200.1 KiB 204 KiB/s 00:01 [#####################################################################################################] 100%
nss-3.51-1-x86_64 1454.5 KiB 233 KiB/s 00:06 [#####################################################################################################] 100%
wpa_supplicant-2:2.9-7-x86_64 1323.2 KiB 210 KiB/s 00:06 [#####################################################################################################] 100%
net-tools-1.60.20181103git-2-x86_64 128.9 KiB 176 KiB/s 00:01 [#####################################################################################################] 100%
libedit-20191231_3.1-1-x86_64 106.9 KiB 247 KiB/s 00:00 [#####################################################################################################] 100%
dnssec-anchors-20190629-2-any 3.1 KiB 0.00 B/s 00:00 [#####################################################################################################] 100%
ldns-1.7.1-2-x86_64 435.9 KiB 201 KiB/s 00:02 [#####################################################################################################] 100%
openssh-8.2p1-3-x86_64 884.7 KiB 202 KiB/s 00:04 [#####################################################################################################] 100%
libnsl-1.2.0-2-x86_64 57.4 KiB 283 KiB/s 00:00 [#####################################################################################################] 100%
libxml2-2.9.10-1-x86_64 1267.4 KiB 217 KiB/s 00:06 [#####################################################################################################] 100%
libcroco-0.6.13-1-x86_64 146.0 KiB 238 KiB/s 00:01 [#####################################################################################################] 100%
libnfnetlink-1.0.1-3-x86_64 16.4 KiB 0.00 B/s 00:00 [#####################################################################################################] 100%
libnetfilter_conntrack-1.0.7-1-x86_64 47.5 KiB 347 KiB/s 00:00 [#####################################################################################################] 100%
gc-8.0.4-3-x86_64 221.1 KiB 336 KiB/s 00:01 [#####################################################################################################] 100%
guile-2.2.6-1-x86_64 5.6 MiB 248 KiB/s 00:23 [#####################################################################################################] 100%
vim-runtime-8.2.0343-1-x86_64 6.2 MiB 234 KiB/s 00:27 [#####################################################################################################] 100%
vim-8.2.0343-1-x86_64 1635.9 KiB 219 KiB/s 00:07 [#####################################################################################################] 100%
bash-completion-2.10-1-any 188.3 KiB 271 KiB/s 00:01 [#####################################################################################################] 100%
libnm-1.22.10-1-x86_64 1058.8 KiB 235 KiB/s 00:05 [#####################################################################################################] 100%
js60-60.9.0-2-x86_64 9.3 MiB 234 KiB/s 00:41 [#####################################################################################################] 100%
polkit-0.116-5-x86_64 399.4 KiB 222 KiB/s 00:02 [#####################################################################################################] 100%
libmm-glib-1.12.6-1-x86_64 432.2 KiB 205 KiB/s 00:02 [#####################################################################################################] 100%
slang-2.3.2-1-x86_64 714.1 KiB 208 KiB/s 00:03 [#####################################################################################################] 100%
libndp-1.7-1-x86_64 17.0 KiB 739 KiB/s 00:00 [#####################################################################################################] 100%
libdaemon-0.14-4-x86_64 18.2 KiB 791 KiB/s 00:00 [#####################################################################################################] 100%
libteam-1.30-1-x86_64 241.6 KiB 190 KiB/s 00:01 [#####################################################################################################] 100%
bluez-libs-5.53-1-x86_64 79.3 KiB 291 KiB/s 00:00 [#####################################################################################################] 100%
mobile-broadband-provider-info-20190618-1-any 58.4 KiB 250 KiB/s 00:00 [#####################################################################################################] 100%
networkmanager-1.22.10-1-x86_64 3.1 MiB 232 KiB/s 00:14 [#####################################################################################################] 100%
python-3.8.2-1-x86_64 30.5 MiB 210 KiB/s 02:29 [#####################################################################################################] 100%
jansson-2.12-1-x86_64 38.9 KiB 389 KiB/s 00:00 [#####################################################################################################] 100%
libnewt-0.52.21-3-x86_64 89.8 KiB 186 KiB/s 00:00 [#####################################################################################################] 100%
libsodium-1.0.18-1-x86_64 158.6 KiB 292 KiB/s 00:01 [#####################################################################################################] 100%
libpgm-5.2.122-5-x86_64 189.0 KiB 209 KiB/s 00:01 [#####################################################################################################] 100%
zeromq-4.3.2-1-x86_64 550.4 KiB 212 KiB/s 00:03 [#####################################################################################################] 100%
reflector-2019.10-2-any 18.8 KiB 0.00 B/s 00:00 [#####################################################################################################] 100%
(170/170) checking keys in keyring [#####################################################################################################] 100%
(170/170) checking package integrity [#####################################################################################################] 100%
(170/170) loading package files [#####################################################################################################] 100%
(170/170) checking for file conflicts [#####################################################################################################] 100%
:: Processing package changes...
( 1/170) installing iana-etc [#####################################################################################################] 100%
( 2/170) installing filesystem [#####################################################################################################] 100%
( 3/170) installing linux-api-headers [#####################################################################################################] 100%
( 4/170) installing tzdata [#####################################################################################################] 100%
( 5/170) installing glibc [#####################################################################################################] 100%
Optional dependencies for glibc
gd: for memusagestat
( 6/170) installing gcc-libs [#####################################################################################################] 100%
( 7/170) installing ncurses [#####################################################################################################] 100%
( 8/170) installing readline [#####################################################################################################] 100%
( 9/170) installing bash [#####################################################################################################] 100%
Optional dependencies for bash
bash-completion: for tab completion [pending]
( 10/170) installing attr [#####################################################################################################] 100%
( 11/170) installing acl [#####################################################################################################] 100%
( 12/170) installing gmp [#####################################################################################################] 100%
( 13/170) installing libcap [#####################################################################################################] 100%
( 14/170) installing gdbm [#####################################################################################################] 100%
( 15/170) installing db [#####################################################################################################] 100%
( 16/170) installing perl [#####################################################################################################] 100%
( 17/170) installing openssl [#####################################################################################################] 100%
Optional dependencies for openssl
ca-certificates [pending]
( 18/170) installing coreutils [#####################################################################################################] 100%
( 19/170) installing zlib [#####################################################################################################] 100%
( 20/170) installing xz [#####################################################################################################] 100%
( 21/170) installing bzip2 [#####################################################################################################] 100%
( 22/170) installing libseccomp [#####################################################################################################] 100%
( 23/170) installing file [#####################################################################################################] 100%
( 24/170) installing findutils [#####################################################################################################] 100%
( 25/170) installing mpfr [#####################################################################################################] 100%
( 26/170) installing gawk [#####################################################################################################] 100%
( 27/170) installing pcre [#####################################################################################################] 100%
( 28/170) installing grep [#####################################################################################################] 100%
( 29/170) installing libgpg-error [#####################################################################################################] 100%
( 30/170) installing libgcrypt [#####################################################################################################] 100%
( 31/170) installing lz4 [#####################################################################################################] 100%
( 32/170) installing systemd-libs [#####################################################################################################] 100%
( 33/170) installing procps-ng [#####################################################################################################] 100%
( 34/170) installing sed [#####################################################################################################] 100%
( 35/170) installing tar [#####################################################################################################] 100%
( 36/170) installing libffi [#####################################################################################################] 100%
( 37/170) installing libutil-linux [#####################################################################################################] 100%
( 38/170) installing glib2 [#####################################################################################################] 100%
Optional dependencies for glib2
python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report [pending]
libelf: gresource inspection tool [pending]
( 39/170) installing libunistring [#####################################################################################################] 100%
( 40/170) installing icu [#####################################################################################################] 100%
( 41/170) installing libxml2 [#####################################################################################################] 100%
( 42/170) installing libcroco [#####################################################################################################] 100%
( 43/170) installing gettext [#####################################################################################################] 100%
Optional dependencies for gettext
git: for autopoint infrastructure updates
( 44/170) installing hwids [#####################################################################################################] 100%
( 45/170) installing kmod [#####################################################################################################] 100%
( 46/170) installing pciutils [#####################################################################################################] 100%
( 47/170) installing psmisc [#####################################################################################################] 100%
( 48/170) installing cracklib [#####################################################################################################] 100%
( 49/170) installing e2fsprogs [#####################################################################################################] 100%
( 50/170) installing libsasl [#####################################################################################################] 100%
( 51/170) installing libldap [#####################################################################################################] 100%
( 52/170) installing keyutils [#####################################################################################################] 100%
( 53/170) installing krb5 [#####################################################################################################] 100%
( 54/170) installing libtirpc [#####################################################################################################] 100%
( 55/170) installing pambase [#####################################################################################################] 100%
( 56/170) installing pam [#####################################################################################################] 100%
( 57/170) installing libcap-ng [#####################################################################################################] 100%
( 58/170) installing audit [#####################################################################################################] 100%
( 59/170) installing shadow [#####################################################################################################] 100%
( 60/170) installing util-linux [#####################################################################################################] 100%
Optional dependencies for util-linux
python: python bindings to libmount [pending]
words: default dictionary for look
( 61/170) installing less [#####################################################################################################] 100%
( 62/170) installing gzip [#####################################################################################################] 100%
( 63/170) installing licenses [#####################################################################################################] 100%
( 64/170) installing expat [#####################################################################################################] 100%
( 65/170) installing zstd [#####################################################################################################] 100%
( 66/170) installing libarchive [#####################################################################################################] 100%
( 67/170) installing libtasn1 [#####################################################################################################] 100%
( 68/170) installing libp11-kit [#####################################################################################################] 100%
( 69/170) installing device-mapper [#####################################################################################################] 100%
( 70/170) installing popt [#####################################################################################################] 100%
( 71/170) installing json-c [#####################################################################################################] 100%
( 72/170) installing argon2 [#####################################################################################################] 100%
( 73/170) installing cryptsetup [#####################################################################################################] 100%
( 74/170) installing dbus [#####################################################################################################] 100%
( 75/170) installing libmnl [#####################################################################################################] 100%
( 76/170) installing libnftnl [#####################################################################################################] 100%
( 77/170) installing libnl [#####################################################################################################] 100%
( 78/170) installing libusb [#####################################################################################################] 100%
( 79/170) installing libpcap [#####################################################################################################] 100%
( 80/170) installing libnfnetlink [#####################################################################################################] 100%
( 81/170) installing libnetfilter_conntrack [#####################################################################################################] 100%
( 82/170) installing iptables [#####################################################################################################] 100%
( 83/170) installing kbd [#####################################################################################################] 100%
( 84/170) installing libidn2 [#####################################################################################################] 100%
( 85/170) installing libelf [#####################################################################################################] 100%
( 86/170) installing pcre2 [#####################################################################################################] 100%
( 87/170) installing systemd [#####################################################################################################] 100%
Initializing machine ID from random generator.
Created symlink /etc/systemd/system/getty.target.wants/getty@tty1.service → /usr/lib/systemd/system/getty@.service.
Created symlink /etc/systemd/system/multi-user.target.wants/remote-fs.target → /usr/lib/systemd/system/remote-fs.target.
:: Append 'init=/usr/lib/systemd/systemd' to your kernel command line in your
bootloader to replace sysvinit with systemd, or install systemd-sysvcompat
Optional dependencies for systemd
libmicrohttpd: remote journald capabilities
quota-tools: kernel-level quota management
systemd-sysvcompat: symlink package to provide sysvinit binaries [pending]
polkit: allow administration as unprivileged user [pending]
curl: machinectl pull-tar and pull-raw [pending]
( 88/170) installing p11-kit [#####################################################################################################] 100%
Created symlink /etc/systemd/user/sockets.target.wants/p11-kit-server.socket → /usr/lib/systemd/user/p11-kit-server.socket.
( 89/170) installing ca-certificates-utils [#####################################################################################################] 100%
( 90/170) installing ca-certificates-mozilla [#####################################################################################################] 100%
( 91/170) installing ca-certificates [#####################################################################################################] 100%
( 92/170) installing libssh2 [#####################################################################################################] 100%
( 93/170) installing libpsl [#####################################################################################################] 100%
( 94/170) installing libnghttp2 [#####################################################################################################] 100%
( 95/170) installing curl [#####################################################################################################] 100%
( 96/170) installing npth [#####################################################################################################] 100%
( 97/170) installing libksba [#####################################################################################################] 100%
( 98/170) installing libassuan [#####################################################################################################] 100%
( 99/170) installing libsecret [#####################################################################################################] 100%
Optional dependencies for libsecret
org.freedesktop.secrets: secret storage backend
(100/170) installing pinentry [#####################################################################################################] 100%
Optional dependencies for pinentry
gtk2: gtk2 backend
qt5-base: qt backend
gcr: gnome3 backend
(101/170) installing nettle [#####################################################################################################] 100%
(102/170) installing gnutls [#####################################################################################################] 100%
Optional dependencies for gnutls
guile: for use with Guile bindings [pending]
(103/170) installing sqlite [#####################################################################################################] 100%
(104/170) installing gnupg [#####################################################################################################] 100%
Optional dependencies for gnupg
libldap: gpg2keys_ldap [installed]
libusb-compat: scdaemon
pcsclite: scdaemon
(105/170) installing gpgme [#####################################################################################################] 100%
(106/170) installing pacman-mirrorlist [#####################################################################################################] 100%
(107/170) installing archlinux-keyring [#####################################################################################################] 100%
(108/170) installing pacman [#####################################################################################################] 100%
Optional dependencies for pacman
perl-locale-gettext: translation support in makepkg-template
(109/170) installing systemd-sysvcompat [#####################################################################################################] 100%
(110/170) installing iputils [#####################################################################################################] 100%
Optional dependencies for iputils
xinetd: for tftpd
(111/170) installing iproute2 [#####################################################################################################] 100%
Optional dependencies for iproute2
linux-atm: ATM support
(112/170) installing base [#####################################################################################################] 100%
Optional dependencies for base
linux: bare metal support [pending]
(113/170) installing m4 [#####################################################################################################] 100%
(114/170) installing diffutils [#####################################################################################################] 100%
(115/170) installing autoconf [#####################################################################################################] 100%
(116/170) installing automake [#####################################################################################################] 100%
(117/170) installing binutils [#####################################################################################################] 100%
(118/170) installing bison [#####################################################################################################] 100%
(119/170) installing fakeroot [#####################################################################################################] 100%
(120/170) installing flex [#####################################################################################################] 100%
(121/170) installing libmpc [#####################################################################################################] 100%
(122/170) installing gcc [#####################################################################################################] 100%
Optional dependencies for gcc
lib32-gcc-libs: for generating code for 32-bit ABI
(123/170) installing groff [#####################################################################################################] 100%
Optional dependencies for groff
netpbm: for use together with man -H command interaction in browsers
psutils: for use together with man -H command interaction in browsers
libxaw: for gxditview
perl-file-homedir: for use with glilypond
(124/170) installing libtool [#####################################################################################################] 100%
(125/170) installing texinfo [#####################################################################################################] 100%
(126/170) installing gc [#####################################################################################################] 100%
(127/170) installing guile [#####################################################################################################] 100%
(128/170) installing make [#####################################################################################################] 100%
(129/170) installing patch [#####################################################################################################] 100%
Optional dependencies for patch
ed: for patch -e functionality
(130/170) installing pkgconf [#####################################################################################################] 100%
(131/170) installing sudo [#####################################################################################################] 100%
(132/170) installing which [#####################################################################################################] 100%
(133/170) installing mkinitcpio-busybox [#####################################################################################################] 100%
(134/170) installing mkinitcpio [#####################################################################################################] 100%
Optional dependencies for mkinitcpio
xz: Use lzma or xz compression for the initramfs image [installed]
bzip2: Use bzip2 compression for the initramfs image [installed]
lzop: Use lzo compression for the initramfs image
lz4: Use lz4 compression for the initramfs image [installed]
mkinitcpio-nfs-utils: Support for root filesystem on NFS
(135/170) installing linux [#####################################################################################################] 100%
Optional dependencies for linux
crda: to set the correct wireless channels of your country
linux-firmware: firmware images needed for some devices [pending]
(136/170) installing linux-firmware [#####################################################################################################] 100%
(137/170) installing vim-runtime [#####################################################################################################] 100%
Optional dependencies for vim-runtime
sh: support for some tools and macros [installed]
python: demoserver example tool [pending]
gawk: mve tools upport [installed]
(138/170) installing gpm [#####################################################################################################] 100%
(139/170) installing vim [#####################################################################################################] 100%
Optional dependencies for vim
python2: Python 2 language support
python: Python 3 language support [pending]
ruby: Ruby language support
lua: Lua language support
perl: Perl language support [installed]
tcl: Tcl language support
(140/170) installing libpipeline [#####################################################################################################] 100%
(141/170) installing man-db [#####################################################################################################] 100%
Optional dependencies for man-db
gzip [installed]
(142/170) installing man-pages [#####################################################################################################] 100%
(143/170) installing bash-completion [#####################################################################################################] 100%
(144/170) installing nspr [#####################################################################################################] 100%
(145/170) installing nss [#####################################################################################################] 100%
(146/170) installing jansson [#####################################################################################################] 100%
(147/170) installing libnm [#####################################################################################################] 100%
(148/170) installing js60 [#####################################################################################################] 100%
(149/170) installing polkit [#####################################################################################################] 100%
(150/170) installing wpa_supplicant [#####################################################################################################] 100%
(151/170) installing libmm-glib [#####################################################################################################] 100%
(152/170) installing slang [#####################################################################################################] 100%
(153/170) installing libnewt [#####################################################################################################] 100%
Optional dependencies for libnewt
tcl: whiptcl support
python: libnewt support with the _snack module [pending]
python2: libnewt support with the _snack module
(154/170) installing libndp [#####################################################################################################] 100%
(155/170) installing libdaemon [#####################################################################################################] 100%
(156/170) installing libsodium [#####################################################################################################] 100%
(157/170) installing libpgm [#####################################################################################################] 100%
(158/170) installing zeromq [#####################################################################################################] 100%
(159/170) installing libteam [#####################################################################################################] 100%
(160/170) installing bluez-libs [#####################################################################################################] 100%
(161/170) installing mobile-broadband-provider-info [#####################################################################################################] 100%
(162/170) installing networkmanager [#####################################################################################################] 100%
Optional dependencies for networkmanager
dnsmasq: connection sharing
bluez: Bluetooth support
ppp: dialup connection support
modemmanager: cellular network support
iwd: wpa_supplicant alternative
(163/170) installing net-tools [#####################################################################################################] 100%
(164/170) installing libedit [#####################################################################################################] 100%
(165/170) installing dnssec-anchors [#####################################################################################################] 100%
(166/170) installing ldns [#####################################################################################################] 100%
Optional dependencies for ldns
libpcap: ldns-dpa tool [installed]
(167/170) installing openssh [#####################################################################################################] 100%
Optional dependencies for openssh
xorg-xauth: X11 forwarding
x11-ssh-askpass: input passphrase in X
libfido2: FIDO/U2F support
(168/170) installing libnsl [#####################################################################################################] 100%
(169/170) installing python [#####################################################################################################] 100%
Optional dependencies for python
python-setuptools
python-pip
sqlite [installed]
mpdecimal: for decimal
xz: for lzma [installed]
tk: for tkinter
(170/170) installing reflector [#####################################################################################################] 100%
Optional dependencies for reflector
rsync: rate rsync mirrors
:: Running post-transaction hooks...
( 1/14) Creating system user accounts...
( 2/14) Updating journal message catalog...
( 3/14) Reloading system manager configuration...
Running in chroot, ignoring request: daemon-reload
( 4/14) Updating udev hardware database...
( 5/14) Applying kernel sysctl settings...
( 6/14) Creating temporary files...
( 7/14) Reloading device manager configuration...
Running in chroot, ignoring request.
( 8/14) Arming ConditionNeedsUpdate...
( 9/14) Updating module dependencies...
(10/14) Updating linux initcpios...
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 5.5.8-arch1-1
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [autodetect]
-> Running build hook: [modconf]
-> Running build hook: [block]
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 5.5.8-arch1-1
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [modconf]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: aic94xx
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful
(11/14) Reloading system bus configuration...
Running in chroot, ignoring request: try-reload-or-restart
(12/14) Warn about old perl modules
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_MESSAGES = "",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
(13/14) Updating the info directory file...
(14/14) Rebuilding certificate stores...
pacstrap /mnt base base-devel linux linux-firmware vim man-db man-pages 32.53s user 20.17s system 0% cpu 22:31:17.25 total
root@archiso ~ #
Configure the system
Fstab
Generate an fstab file:
genfstab -U /mnt >> /mnt/etc/fstab && cat /mnt/etc/fstab
Output
root@archiso ~ # genfstab -U /mnt >> /mnt/etc/fstab && cat /mnt/etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sda2
UUID=f691168b-f435-453c-b024-bc34baf0fc5f / ext4 rw,relatime 0 1
# /dev/sda1
UUID=B479-C51C /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 2
root@archiso ~ #
Chroot
Use chroot to change current root directory to /mnt:
arch-chroot /mnt
Output
root@archiso ~ # arch-chroot /mnt
[root@archiso /]#
Time Zone
Change to your local time:
ln -sf /usr/share/zoneinfo/Pacific/Auckland /etc/localtime
Output
[root@archiso /]# ln -sf /usr/share/zoneinfo/Pacific/Auckland /etc/localtime
[root@archiso /]#
Set the hardware clock from the system clock:
hwclock --systohc
Output
[root@archiso /]# hwclock --systohc
[root@archiso /]#
Localization
Select locale entries
Before a locale can be enabled on the system, it must be generated. This can be achieved by uncommenting applicable entries in /etc/locale.gen. In this case, we will be using en_US.UTF-8 UTF-8.
Edit locale entries:
vim /etc/locale.gen
Output
[root@archiso /]# vim /etc/locale.gen
[root@archiso /]#
Verify:
cat /etc/locale.gen | grep en_US
Output
[root@archiso /]# cat /etc/locale.gen | grep en_US
# en_US ISO-8859-1
# en_US.UTF-8 UTF-8
en_US.UTF-8 UTF-8
#en_US ISO-8859-1
[root@archiso /]#
Generate locale
We can now generate the locale by typing:
locale-gen
Output
[root@archiso /]# locale-gen
Generating locales...
en_US.UTF-8... done
Generation complete.
[root@archiso /]#
Edit Configuration File for Locale Settings
Create locale.conf file under /etc directory:
echo LANG=en_US.UTF-8 > /etc/locale.conf && cat /etc/locale.conf
Output
[root@archiso /]# echo LANG=en_US.UTF-8 > /etc/locale.conf && cat /etc/locale.conf
LANG=en_US.UTF-8
[root@archiso /]#
Network configuration
Create the hostname file. In this case, we will use arch as the hostname:
echo arch > /etc/hostname && cat /etc/hostname
Output
[root@archiso /]# echo arch > /etc/hostname && cat /etc/hostname
arch
[root@archiso /]#
Static Table Lookup for Hostnames
/etc/hosts is a simple text file that associates IP addresses with hostnames, one line per IP address.
Edit this file and map IPv4/IPv6 loopback address to localhost:
vim /etc/hosts
Verify:
cat /etc/hosts
Output
[root@archiso /]# vim /etc/hosts
[root@arch ~]# cat /etc/hosts
# Static table lookup for hostnames.
# See hosts(5) for details.
127.0.0.1 localhost
::1 localhost
127.0.1.1 arch.localdomain arch
[root@arch ~]#
Root Password
Add root password:
passwd
Output
[root@archiso /]# passwd
New password:
Retype new password:
passwd: password updated successfully
[root@archiso /]#
Install EFI Boot Manager
Copy the systemd-boot boot loader to the EFI partition:
bootctl --path=/boot install
Output
[root@archiso /]# bootctl --path=/boot install
Created "/boot/EFI".
Created "/boot/EFI/systemd".
Created "/boot/EFI/BOOT".
Created "/boot/loader".
Created "/boot/loader/entries".
Created "/boot/EFI/Linux".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/boot/EFI/systemd/systemd-bootx64.efi".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/boot/EFI/BOOT/BOOTX64.EFI".
Created "/boot/3458592d5b034109a456aea361de109e".
Random seed file /boot/loader/random-seed successfully written (512 bytes).
Not installing system token, since we are running in a virtualized environment.
Created EFI boot entry "Linux Boot Manager".
[root@archiso /]#
See more details about EFI boot manager here.
Loader Configuration
Edit loader configuration file:
vim /boot/loader/loader.conf
Verify:
cat /boot/loader/loader.conf
Output
[root@archiso /]# vim /boot/loader/loader.conf
[root@archiso /]# cat /boot/loader/loader.conf
#timeout 3
#console-mode keep
default arch-*
[root@archiso /]#
See more details about loader configuration here.
Add Arch Linux Loader Entry
Create a file arch.conf
under /boot/loader/entries/
directory:
vim /boot/loader/entries/arch.conf
Verify:
cat /boot/loader/entries/arch.conf
Output
[root@archiso /]# vim /boot/loader/entries/arch.conf
[root@archiso /]# cat /boot/loader/entries/arch.conf
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=UUID=f691168b-f435-453c-b024-bc34baf0fc5f rw
[root@archiso /]#
See more details about adding loaders here
Boot to Actual System
Our installation is done. we can now exit:
exit
Output
[root@archiso /]# exit
exit
root@archiso ~ #
Remove the Arch Linux Installer USB Drive before rebooting:
reboot
Output
root@archiso ~ # reboot
root@archiso ~ #
Post Installation
After rebooting, you will now see the console login:
Arch Linux 5.5.8-arch1-1 (tty1)
arch Login: root
Password:
[root@arch ~]#
There is no network connection yet. Start and enable NetworkManager:
Start the Daemon
systemctl start NetworkManager
Output
[root@arch ~]# systemctl start NetworkManager
[root@arch ~]#
Autostart the Daemon Every Boot
systemctl enable NetworkManager
Output
[root@arch ~]# systemctl enable NetworkManager
Created symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service → /usr/lib/systemd/system/NetworkManager.service.
Created symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service → /usr/lib/systemd/system/NetworkManager-dispatcher.service.
Created symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service → /usr/lib/systemd/system/NetworkManager-wait-online.service.
[root@arch ~]#
Verify Internet Connection
ping -c3 archlinux.org
Output
[root@arch ~]# ping -c3 archlinux.org
PING archlinux.org (138.201.81.199) 56(84) bytes of data.
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=1 ttl=63 time=301 ms
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=2 ttl=63 time=301 ms
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=3 ttl=63 time=301 ms
--- archlinux.org ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 300.670/300.781/300.901/0.094 ms
[root@arch ~]#
Swap File
I prefer using a Swap file instead of creating a dedicated partition for it. You can change the size on-the-fly or remove it if not needed. Although this is not required, it is still better to have an extra room for the memory.
Create the Swap File
fallocate -l 4G /swapfile
Output
[root@arch ~]# fallocate -l 4G /swapfile
[root@arch ~]#
Change the Swap File Permission
chmod 600 /swapfile
Output
[root@arch ~]# chmod 600 /swapfile
[root@arch ~]#
Change Format to Swap
mkswap /swapfile
Output
[root@arch ~]# mkswap /swapfile
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
no label, UUID=04220954-995d-4b27-b316-6489180fa87c
[root@arch ~]#
Activate the Swap File
swapon /swapfile
Output
[root@arch ~]# swapon /swapfile
[root@arch ~]#
Add Fstab Entry for the Swap File
echo '/swapfile none swap sw 0 0' >> /etc/fstab && cat /etc/fstab
Output
[root@arch ~]# echo '/swapfile none swap sw 0 0' >> /etc/fstab && cat /etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sda2
UUID=f691168b-f435-453c-b024-bc34baf0fc5f / ext4 rw,relatime 0 1
# /dev/sda1
UUID=B479-C51C /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 2
/swapfile none swap sw 0 0
[root@arch ~]#
Adjust Swappiness
Permanently set the swappiness value to only use swap file if the available memory goes below 10%:
echo 'vm.swappiness=10' > /etc/sysctl.d/99-swappiness.conf && cat /etc/sysctl.d/99-swappiness.conf
Output
[root@arch ~]# echo 'vm.swappiness=10' > /etc/sysctl.d/99-swappiness.conf && cat /etc/sysctl.d/99-swappiness.conf
vm.swappiness=10
[root@arch ~]#
Verify Swap is Activated
Lastly, let us verify the swap is working by simply typing:
free -m
Output
[root@arch ~]# free -m
total used free shared buff/cache available
Mem: 15890 82 15717 0 91 15510
Swap: 4095 0 4095
[root@arch ~]#
We’re' done. Not too hard aye? In the next guide, we will create a new sudo user, a home directory including all the subfolders then install the desktop environment with other necessary applications. Thank you for reading. Cheers!