Andrea's Wiki Help

ArchLinux32 - Install guide

ArchLinux Logo

In this topic we are defining a basic white-paper of guidance for ArchLinux32 install

Downloading

As first things we need to download the latest ISO. This can be done on the following URL: ArchLinux32 - Mirror

Warning!

ArchLinux32 ISO are not built frequently so the last available one could be almost 1 year old. Keep this in mind for the following steps.

Preliminary check and configuration

After booting into the iso some checks are needed to ensure that we have a basic internet connection and also a recognised drive to use for the installation. We also need to configure keymap if we don't use a US Keyboard.

Configure keymap

We can see all availale keympas with the following command:

ls /usr/share/kbd/keymaps/**/*.map.gz

To set keyboard layout we nee to use loadkeys command. For example:

loadkeys de-latin1

Verify boot mode

Unless you are using some Intel Atom device that are only able on 32-bit UEFI you most probably are booting in Legacy mode. To be sure of your current boot mode you can use the following command:

cat /sys/firmware/efi/fw_platform_size

If this command return:

  • 64: the system is booted in UEFI mode on 64-bit systems (most unlikely situation on ArchLinux32)

  • 32: the system is booted in UEFI mode on 32-bit systems

  • 'empty': the system is booted in legacy BIOS mode

Check internet connection

By default, the live system tries to configure DHCP client on all available connection. If you are using a WWAN adapter plaase check that is not blocked by rfkill.

You can check all enabled interfaces with:

ip link

You can also check all addresses of the interfaces with:

ip addr

As last step you can also check internet connectivity with ping:

ping archlinux.org

Check available disks

You can se all available drives by using the following command:

fdisk -l

Make notes of the drive path that you want o use. Should be a path like /dev/sd*, /dev/nvme*n* or /dev/mmcblk* where * need to be replaced with the selected one.

Preparing the drive

Partitioning

Please take a look to the relative part of the Arch Wiki.

Format the partitions

Once the partition schema is chosen and created we can proceed by formatting all the needed partition. For data partition we can use Ext (suggested Ext4). If EFI boot partition is required need to be formatted as FAT32.

For example to create a Ext4 partition we can use:

mkfs.ext4 /dev/<device_partition>

If you created a swap partition you can initialize it with mkswap as follows:

mkswap /dev/<swap_partition>

If you need an EFI system partition you can format it as follows:

mkfs.fat -F 32 /dev/<efi_system_partition>

Update keyring

Due to usually old iso we need to update all keyring before continue. If we have on the system expired keys pacman and pacstrap can lead to errors during package installation leaving with a partial or unsuccessful installation.

Before updating the keyring we update the repos db:

pacman -Syy

To update keyring we can use the following command:

pacman -S archlinux-keyring archlinux32-keyring

Mounting partitions

As first things we need to mount our root partition on the /mnt path. We can achieve this with the command:

mount /dev/<root_partition> /mnt

If you need to mount EFI boot partition you need to create /boot directory inside the path we mounted with the last command and mount it with:

mount --mkdir /dev/<efi_system_partition> /mnt/boot

If you created a swap partition now can be enabled with:

swapon /dev/<swap_partition>

Installation

Select the mirrors

Packages to be installed need to be downloaded form a repository on a mirror servers. They are defined in /etc/pacman.d/mirrorlist. We used them previously for updating keyring. If you want to change them like prefer a server next to your location you can do it right now.

This changes will be later copied to the destination system by pacstrap.

Warning!

No software or configuration (except for /etc/pacman.d/mirrorlist) get carried over from the live environment to the installed system.

Installing essential packages

Now we are going to use pacstrap to install base packages and Linux kernel and firmware for common hardware configuration:

pacstrap -K /mnt base linux linux-firmware

Configuring

Fstab

At this point the first step into the configuration of the new installation is to define how disk partitions and various other block devices are mounted into the final system. To do this we need to create the fstab file located in /etc/fstab.

We can do this in two ways. The first one by using fstab command that see current mounted folders and automatically generate fstab file using UDID or Labels. The second one is by creating the file by hand (suggested only for advanced configurations).

To automatically generate fstab you can use fstab command followed by -U (UDID) or -L (Labels):

fstab -U

If you decide to create manually the fstab file you can follow this example below:

# device dir type options dump fsck UUID=0a3407de-014b-458b-b5c1-848e92a327a3 / ext4 defaults 0 1 UUID=f9fe0b69-a280-415d-a03a-a32752370dee none swap defaults 0 0 UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4 defaults 0 2

Access the new system root

Now we can change root from the installation media to the new system. To do this we use the arch-chroot as follows:

arch-chroot /mnt

Configuring Timezone

Configuring the timezone is an easy process. Just a link to the appropriate configuration to /etc/localtime is needed. This can be done with the following command:

ln -sf /usr/share/zoneinfo/<Region>/<City> /etc/localtime

After this we need to run hwclock to generate /etc/adjtime file:

hwclock --systohc

Localization

At this point we need to configure system and console localization. Currently, we are using en_US.UTF-8 from the installation media, but we can change our target installation one. First things we need to change locale-gen by editing /etc/locale-gen and removing # from desired locale (default is en_US.UTF-8).

After this changes we need to rebuild locales by executing:

locale-gen

Now we need to set LANG variable in /etc/locale.conf. You can set it by following this example and replacing the locale with the one chosen:

LANG=en_US.UTF-8

As last step we need to configure KEYMAP variable in /etc/vconsole.conf. This will make persistant any keyboard layout change that you have done at the beginning of the installation. You can see vconsole.conf for more info. This is an example configuration:

KEYMAP=de-latin1

Network configuration

The first step is to configure hostname buy editing /etc/hostname and setting it with the chosen one. After this step is suggested to configure a network manager. This is a list of the most popular one to choose. You can also see more details on the appropriate ArchWiki page.

Software

CLI

TUI

GUI

Notes

dhclient

No

No

No

Only support Ethernet connection

dhcpcd

No

No

dhcpcd-ui

Only support Ethernet connection, for wireless can launch wap_supplicant

ConnMan

Yes

Yes

Yes

No PPPoE support, Mobile broadband support via ofono

netctl

netctl

wifi-menu

No

PPPoE and Mobile broadband support via ppp

NetworkManager

nmcli

nmtui

Yes

PPPoE supported via rp-pppoe. Mobile broadband supported via modemmanager

sustemd.networkd

networkctl

No

No

Only support Ethernet connection

wpa_supplicant

wpa-cli

No

wpa_supplicant_gui

Only support Ethernet 802.1X

iwd

iwctl

No

iwgtk

Only support Ethernet 802.1X

Initramfs

Creating a new initramfs is usually not required because mkinitcpio was already run buy pacstrap during kernel install. If you are using LVM, system encryption or RAID you need to modify mkinitcpio.conf with appropriate settings and then recreate the image with:

mkinitcpio -P

Boot loader

This is the last configuration step. We need to install a Linux-capable bootloader. If you have an Intel or AMD CPU is also suggested to install their microcode. For better chose the appropriate bootloader we suggest to follow the ArchWiki page. This part does not differ from the original one.

Reboot and have fun

We have finally done it! ArchLinux32 is installed. Now we need to exit for chroot, unmount all partitions and then reboot to the installed os. To exit chroot you need to type exit or press CTRL+d.

After we have returned to the installation environment we can unmount all partition by referring their mount point. For example to unmount root we need to use this command:

umount -R /mnt

Once we have unmounted ALL the partition we can reboot with reboot command and start to enjoy the new fresh ArchLinux32 install.

Last modified: 26 January 2024