Installing Artix uses basestrap, a pacman-based installer that installs a system into a mount directory. This episode covers partitioning, mounting, basestrap, fstabgen, chroot, and GRUB installation until the system first boots with your chosen init.

Now that you understand the architecture, it's time to get your hands dirty. Episode 3 guides you through installing Artix from the live ISO to disk — a process called basstrap because it uses the basestrap tool, a sibling of Arch's pacstrap. If you've ever installed Arch manually, this flow will feel familiar with a few important adjustments.
By the end of this episode, you'll have a bootable Artix system with your chosen init and GRUB installed. All the steps here follow the Installation Guide at wiki.artixlinux.org, so don't hesitate to keep it open as a companion reference.
Boot from the Artix ISO, then run cfdisk to partition. For a standard UEFI scheme, create two partitions: an EFI System Partition and a root partition. Example layout:
/dev/sda1 /efi FAT32 1 GiB type: EFI System
/dev/sda2 / ext4 rest type: Linux filesystemFor legacy BIOS, a root partition is enough, with no ESP. You can also add a swap partition as needed. Use cfdisk with the GPT label scheme for UEFI and DOS for BIOS:
cfdisk /dev/sdaMake sure to mark the first partition with the EFI System type so the firmware recognizes it. Once the partitions are created, format their filesystems:
mkfs.fat -F 32 /dev/sda1
mkfs.ext4 /dev/sda2Now mount the root and EFI partitions to the correct directories. The mount order matters because /efi lives inside /:
mount /dev/sda2 /mnt
mount --mkdir /dev/sda1 /mnt/efimount --mkdir creates the target folder automatically if it doesn't exist. For systems with separate partitions like /home, mount those partitions too, after the root.
The base installation uses basestrap, which takes packages from the base repo and writes them into /mnt. Add your chosen init and its meta package:
basestrap /mnt base base-devel openrc elogind linux linux-firmwareReplace openrc with runit, s6, or dinit per your choice. The base meta package pulls in the entire base system, while base-devel provides the build toolchain needed for the AUR later.
Once the installation is done, create the /etc/fstab file with fstabgen so mounts happen automatically at boot:
fstabgen -U /mnt >> /mnt/etc/fstabThe -U option uses UUIDs, so partition identification is resilient to disk order changes. Verify the result by reading the new file:
cat /mnt/etc/fstabIf the root and efi lines look correct, continue to chroot. The most common mistake here is forgetting to append the lines to fstab, so the system can't find root on reboot.
Use artix-chroot to enter the new system environment. From here, all commands run as if inside that system:
artix-chroot /mntInside the chroot, set the timezone, locale, and hostname:
ln -sf /usr/share/zoneinfo/Asia/Jakarta /etc/localtime
hwclock --systohc
echo "LANG=en_US.UTF-8" > /etc/locale.confDon't forget to enable the locale you want in /etc/locale.gen, then run locale-gen. Also create a user and password for normal everyday access.
So networking is active after reboot, register the network service with the init you're using. For OpenRC:
rc-update add NetworkManager defaultFor other inits, follow each one's conventions. We'll go deeper into users, groups, and networking in episode 7.
From inside the chroot, install the GRUB package and then install it to disk. For UEFI:
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfgFor legacy BIOS, use grub-install --target=i386-pc /dev/sda without the EFI options. Make sure the intel-ucode or amd-ucode package is installed so the latest microcode loads at boot.
The linux package already includes an initramfs built automatically during installation. If the kernel changes, initramfs is regenerated with mkinitcpio. Make sure mkinitcpio.conf uses the appropriate hooks, especially if you use disk encryption as covered in episode 10.
Before leaving the chroot, make sure every step is done: root password, a user in the wheel group, the bootloader installed, and the network service enabled. Then unmount and reboot:
exit
umount -R /mnt
rebootMake sure the ISO media is removed so the system boots from disk. On first boot, watch the init command lines on screen: for OpenRC, you'll see services being started runlevel by runlevel.
Once you reach the new system, confirm the system identity and running init:
cat /etc/os-release
ps -p 1 -o comm=
pacman -SyuThe output of cat /etc/os-release shows ID=artix and ID_LIKE=arch. Run pacman -Syu to make sure the system is fully updated before use.
Here's the complete installation sequence you just performed:
cfdisk, format with mkfs./mnt.basestrap /mnt base base-devel openrc elogind linux linux-firmware.fstabgen -U /mnt >> /mnt/etc/fstab.artix-chroot /mnt for timezone, locale, and user configuration.grub-mkconfig.pacman -Syu.If any step fails, the Installation Guide on the Artix wiki is the first reference to open.
Episode 3 took you from an empty ISO to a bootable Artix system: partitioning, mounting, basestrap, fstabgen, chroot, basic configuration, and GRUB — all colored by the init choice you made from the start.
Key takeaways:
basestrap replaces pacstrap; artix-chroot replaces arch-chroot.fstabgen -U uses UUIDs for stable partition identification.ps -p 1 -o comm= and pacman -Syu after boot.In the next episode, episode 4, we'll cover package management with pacman in depth: pacman -Syu, -S, -R, -Q, -F, /etc/pacman.conf configuration, mirrorlist, and PGP key management.