How To Install Arch Linux: A Step by Step Installation Guide - Front Page Linux (2024)

The installation of Arch has been and continues to be a rite-of-passage within the Linux community. Although there are many guides that discuss the steps needed to install Arch Linux, I couldn’t resist writing my very own guide. This guide promises to be different by being a narrative-style approach to the topic. The goals of this guide are to be educational, informative, and to make & keep it simple (in the spirit of the Arch philosophy). The guide assumes that you have some proficiency with the command line and have a basic understanding of Linux. I hope that this guide can help you succeed with this rite and put you in control of a system that you have built from the ground-up.

As an Arch user, the Arch Wiki will be an extremely valuable resource to you. This resource is so well-composed and maintained that even non-Arch users glean knowledge, wisdom, and solutions from it daily.

And now, may the adventure begin…

Download the Arch ISO

The first thing that we need to do is to obtain an image of Arch Linux. To do so, let’s visit the the Arch Linux download page to download the ISO image file.

Boot the System to the Arch ISO

Depending upon the type of system that Arch will be installed on, there are different methods of booting the Arch ISO.

Physical Machine

For physical machines, a bootable medium can be created from the Arch ISO file.

Prepare Live Bootable USB

Although an optical disk could have been used to create a bootable physical medium, USB was chosen due to its relevance. There are many ways to prepare a live USB, one of them is via the dd command. It is worth noting that you should be very cautious when using the dd command since it can overwrite running disks. There are other options as well such as SUSE Image Writer, Fedora Image Writer, Mint Stick and others. The scope of this guide won’t be able to provide a guide for each writer tool so we’ll stick with dd for this guide. Remember, be careful with dd since it is nicknamed “disk destroyer” for a reason.

# dd if=/location/of/iso/file of=/device/entry/of/usb/drive

Boot to USB

Insert the USB drive into the physical machine and boot into the USB drive. BIOS settings/boot order may need to be adjusted to ensure that the physical machine boots from the USB drive.

Confirm You are In

Once you have properly booted into the Arch ISO, a prompt similar to the one below will be displayed.

root@archiso ~ #

Virtual Machine

Virtual machines do not require a physical medium to be created. The Arch ISO file can be mounted as a virtualized optical disk within the virtualized optical drive.

Confirm You are In

Once you have properly booted into the Arch ISO, a prompt similar to the one below will be displayed.

root@archiso ~ #

Verify Connectivity to the Internet

During the installation, I prefer to have a wired connection to the Internet. This guide has been written based on a machine that is connected to the Internet using a wired connection.

To check Internet connectivity, simply ping a website as shown in the example below.

root@archiso ~ # ping -c 4 archlinux.orgPING archlinux.org (95.217.163.246) 56(84) bytes of data.64 bytes from archlinux.org (95.217.163.246): icmp_seq=1 ttl=47 time=206 ms64 bytes from archlinux.org (95.217.163.246): icmp_seq=2 ttl=47 time=181 ms64 bytes from archlinux.org (95.217.163.246): icmp_seq=3 ttl=47 time=181 ms64 bytes from archlinux.org (95.217.163.246): icmp_seq=4 ttl=47 time=181 ms--- archlinux.org ping statistics ---4 packets transmitted, 4 received, 0% packet loss, time 3003msrtt min/avg/max/mdev = 180.629/187.159/205.907/10.828 ms

Update the System Clock

Now that we have confirmed connectivity to the Internet, we can leverage NTP. Use timedatectl command to ensure the system clock is accurate by enabling NTP.

root@archiso ~ # timedatectl set-ntp trueStarting Network Time Synchronization...[ OK ] Started Network Time Synchronization.[ OK ] Reached target System Time Set.[ OK ] Reached target System Time Synchronized.

Disk Partitioning

In order for us to have a working distribution, we have to create some partitions on the target hard disk so that we can properly install and run Arch Linux. There are numerous tools and commands that can be used for disk partitioning. This guide uses fdisk to create the partitions.

