Arch Linux is a great Linux distro but it's also the distro that is known to be the most complicated to install distro due to command line based setup. In this article, I'll guide you to step by step Arch Linux installation.
First, you must select your installation source, in this tutorial, I use a live USB:
1.- Download the arch Linux iso from its website
2.- Make your USB Live bootable using the following command:
dd if=archlinux.iso of=/dev/sdx
sdx is your USB key. If you want to see the devices connected to your computer, you can type the following command:
If you have another OS installed on your computer you can use the following tools:
If you have your USB key ready then you can start the installation process.
a. First, you must find your keyboard layout typing:
i. ls /usr/share/kbd/keymaps/**/*.map.gz
b. Set your keyboard layout with the command 'loadkeys'
3. Verify the boot mode
a. You must verify if your computer supports UEFI, you can type:
i. ls /sys/firmware/efi/efivars
b. . If the directory doesn't exist, the system is booted in BIOS.
c. For UEFI support you must read the following documentation:
4. Check your internet connection typing:
a. ping -c 3 www.google.com
b. The output must look like this:
c. If your wired connection fails you can stop the dhcpcd service with: 'systemctl stop dhcpcd@<tab>' and then you must see the following documentation:
d. If your computer has a wifi device, you can use netctl:
a. 'wifi-menu -o'
5. Update the system clock:
i. 'timedatectl set-ntp true’
6. Partition the disks:
a. First you must identify your hard drive, you can see the storage devices with the command 'fdisk -l'. The first hard drive generally is '/dev/sda'.
b. Partition scheme
c. Make the partitions with cfdisk (DOS partition tables) or cgdisk (GPT partition tables)
i. If your computer has UEFI support you should use GPT, and you must create a partition with partition type EFI system (EF00). Finally, you must mount the EFI partition at '/boot'. You don’t need create a boot partition anymore.
ii. If you have a BIOS-GPT system, you must create a mebibyte partition with partition type BIOS boot (ef02), then you can create the other partitions like boot, root, and home.
iii. If you choose an MBR (DOS) partition table, you can create the system partitions only, like boot, root, and home.
v. MBR Examples
vi. GPT example
d. Formatting the partitions
i. You must format the partitions before installing the system.
ii. Use the command: “mkfs.filsystem_type /dev/sdax”
iii. filesystem_type can be ext2, ext4, jfs, etc
iv. sdax is the partition number
vi. If you created a BIOS partition, you don’t need format it.
vii. Format the swap partition with mkswap and after you must enable the swap with the command ‘swapon /dev/sdax’
7. Mounting the partitions
i. Mount the root partition at /mnt
ii. Make the boot subdirectory in /mnt
iii. Make the home subdirectory in /mnt
iv. Mount the boot partition at /mnt/boot, if you created an EFI partition you must mount it at /mnt/boot
v. Mount the home partition at /mnt/home
8. Install the base packages
i. ‘pacstrap /mnt base’
ii. For the bootloader you must install grub: ‘pacstrap /mnt grub’
iii. For network management you must install networkmanager: ‘pacstrap /mnt networkmanager’
i. Generate an fstab file (use -U or -L to define by UUID or labels, respectively):
10. Configure your new system - chroot
a. Change root into the new system: 'arch-chroot /mnt/bin/bash'
b. Set the timezone
i. List the regions
ii. List the Cities of your region
c. ‘ln -s /usr/share/zoneinfo/Region/City /etc/localtime’
d. ‘hwclock --systohc’
iii. Uncomment your localization in ‘/etc/locale.gen’ using ‘nano’
a. ‘nano /etc/locale.gen’
iv. Set the LANG variable in /etc/locale.conf
For example: echo LANG=en_US.UTF-8 > /etc/locale.conf
v. If you set the keyboard layout, make the changes persistent in ‘vconsole.conf’
‘echo KEYMAP=la-latin1 > /etc/vconsole.conf’
vi. Set the hostname
‘echo my_hostname > /etc/hostname’
Creating a new initramfs is usually not required, because mkinitcpio was run on installation of the linux package with pacstrap.
viii. Set the root password
Use the ‘passwd’ command
viii. Install Grub - Boot loader
i. If you have an Intel CPU, install the intel-ucode package in addition, and enable microcode updates.
ii. Run the grub installation: ‘grub-install /dev/sda’
iii. Run the grub configuration: ‘grub-mkconfig -o /boot/grub/grub.cfg’
ix. Exit from the chroot environment typing ‘exit’
x. Unmount the partitions
11. Reboot the system typing ‘reboot’ and remove the installation USB key.
12. In the first boot you must login with the root account, then start and enable the NetworkManager service with ‘systemctl start NetworkManager.service’ and ‘systemctl enable NetworkManager’.
a. If you have a wireless connection you can use the following command:
‘nmcli dev wifi connect "SSID" password "pass"’
13. Finally, you can create a new user with the following command:
‘useradd -m -g users -G audio,lp,optical,storage,video,wheel,games,power,scanner -s /bin/bash user’
More Information at: