How to Install Arch Linux

8 minutes read

Arch Linux is a x86-64 general-purpose Linux distribution which has been popular among the DIY enthusiasts and hardcore Linux users. The default installation covers only a minimal base system and expects the end user to configure and use it. Based on the KISS – Keep It Simple, Stupid! principle, Arch Linux focus on elegance, code correctness, minimalist system and simplicity.

I’m using Arch Linux right now, I’ve configured it in a way I like, and for my use. The official installation guide is available here.

Minimum Requirement

* A x86_64 (i.e. 64 bit) compatible machine.

* Minimum 512 MB of RAM (recommended 2 GB).

* At least 1 GB of free disk space (recommended 20 GB for basic usage).

* An active internet connection.

* A USB drive with minimum 2 GB of storage capacity.

Pre-Installation

1. Download the ISO

You can download the ISO from the official website. Arch Linux requires a x86_64 (i.e. 64 bit) compatible machine with a minimum of 512 MB RAM and 800 MB disk space for a minimal installation. However, it is recommended to have 2 GB of RAM and at least 20 GB of storage for a GUI to work without hassle.

2. Create a live USB of Arch Linux

We will have to create a live USB of Arch Linux from the ISO you just downloaded.

If you are on Linux, you can use dd command to create a live USB.

On Windows, there are several tools, like Rufus, to create a live USB.

3. Boot from the live USB

Plugin your USB and boot your system. While booting keep pressing F12, F10 or F2 (dependinging upon your system) to go into boot settings. In here, select to boot from USB or removable disk.

Once you select that, you should see an option like this: arch

NOTE: If your system has both Intel and Nvidia GPU, you should blacklist nouveau.

You can blacklist it, by pressing e in above step and type- modprobe.blacklist=nouveau. In some system it may happen that lspci command freezes the system while installing. Above step can resolve it.

4. Partitioning Disk and Other stuffs to know.


* Partition the disk

This is where you have to be cautious. If you have multiple partitions (not the recovery ones), you can either use one of them or create a new partition from an existing partition. Your existing data will be safe if you have enough free space. Typically, you install Linux in under 15 GB(root), however, if disk space if not a concern, I advise using 30-40GB at least. For home, keep 40-50GB(/home), and for swap, keep it approximately to the RAM size. This way you can have more space at your disposal for downloading and keeping various files.

If you are on Linux, you can use parted to partition the disk.

On Windows, follow this, to partition the disk.

* Command Line

All commands will look like this:

root@archiso ~ # <command_you_type>

* Verify the boot mode

If UEFI mode is enabled on an UEFI motherboard, Archiso will boot Arch Linux accordingly via systemd-boot. To verify this, list the efivars directory:

# ls /sys/firmware/efi/efivars

* Connect to the Internet

For wireless connections, use:

# wifi-menu

to connect to available networks. You can check connection using

# ping 8.8.8.8

* Format the Partition

To list the partitions.

# lsblk -o name,size,type,mountpoint,fstype

Now, let your main harddisk is /dev/sdx(or it can be anything).

Now find the partitions you created. They will probably be the ones with the highest index (it’s still your job to verify that).

To format the main root partition (let it be /dev/sdxr) (the 50-100 gb one), use:

# mkfs.ext4 /dev/sdxr

where r is the root partition in the output of lsblk.

Similarly for home and swap.

# mkfs.ext4 /dev/sdxh
# mkfs.ext4 /dev/sdxs

where h, s is the home and swap partition in the output of lsblk.

* Mount the file systems
Mount the root partition to /mnt, for example:

# mount /dev/sdxr /mnt

Find out if your computer uses UEFI or not. The best way is to verify whether you have a vfat partition (in most cases /dev/sda1). If yes, then:

# mkdir /mnt/boot
# mkdir /mnt/home
# mount /dev/sdxh /mnt/home
# mount /dev/sdxe /mnt/boot

Here, /dev/sdxe is the vfat partition.

Mount the swap partition

# mkswap /dev/sdxs

Install the base packages

Use the pacstrap script to install the base package group and other useful stuff:

# pacstrap /mnt base dialog iw wpa_supplicant sudo

Configure the system

* Fstab

Generate an fstab file:

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

* Chroot

Change root into the new system:

# arch-chroot /mnt

* Time zone

Set the time zone (for example Asia/Kolkata for India):

# ln -s /usr/share/zoneinfo/Asia/Kolkata /etc/localtime

Run hwclock(8) to generate /etc/adjtime:

# hwclock --systohc --localtime

* Locale

Open /etc/locale.gen using nano:

# nano /etc/locale.gen

Go to the line and remove the first #:

#en_US.UTF-8 UTF-8

Generate localisations with (execute):

# locale-gen

Open /etc/locale.conf using nano and add the following line:

LANG=en_US.UTF-8

* Hostname

Create the /etc/hostname file. A hostname is a name for your pc (You can set that to anything consisting of only letters):

myhostname

You will need to add a matching entry to /etc/hosts (the last line):

127.0.0.1       localhost.localdomain   localhost
::1             localhost.localdomain   localhost
127.0.1.1       myhostname.localdomain  myhostname

* Root password

Set the root password:

# passwd

* Boot loader If you have an Intel CPU, install the intel-ucode package

# pacman -S intel-ucode

Now, you need to remember if you have a UEFI system or not.

NO UEFI

# pacman -S grub os-prober ntfs-3g
# grub-install --target=i386-pc /dev/sdx
# grub-mkconfig -o /boot/grub/grub.cfg

Please replace x with the character of your harddisk.

UEFI

# pacman -S grub os-prober efibootmgr ntfs-3g
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
# grub-mkconfig -o /boot/grub/grub.cfg

The above steps may sometimes fail to recognize Windows. Just run the last command again(after reboot) to resolve it.

* New User

Now, its time to create a new user:

# useradd -m -G wheel -s /bin/bash <username>

To change the user’s password:

# passwd <username>

Now setup sudo.

# visudo

This opens up the sudo configuration file in vim.

## Uncomment the below line to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL

Now, carefully place your cursor on the # just before %wheel and press x. This will remove the #. It will now look like this:

## Uncomment to allow members of group wheel to execute any command
 %wheel ALL=(ALL) ALL

Now type :wq to save and exit.

Reboot

Exit the chroot environment by typing exit or pressing Ctrl+D. Optionally, unmount all the partitions with:

# umount -R /mnt:

Finally, restart the machine:

# reboot

Now while booting choose grub as the default boot option.

After booting, you will encounter a black screen with option to login. You can now log in with your user.

Post-installation

See General Recommendations for system management directions and post-installation tutorials (like setting up a graphical user interface, sound or a touchpad).

For a list of applications that may be of interest, see List of applications.

Congratulations, you have installed the ARCH LINUX, oohh wheeee!

Thank you guys for reading this article, I’ll hope you enjoy it.