The recommended partition schemes vary depending on whether or not the system has UEFI mode enabled.

So, let’s verify if UEFI mode is enabled by checking for the existence of this directory:

root@archiso ~ # ls /sys/firmware/efi/efivarsls: cannot access '/sys/firmware/efi/efivars': No such file or directory

Based on the output of the command above, we can determine that the system being used in this guide does not have UEFI.

Now, we can list all existing disk and disk partitions. For the purposes of this guide and for a simpler installation, a virtual machine has been created with a blank 20GB hard disk identified by /dev/sda.

root@archiso ~ # fdisk -lDisk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/loop0: 566.52 MiB, 594034688 bytes, 1160224 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytes

Let’s begin the partitioning process on the /dev/sda hard disk.

root@archiso ~ # fdisk /dev/sdaWelcome to the fdisk (util-linux 2.36.1).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Device does not contain a recognized partition table.Created a new DOS disklabel with disk identifier 0xa1936afe.Command (m for help):

If you would like to see all fdisk commands, this is an ideal opporunity to press the m key and Enter to display a list of all commands. You could do that for your information (FYI). However, this guide will walk you through the commands that are needed to partition the disk.

Before we create any partitions, let’s review the recommended partition schemes.

Recommended Partition Schemes

The schemes below are mere recommendations and can be altered to your liking. Notably, there are many viewpoints on the size of a swap partition, so take these recommendations with a grain of salt and do what suits you best. After all, that’s the beauty of creating your very own system from the ground-up.

NON-UEFI

Mount PointPartitionPartition TypePartition SizeFile System
/mnt/dev/sda1LinuxRemainder of the deviceext4
[SWAP]/dev/sda2Linux swapMore than 512 MiBext4

UEFI

Mount PointPartitionPartition TypePartition SizeFile System
/mnt/boot or mnt/efi/dev/sda1EFI System Partition260MB – 512MBfat32
/mnt/dev/sda2Linux x86-64 root (/)Remainder of the deviceext4
[SWAP]/dev/sda3Linux swapMore than 512MiBext4

Create the Partitions

Since we have a non-UEFI system, it makes sense to follow the NON-UEFI partition scheme above. This means that we will create 2 partitions: a swap partition (Linux swap) and a partition where root will be mounted (Linux).

We have a hard drive that is approximately 20GB in size, so we can easily spare approximately half of a gigabyte (512MB) for the Linux swap partition (/dev/sda2). Leaving us with approximately 19.5GB for the Linux partition (/dev/sda1).

Linux Partition

First, let’s create the Linux partition (/dev/sda1/).

Command (m for help): nPartition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions)Select (default p): p Partition number (1-4, default 1): 1First sector (2048-41943039, default 2048): 2048Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943049, default 41943039): +19.5GCreated a new partition of type 'Linux' and of size 19.5 GiB.

Swap Partition

Next, let’s go ahead and create the Linux swap partition (/dev/sda2/).

Command (m for help): nPartition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions)Select (default p): p Partition number (2-4, default 2): 2First sector (40896512-41943039, default 40896512): 40896512Last sector, +/-sectors or +/-size{K,M,G,T,P} (40896512-41943039, default 41943039): 41943039Created a new partition 2 of type 'Linux' and of size 511 MiB.

With the Linux swap partition, we need to change the partition type so that it is a true swap partition.

If you would like to see all partition types, this is an ideal opporunity to press the l key and Enter to display a list of all partition types. You could do that for your information (FYI). However, this guide will walk you through the commands that are needed to partition the disk.

We now need to change the partition type of our intended Linux swap partition (/dev/sda2).

Command (m for help): tPartition number (1,2, default 2): 2Hex code or alias (type L to list all): 82Changed type of partition 'Linux' to 'Linux swap / Solaris'.

Verify Proposed Partition Table

Before we save our changes and commit them to the disk, let’s take a moment to verify that everything was done correctly.

