This article was machine-translated from the Japanese version.


Documenting the installation procedure for Arch Linux
Note that an overview of Arch Linux and comparisons with other OSes are omitted

ISO Installation

Download iso, sig, and b2sums.txt from the download page, and verify with the following commands

b2sum -c b2sums.txt
gpg --auto-key-locate clear,wkd -v --locate-external-key pierre@archlinux.org
gpg --verify archlinux-x86_64.iso.sig archlinux-2025.12.01-x86_64.iso

Creating USB Installation Media

Confirming USB Drive Name

Find the USB drive name with the following command, and confirm it is not mounted using lsblk

ls -l /dev/disk/by-id/usb-*

Also, record the drive path at this time

$ ls -l /dev/disk/by-id/usb-*
lrwxrwxrwx 1 root root  9 Dec  3 20:43 /dev/disk/by-id/usb-USB_SanDisk_3.2Gen1_01014dec9e899c24c9a933abd583c7db91b06dc2501e61ce2ea209f7b695be8ac04c00000000000000000000289980daff12780081558107712e850b-0:0 -> ../../sda
lrwxrwxrwx 1 root root 10 Dec  3 20:43 /dev/disk/by-id/usb-USB_SanDisk_3.2Gen1_01014dec9e899c24c9a933abd583c7db91b06dc2501e61ce2ea209f7b695be8ac04c00000000000000000000289980daff12780081558107712e850b-0:0-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Dec  3 20:43 /dev/disk/by-id/usb-USB_SanDisk_3.2Gen1_01014dec9e899c24c9a933abd583c7db91b06dc2501e61ce2ea209f7b695be8ac04c00000000000000000000289980daff12780081558107712e850b-0:0-part2 -> ../../sda2
$ export MYDRIVE=/dev/disk/by-id/usb-USB_SanDisk_3.2Gen1_01014dec9e899c24c9a933abd583c7db91b06dc2501e61ce2ea209f7b695be8ac04c00000000000000000000289980daff12780081558107712e850b-0:0

Reformatting

If the USB was previously used as an installation media for another OS, delete the ISO 9660 filesystem signature with the following command

sudo wipefs --all $MYDRIVE

Writing the ISO File

sudo su -
cat archlinux-x86_64.iso > /dev/disk/by-id/usb-USB_SanDisk_3.2Gen1_01014dec9e899c24c9a933abd583c7db91b06dc2501e61ce2ea209f7b695be8ac04c00000000000000000000289980daff12780081558107712e850b-0\:0
sync

Preparing for Installation

Insert the media created in Creating USB Installation Media into the device you want to install on, and boot

Keyboard Layout Configuration

Since I am a Dvorak user, change the settings accordingly

loadkeys dvorak

Internet Connection Setup

This time, connect to a wireless network using iwctl

iwctl
[iwd]# device list
[iwd]# station {device_name} scan
[iwd]# station {device_name} get-networks
[iwd]# station {device_name} connect SSID
[iwd]# exit

Confirm the connection with the following command

ping archlinux.jp

System Clock Update

timedatectl status

Partition Setup

Here, installation to /dev/nvme0n1 is assumed

Drive Formatting

sudo nvme format /dev/nvme0n1 --ses=2

--ses=2 means Secure Erase, but some drives do not support this
If the output of the following command contains Not Supported, it is not supported, so specify --ses=1 instead

sudo nvme id-ctrl -H /dev/nvme0 | grep "Crypto Erase"

Whether --ses=1 is supported can also be confirmed with the following command

sudo nvme id-ctrl -H /dev/nvme0 | grep "Format NVM"

Partition Configuration

Here, UEFI/GPT usage is assumed

Create partitions interactively with the following command

gdisk /dev/nvme0n1

I could not record the log because I was working on a different terminal, so refer to GPT fdisk - ArchWiki for detailed creation methods
Here, we proceed assuming the following partitions were set up

  • /dev/nvme0n1p1
    • For /boot
    • 1 GB
  • /dev/nvme0n1p2
    • For swap
    • Same capacity as memory
  • /dev/nvme0n1p3
    • For /
    • All remaining capacity

Formatting Partitions

Format each of the three partitions

mkfs.fat -F 32 /dev/nvme0n1p1
mkswap /dev/nvme0n1p2
mkfs.ext4 /dev/nvme0n1p3

Mounting File Systems

Mount or enable the created volumes

mount /dev/nvme0n1p3 /mnt
swapon /dev/nvme0n1p2
mount --mkdir /dev/nvme0n1p1 /mnt/boot

Installation

Selecting Package Mirrors

Edit /etc/pacman.d/mirrorlist and move geographically close mirrors to the top

Installing Essential Packages

pacstrap -K /mnt base linux linux-firmware sudo neovim 

Generating fstab

genfstab -U /mnt >> /mnt/etc/fstab

chroot

arch-chroot /mnt

Timezone Configuration

ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
hwclock --systohc

Localization

First, edit /etc/locale.gen with neovim etc. and uncomment en_US.UTF-8 UTF-8 and ja_JP.UTF-8 UTF-8
Then, run the following

locale-gen

After that, create /etc/locale.conf and append the following content

LANG=en_US.UTF-8

Keymap Change

Create /etc/vconsole.conf and append the following content

KEYMAP=dvorak

Network Configuration

Hostname Setup

Create /etc/hostname and append your desired hostname

Network Setup

Here, connection to wireless LAN wlan0 is assumed

Enabling Network Interface
ip link show dev 

Among the displayed <BROADCAST,MULTICAST,UP,LOWER_UP>, if UP is shown, it is enabled

Connecting to Wireless LAN

Here, iwd is used

iwctl
[iwd]# station wlan0 scan
[iwd]# station wlan0 get-networks
[iwd]# station wlan0 connect {SSID}
[iwd]# station wlan0 show

Also, enable the DHCP client

/etc/iwd/main.conf

[General]
EnableNetworkConfiguration=true
systemctl restart iwd
Domain Name Resolution

iwd uses systemd-resolved or resolvconf for domain name resolution
Here, systemd-resolved is selected

systemctl start systemd-resolved
systemctl enable systemd-resolved
Connection Confirmation
ping 9.9.9.9
ping archlinux.org

Root Password Setup

passwd

Bootloader Installation

Here, EFI boot stub usage is assumed

First, install efibootmgr

pacman -S efibootmgr

Then, create a boot entry with the following command

efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "Arch Linux" --loader /vmlinuz-linux --unicode 'root=/dev/nvme0n1p3 rw initrd=\initramfs-linux.img'

Reboot

Exit the chroot environment with exit, then reboot with reboot
If the installation completed correctly, Arch Linux will boot

References