Command (m for help): pDisk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: dosDisk identifier: 0xc12ff6e9Device Boot Start End Sectors Size Id Type/dev/sda1 2048 40896511 40894464 19.5G 83 Linux/dev/sda2 40896512 41943039 1046528 511M 82 Linux swap / Solaris

Write Partition Table to Disk

Finally, let’s write the newly created partition table to the disk and exit the fdisk utility.

Command (m for help): wThe partition table has been altered.Calling ioctl() to re-read partition table.Syncing disks.root@archiso ~ #

Create File System

The creation of the partitions in the previous steps simply drew boundaries on the storage space offered by the hard disk and specified the type of space betweeen each boundry line. In order for these partitions to be of any use, they should be initialized with a file system and have the swap partition enabled.

Again depending on the type of system (UEFI, non-UEFI), the process will vary.

NON-UEFI

For our non-UEFI system, let’s create an ext4 file system on the root partition (you may choose any other viable file system).

root@archiso ~ # mkfs.ext4 /dev/sda1mke2fs 1.45.6 (20-Mar-2020)Creating filesystem with 5111808 4k blocks and 1277952 inodesFilesystem UUID: ca970c3e-5a47-468c-8ff7-6ba9dda277afSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000Allocating group tables: doneWriting inode tables: doneCreating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: done

Also, let’s prepare the swap partition.

root@archiso ~ # mkswap /dev/sda2Setting up swapspace version 1, size = 511 MiB (535818240 bytes)no label, UUID=12e273d1-4dc4-4151-9ffe-6a09ae78be38root@archiso ~ # swapon /dev/sda2

UEFI

For the EFI partition type, create a FAT32 file system.

# mkfs.fat -F32 /dev/sda1

For the root partition, create an ext4 file system (or any other viable file system of your choice).

# mkfs.ext4 /dev/sda2

Prepare the swap partition:

# mkswap /dev/sda3# swapon /dev/sda3

Optimize Mirrors

Much like any other distro, Arch Linux relies on mirrors to obtain updates. There are a plethora of mirrors that are hosted on hundreds of servers spanning the entire globe. Usually, the mirrors which are geographically nearer in distance should provide for the fastest connection speeds.

Arch Linux comes with a file known as the “mirrorlist” which contains all known mirrors. However, this file is not optimized since it contains every single mirror. We could manually go through this file and edit it, but that would take quite some time. Luckily, there is a tool (Python script) called reflector that has been created that will automatically optimize the file for us. We just need to provide some input.

Sync the pacman Repository

Before we go about downloading any applications/tools, we should update the repository and ensure that we have the latest and greatest available to us.

root@archiso ~ # pacman -Syy:: Synchronizing package databases... core 132.8 KiB 5.64 MiB/s 00:00 [#################################] 100% extra 1633.0 KiB 10.4 MiB/s 00:00 [#################################] 100% community 5.3 MiB 8.91 MiB/s 00:00 [#################################] 100%

Install reflector

With a fully-updated repository, we are in good-standing to install the reflector tool so that we can optimize the /etc/pacman.d/mirrorlist file for local mirrors.

root@archiso ~ # pacman -S reflectorresolving dependencies...looking for conflicting packages...Packages (1) reflector-2021-1Total Download Size: 0.03 MiBTotal Installed Size: 0.10 MiBNet Upgrade Size: 0.01 MiB:: Proceed with installation? [Y/n] Y:: Retrieving packages... reflector-2021-1-any 25.9 KiB 0.00 B/s 00:00 [#################################] 100%(1/1) checking keys in keyring [#################################] 100%(1/1) checking package integrity [#################################] 100%(1/1) loading package files [#################################] 100%(1/1) checking for file conflicts [#################################] 100%(1/1) checking available disk space [#################################] 100%:: Processing package changes...(1/1) upgrading reflector [#################################] 100%:: Running post-transaction hooks...(1/2) Reloading system manager configuration...(2/2) Arming ConditionNeedsUpdate... 

Back up Existing Mirrorlist File

It doesn’t hurt to make a backup of a file that is going to be changed. Let’s make a backup of the /etc/pacman.d/mirrorlist file.

root@archiso ~ # cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak

Run reflector Against the Mirrorlist File

Execute the reflector command to optimize the /etc/pacman.d/mirrorlist file. The end result will be a leaner file which contains the most optimal entries. Since I am in the United States, I have used “US” as the country code within the command.

root@archiso ~ # reflector -c "US" -f 12 -l 10 -n 12 --save /etc/pacman.d/mirrorlist

Install Arch Linux

Our system has now been prepared and optimized to take on the install of Arch Linux. This phase involves mounting the Linux partition and installing desired packages using the pacstrap command on to the mounted Linux partition.

Mount the Linux Partition

We must mount the root directory before we can perform any installation.

NON-UEFI

root@archiso ~ # mount /dev/sda1 /mnt

UEFI

root@archiso ~ # mount /dev/sda2 /mnt

Perform the Installation

Use the pacstrap command to install Arch Linux, required packages, and any additional packages (in this case, the nano text editor) to the mounted Linux partition. Additional packages can always be installed later; the installation of nano as an additional package was included to demonstrate the ability of the pacstrap command (and to promote nano as my favorite text editor which will come in handy later in this guide).

root@archiso ~ # pacstrap /mnt base linux linux-firmware nano

After issuing the command above, the screen will be very busy with the installation of multiple packages which comprise the Arch Linux distribution. Once complete, we can now say that we have installed Arch Linux! But, there’s still more to do: configuration, bootloader installation, and selecting a desktop environment.

Configure the Installed Arch System

During the configuration phase, we will start things off by setting the root partition to mount automatically. Then, we will set the timezone so that it reflects the current/local timezone. Next, we will set the locale so that dates, times, numbers, etc. are formatted correctly based on the geographical locale of the machine. Also, we can take this opportunity to make some minor network configurations so that this machine has a proper and accurate identity on the network. Finally, we can enhance the security of the machine by setting a password for the root user.

Automating the Mounts

Let’s create the /etc/fstab so that the root partition is mounted automatically when the system is booted. The /etc/fstab file can be edited manually, but our goal is to simplify the installation of Arch Linux. Similar to what we did with the reflector tool to automate the optimal mirror selection process, we will introduce and use yet another tool to create the /etc/fstab file.

We can automatically generate the fstab file using the genfstab command.

root@archiso ~ # genfstab -U /mnt >> /mnt/etc/fstab

Change Root

Recall that we initially booted into this machine using an image file. We are still in the root directory of the image file and our session is in RAM. Now that we have installed Arch Linux, we need to switch to the physically installed root partition using the arch-chroot command.

Change root to the root directory at /mnt.

root@archiso ~ # arch-chroot /mnt

Setting the Timezone

At the beginning of this guide, we were able to set NTP to true. This ensured that we had the correct time, but did not ensure that we had the correct timezone. In this step, we will apply the correct timezone (UTC offset) so that the time represented in our installation is relevant to the geographical location.

Use the timedatectl command to find your timezone. You can use the arrow keys and the PgUp and PgDn keys to navigate through the list. Once complete press q to exit the list.

[root@archiso /]# timedatectl list-timezones

Create a symbollic link to set the timezone (replace “America/Los_Angeles” with your timezone).

[root@archiso /]# ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime

Run hwclock to generate /etc/adjtime.

[root@archiso /]# hwclock --systohc

Setting Up Locale

The term “locale” refers to language, number, date and currency formats The file /etc/locale.gen contains locale settings and system languages and is commented by default. We must open this file using a text editor and uncomment the line which contains the desired locale. This is why nano was installed previously using the pacstrap command.

Open the /etc/locale.gen file and remove the “#” from the start of the line which contains your locale. Then, save the file.

[root@archiso /]# nano /etc/locale.gen

Since I am in the United States, the following entry has been uncommented prior to saving the file and the locale of en_US.UTF-8 will be used for the remainder of the steps.

# /etc/locale.genen_US.UTF-8 UTF-8 

Generate the /etc/locale.conf file.

[root@archiso /]# locale-genGenerating locales... en_US.UTF-8... doneGeneration complete.

Create and set the LANG variable.

[root@archiso /]# echo LANG=en_US.UTF-8 > /etc/locale.conf[root@archiso /]# export LANG=en_US.UTF-8 

Network Configuration

Let’s use that text editor once more to give our machine a hostname and proper identity on the network.

Create the /etc/hostname file and add the hostname entry. Then, save the file.

[root@archiso /]# nano /etc/hostname

This entry has been added:

# /etc/hostnameArchLinuxPC

Create the /etc/hosts file and add the proper entries. Then, save the file.

[root@archiso /]# nano /etc/hosts

These entries have been added:

# /etc/hosts127.0.0.1 localhost::1 localhost127.0.1.1 ArchLinuxPC

Root Password

Finally, let’s give the root user a password for the sake of security.

Use the passwd command to set the password for root.

[root@archiso /]# passwdNew password:Retype new password:passwd: password updated successfully

Install Grand Unified Bootloader (GRUB)

Up to this point, we have created a functional Arch Linux system. It has been installed on the root partition, but a bootloader is needed to properly and automatically load our newly installed system. There are a few choices when it comes to bootloaders. I have chosen to use GRUB as the bootloader of choice for this guide.

Once again, we have two general methods of installing a bootloader: the UEFI and non-UEFI methods.

NON-UEFI

For our non-UEFI system, the process is shown below.

Install the grub package.

[root@archiso /]# pacman -S grubresolving dependencies...looking for conflicting packages...Packages (1) grub-2:2.04-8Total Download Size: 6.74 MiBTotal Installed Size: 32.91 MiB:: Proceed with installation? [Y/n] Y:: Retrieving packages... grub-2:2.04-8-x86_64 6.7 MiB 6.97 MiB/s 00:01 [#################################] 100%(1/1) checking keys in keyring [#################################] 100%(1/1) checking package integrity [#################################] 100%(1/1) loading package files [#################################] 100%(1/1) checking for file conflicts [#################################] 100%(1/1) checking available disk space [#################################] 100%:: Processing package changes...(1/1) installing grub [#################################] 100%Generate your bootloader configuration with: grub-mkconfig -o /boot/grub/grub.cfgOptional dependencies for grub freetype2: For grub-mkfont usage fuse2: For grub-mount usage dosfstools: For grub-mkrescue FAT FS and EFI support efibootmgr: For grub-install EFI support libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue os-prober: To detect other OSes when generating grub.cfg in BIOS systems mtools: For grub-mkrescue FAT FS support:: Running post-transaction hooks...(1/1) Arming ConditionNeedsUpdate... 

Install GRUB to the hard disk.

[root@archiso /]# grub-install /dev/sdaInstalling for i386-pc platform.Installation finished. No error reported.

Finally, generate the /boot/grub/grub.cfg file.

[root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfgGenerating grub configuration file ...Found linux image: /boot/vmlinuz-linuxFound initrd image: /boot/initramfs-linux.imgFound fallback initrd image(s) in /boot: initramfs-linux-fallback.imgdone

UEFI

Install the grub package.

[root@archiso /]# pacman -S grub efibootmgr

Create the directory where EFI partition will be mounted.

[root@archiso /]# mkdir /boot/efi

Mount the ESP partition.

[root@archiso /]# mount /dev/sda1 /boot/efi

Install GRUB to the hard disk.

[root@archiso /]# grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi

Finally, generate the /boot/grub/grub.cfg file.

[root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg

Create a User Account

This is an excellent opportunity to create a user account. A non-root account is a preferred method of logging into the graphical desktop environment which will be install in the next section. The method of creation for the user account will automatically create the home directory for the user as well. In addition, we can give this account sudo privileges. For that, we will also need to install the sudo command, itself.

Add User and Home Directory

Use the useradd command with the -m option to create a new user and to generate the home directory for the new user.

[root@archiso /]# useradd -m deep

User Password

Set up user password.

[root@archiso /]# passwd deepNew password:Retype new password:passwd: password updated successfully

Install sudo

Install the sudo command.

[root@archiso /]# pacman -S sudoresolving dependencies...looking for conflicting packages...Packages (1) sudo-1.9.5.p2-1Total Download Size: 1.09 MiBTotal Installed Size: 4.45 MiB:: Proceed with installation? [Y/n] Y:: Retrieving packages... sudo-1.9.5.p2-1-x86_64 1116.4 KiB 15.6 MiB/s 00:01 [#################################] 100%(1/1) checking keys in keyring [#################################] 100%(1/1) checking package integrity [#################################] 100%(1/1) loading package files [#################################] 100%(1/1) checking for file conflicts [#################################] 100%(1/1) checking available disk space [#################################] 100%:: Processing package changes...(1/1) installing sudo [#################################] 100%:: Running post-transaction hooks...(1/3) Reloading system manager configuration...Running in chroot, ignoring command 'daemon-reload'(2/3) Creating temporary files...(3/3) Arming ConditionNeedsUpdate... 

Give User sudo Privileges

NOTE: The configuration file for sudo is /etc/sudoers. This file should always be edited with the visudo command. The visudo command locks the “sudoers” file, saves edits to a temporary file, and then checks the file’s syntax before copying it to /etc/sudoers.)

Set an editor for use when launching visudo.

[root@archiso /]# EDITOR=nano visudo

Add the following line for the newly created user. Then, save the file.

# /etc/sudoersdeep ALL=(ALL) ALL

Install a Desktop Environment

If you thought swap partition sizes and text editors were controversial, they don’t compare to the tribalism that exists for desktop environments. But that’s what makes Linux amazing: the freedom to choose. There are many desktop environments that can be used with Arch Linux. My favorite desktop environments have been included below (in no particular order).

Choose your desktop environment, perform the installation, and finalize the configuration. If you are unsure about the options presented during the installation of your desktop environment of choice, choose the defaulted options. Then, let’s reconnect in the Summary section of this tutorial.

NOTE: KDE doesn’t allow the root user to login directly. You must initially login with the user account created in the previous section.

GNOME

Install the Xorg display server.

[root@archiso /]# pacman -S xorg

Install the GNOME desktop environment.

[root@archiso /]# pacman -S gnome

Enable the GDM display manager and Network Manager.

[root@archiso /]# systemctl enable gdm.service[root@archiso /]# systemctl enable NetworkManager.service

Exit from chroot.

[root@archiso /]# exit

Shutdown.

root@archiso ~ # shutdown now

Remove the live USB/medium and power back on.

CINNAMON

Install the Xorg display server.

[root@archiso /]# pacman -S xorg

Install the Xorg terminal.

[root@archiso /]# pacman -S xterm

Install the Cinnamon desktop environment.

[root@archiso /]# pacman -S cinnamon

Install the GDM display manager.

[root@archiso /]# pacman -S gdm

Enable the GDM display manager and Network Manager.

NOTE: During the login process, look for a settings (gear) icon. This icon will allow you to choose the Cinammon desktop environment.

[root@archiso /]# systemctl enable gdm.service[root@archiso /]# systemctl enable NetworkManager.service

Exit from chroot.

[root@archiso /]# exit

Shutdown.

root@archiso ~ # shutdown now

Remove the live USB/medium and power back on.

KDE

Install the Xorg display server.

[root@archiso /]# pacman -S xorg

Install plasma, plasma-wayland-session, and kde-applications.

[root@archiso /]# pacman -S plasma plasma-wayland-session kde-applications 

Enable the SDDM display manager and Network Manager.

[root@archiso /]# systemctl enable sddm.service[root@archiso /]# systemctl enable NetworkManager.service

Exit from chroot.

[root@archiso /]# exit

Shutdown.

root@archiso ~ # shutdown now

Remove the live USB/medium and power back on.

Summary

Congratulations! You now have a working Arch Linux system which you have designed based on your choices and preferences. Arch, by default, is a rolling-release distribution. This means that you shouldn’t have to install it more than once for any system. One of the benefits (and drawbacks) of being a rolling release like Arch, is that you are always on the cutting edge (and sometimes bleeding edge) of system and software updates which, at times, can be unstable. Arch is an excellent distribution for a personal workstation or development machine. However, you should avoid deploying Arch on critical machines which are intended to run in a production environment. If (or when) you run into trouble, the Arch Wiki will be an excellent source of any further configuration, troubleshooting, or general/specific knowledge about a given topic.

This was just the beginning; there is much more to install, configure, tweak, and learn. I hope that you have enjoyed this guide and have gained some insight into the installation of Arch Linux. You can now boast to your friends and colleagues about your distro of choice. Don’t hesitate to sprinkle in the occasional, “By the way, I use Arch” in casual conversations.

There’s many more tutorials here on FrontPageLinux and If you’d like more from me then visit my author archive to find all of my previous articles / tutorials.

How To Install Arch Linux: A Step by Step Installation Guide - Front Page Linux (2024)

FAQs

How To Install Arch Linux: A Step by Step Installation Guide - Front Page Linux? ›

The first thing to do after installing arch linux is to update the system by running a command in the terminal, which fetches the latest package information and upgrades all packages. Next, it is recommended to install core package tools like nano, git, and other necessary packages for a smooth experience.

How to install Arch Linux using GUI? ›

  1. Step 1 Acquiring the Installation Image. ...
  2. Step 2 Verify the Signature (Optional) ...
  3. Step 3 Downloading BalenaEtcher & Preparing your USB Drive. ...
  4. Step 4 Booting into the Arch Linux Live System. ...
  5. Step 5 Setting up Arch Linux. ...
  6. Step 6 Installing the Base System. ...
  7. Step 7 Configure the System. ...
  8. Step 8 Reboot your System.
Feb 21, 2024

What is the first step after installing Arch Linux? ›

The first thing to do after installing arch linux is to update the system by running a command in the terminal, which fetches the latest package information and upgrades all packages. Next, it is recommended to install core package tools like nano, git, and other necessary packages for a smooth experience.

How to install Arch Linux using script? ›

Process
  1. READ THE ARCH INSTALL DOCS. ...
  2. READ THE WHOLE SCRIPT. ...
  3. Download an Arch Linux installer ISO and boot it on the system you want to install.
  4. Copy the arch_install.sh script to the live system. ...
  5. Make the arch_install.sh script executable. ...
  6. Run the script. ...
  7. If there were no errors, reboot and enjoy!

How to install Arch Linux properly? ›

Follow the steps outlined below to install Arch Linux.
  1. Step 1: Download the Arch Linux ISO. ...
  2. Step 2: Create a Live USB or DVD. ...
  3. Step 3: Boot up Arch Linux. ...
  4. Step 4: Set the Keyboard Layout. ...
  5. Step 5: Check Your Internet Connection. ...
  6. Step 6: Enable Network Time Protocols (NTP) ...
  7. Step 7: Partition the Disks. ...
  8. Step 8: Create Filesystem.
Jun 11, 2024

Where to start with Arch Linux? ›

How to Install Arch Linux
  • Step 1 — Download & Boot Arch Linux. ...
  • Step 2 — Prepare the Installation. ...
  • Step 3 — Partition the Disk (UEFI Systems Only) ...
  • Step 4 — Partition the Disk (MBR Systems Only) ...
  • Step 5 — Install the Base Packages (UEFI and MBR Systems) ...
  • Step 6 — Start the Arch Linux Installation.
Aug 24, 2023

How to install Linux step by step? ›

At its simplest, installing Linux on a PC takes four easy steps:
  1. Select and download your preferred Linux distribution.
  2. Create your bootable installation media (CD/DVD, USB drive, etc.)
  3. Set your PC to boot from the CD/DVD or USB drive.
  4. Run the installer and choose how to configure Linux.

Is installing Arch Linux hard? ›

Although using Arch Linux isn't all that difficult, installing it is another issue altogether. Unlike most Linux distributions, Arch Linux doesn't have a user-friendly GUI installer. It's all text-based and installation can be a challenge, even for people with plenty of experience using Linux.

Does Arch Linux have an installer? ›

archinstall is a helper library which automates the installation of Arch Linux. It is packaged with different pre-configured installers, such as a "guided" installer.

How to make Arch Linux bootable? ›

Etcher (Linux, Mac, Windows)​
  1. Launch Etcher. Click on Select Image and select the Archcraft ISO.
  2. Select your USB drive, Be careful here and select the right one.
  3. Click on Flash! and wait for it to finish.
  4. This will create a bootable Archcraft USB for both BIOS and UEFI.

Can I install Arch Linux without USB? ›

Can you dual boot Windows and Arch Linux without using an external hard drive or USB stick? Surely. One partition windows, another linux, and the grub bootmanager brings up the choice which of these to start. Works fine here, with EFI, win11 and manjaro.

What code does Arch Linux use? ›

Package Management

It was written in the C programming language by Judd Vinet. The package manager handles all the packages on the system, and does installation, removal, upgrades, and more. As a rolling release system, Arch Linux's repositories are being constantly updated.

How to set up Arch Linux ARM? ›

Installation
  1. Using another Linux system, insert the SD Card.
  2. Ensure SD card is not mounted. $ lsblk. ...
  3. If a path is shown under "MOUNTPOINT" for the SD Card then unmount the each applicable partition. ...
  4. Partition SD card. ...
  5. Format partitions. ...
  6. Change to home directory. ...
  7. Create temporary directories. ...
  8. Mount partitions.

What programming language is Arch Linux written in? ›

The Linux kernel and the GNU userland are written primarily in C. Arch Linux uses the GNU C Library (glibc) as the C standard library; it is a dependency of the base meta package. You can use the GNU toolchain or the LLVM toolchain to develop software in C, C++ or Objective-C.

How to manually install fonts Arch Linux? ›

Alternatively, fonts can be installed manually:
  1. For a single user, install fonts to ~/. local/share/fonts/ . ...
  2. For system-wide (all users) installation, place your fonts under /usr/local/share/fonts/ . You may need to create the directory first: mkdir -p /usr/local/share/fonts .
Jul 29, 2024

Does Arch have a graphical installer? ›

Using ALG or Arch Linux GUI to install Arch Linux

A diversity of desktops and Tiling Window Managers. Choose and install with a graphical installer Calamares.

Can you install Arch Linux on a virtual machine? ›

Installing Arch Linux on a virtual machine is an excellent way to experience this powerful and flexible Linux distribution without affecting your main system.

What are the system requirements for Arch Linux GUI? ›

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.

References

Top Articles
Latest Posts
Recommended Articles
Article information

Author: Nathanial Hackett

Last Updated:

Views: 5329

Rating: 4.1 / 5 (52 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Nathanial Hackett

Birthday: 1997-10-09

Address: Apt. 935 264 Abshire Canyon, South Nerissachester, NM 01800

Phone: +9752624861224

Job: Forward Technology Assistant

Hobby: Listening to music, Shopping, Vacation, Baton twirling, Flower arranging, Blacksmithing, Do it yourself

Introduction: My name is Nathanial Hackett, I am a lovely, curious, smiling, lively, thoughtful, courageous, lively person who loves writing and wants to share my knowledge and understanding with you.