Installing ArchLinux 2025 to your computer

dos2unix

Well-Known Member
Joined
May 3, 2019
Messages
3,525
Reaction score
3,285
Credits
31,524
Degree of Difficulty/Level of Experience - Intermediate to Advanced.

Arch and I have a love/hate relationship. It was my favorite distro for a while, but I don't use it anymore. For one thing it doesn't support EFI, so it won't install on my two newest computers which don't support Legacy BIOS. Which is kind of ironic, because Arch prides itself on being the latest and greatest of everything. But I have rambled enough about EFI these last few days. Some people say Arch is easy to install. We will see if you agree after this article. This article assumes you already have the Arch install USB created. It also assumes you have a blank hard drive to install to. This is a basic install, I'm not covering advanced things like dual boot. So put your USB drive in and let's go.

Screenshot_20250211_070259.png

Arch does have one of nicer boot menus. For now, we will just choose the top option.

Screenshot_20250211_070330.png

Next, you will see the standard linux stuff being loaded into RAM.

Screenshot_20250211_070346.png

Finally we will get to a command prompt. There is no fancy GUI installer for Arch Linux. It's all done from the command line. But not to worry, once it's installed, the Xwindows GUI works fine. You want to type "archinstall" here. (without the quotes).

Screenshot_20250211_070409.png

Go ahead and press the [Enter] key on your keyboard.

Screenshot_20250211_070433.png

This is the main configuration screen. This is where you setup the installation options you want to use. For the most part, you will be using the up and down arrow keys on your keyboard to navigate through this. Sometimes you will use the [Space] bay, and sometimes you will use the [Esc] key. Since the language selection is already hi-lited, leys go ahead and press [Enter] here.

Screenshot_20250211_070543.png

Just use the up and down arrow keys to pick your language you want to use, and then press [Enter]. The Number after the language tells you about how support there is for that language so far. Some languages are more supported than others.

Screenshot_20250211_070648.png

Next,use the down arrow to select Locales, depending on your keyboard and language you may have to adjust this, but since I am using a US-English keyboard, I can just go with the defaults here. Just press [Enter] and that will take you back to main configuration screen. Use trhe down arrow key to select Mirrors and press [Enter]

Screenshot_20250211_070731.png

A mirror is simply the server out on the internet that you connect to in order to get the packages you need to install everything. First we need to pick the region. This is the geographic location you are in. Go ahead and press [Enter]

Screenshot_20250211_070803.png

You will see a list of countries here, use your up and down arrow keys to find your country.

Screenshot_20250211_070840.png

If your country isn't in the list, just pick the closest country. Once you have it hi-lited, press the [Space] bar. You should see a little "x" in the brackets next to your selected country now. Press [Enter].

Screenshot_20250211_070918.png

Next we need to setup the disk layout. Use the down arrow to select "Disk Configuration", and press [Enter].


Screenshot_20250211_070932.png

Next you will see the parttioning screen. Go ahead and press [Enter] here.

Screenshot_20250211_070951.png

Unless you have some experience creating Linux partitions on a disk, I would just go with the "Use a best effort" option at the top.


Screenshot_20250211_071023.png

Most of you will only see one disk here. If you see more than one make sure you select the correct disk. WARNING: This will delete everything on the selected disk. Press the [Space] bar, and you should see a small "x" in the brackets next to your selected disk. Go ahead and press [Enter]

Screenshot_20250211_072429.png

It will then ask you what filesystem format you want to use. If you're not sure, just select "ext4". Press [Enter]

Screenshot_20250211_072442.png

It will show you how it is going to partition your disk. If this looks correct, just press [Enter]. This will take back to the main configuration screen once again. Use the down down arrow to select "Swap" and press [Enter]

Screenshot_20250211_071046.png

For now, we will just go with the default option. Use the down arrow key to select the next option "Bootloader" and press [Enter].

Screenshot_20250211_071101.png

For now, we will just use the default "Grub". You can press [Enter} here. That will take you back to the main configuration screen. Use the down arrow to select "Unified kernel images" and press [Enter]

Screenshot_20250211_071115.png

If you don't know what this is, just leave it disabled. Press Enter to get back to our configuration page. Use the down arrow to select "Hostname" and press [Enter]

Screenshot_20250211_071152.png

If you don't like the default hostname that Arch assigned to your computer you can change it here. When you're done, just press [Enter]. Use the down arrow key to select "Root password" and press [Enter].

Screenshot_20250211_071213.png

Screenshot_20250211_071232.png

Enter the root password. Important: Remember this password. Write it down if necessary. This can be the same as your user password, but I would recommend that they are different for security reasons. Type in the password and press [Enter]

Screenshot_20250211_071245.png

You'll have to enter it again to make sure your make a mistake. Press [Enter]. Press the down arrow to select "User account" and press [Enter].

Screenshot_20250211_071316.png

Screenshot_20250211_071332.png

On this screen we want to add a user. You can add more than one, but you should add at least one. This is usually yourself. The account that you use to login to the computer most of the time. Select "Add a user" and press [Enter]

Screenshot_20250211_071351.png

Type in your username and press [Enter]. (No spaces allowed)

Screenshot_20250211_071423.png


Type in your password and press [Enter]. It is recommended to use a different password than the root password above.
Important: Remember this password! You won't be able to login as this account if you lose or forget it.

Screenshot_20250211_071450.png

Type in your password again to make sure there wasn't a mistake. Press [Enter]

Screenshot_20250211_071503.png

Now if will ask you if this user should have superuser (administrator/root) privileges. Most of you will want to say yes here. If you created multiple accounts in the previous section, you probably don't want the other users to have superuser privileges.
Select "Yes" and press [Enter].

Screenshot_20250211_071520.png

This will show the details about the account. You can add more accounts if you like. For now, use the down arrow to select "Confirm and exit" then press [Enter]. Use the down arrow to select "Profile" and press [Enter].

Screenshot_20250211_071540.png

Next select the "Type" option and press [Enter].
Screenshot_20250211_071556.png

Screenshot_20250211_071609.png

A profile is just the kind of installation you want this to be. This isn't a hard and fast rule. This is just basic guideline. Most of yu will wanto to select "Desktop" here and press [Enter].

Screenshot_20250211_071637.png

Now you get to pick which desktop environment you want to install. Arch doesn't really have a "default" desktop, so you can pick whichever you like. Cinnamon, Mate, KDE and Gnome are all popular. I'm going to choose KDE for this install. Use your up and down arrow to make your selection, one it is hi-lited, press the [Space] bar. You should see a smll "x" in the brackets next to your selection. Go ahead and press [Enter]. This will take us back to main configuration screen.

Screenshot_20250211_071730.png

By now, you should be getting the hang of which keys to press. So we will select "Graphics driver". If you have a discrete nvidia card, you want to use nouveau here. If you have a newer Radeon, use the andgpu. If it's an older Radeon use ati. If you're not sure what you have just press [Enter] and it will install allof them. This doesn't hurt anything. Linux knows which one to use. It just takes up slightly more room on your hard drive.

Next select your "Greeter". This is your login screen. Since sddm is the default, we will go with that.
This time instead of pressing [Enter], you can select "Back" and then press Enter. Well Linux.org says I have reached my limit on how many graphics can be contained in one message post (it's 40 in case you were wondering). So I'll have ton continue this below. I see some messages have been posted to this thread in the meantime, so you'll have to scroll down to find where we left off.

... continued in part 2.
 

Attachments

  • Screenshot_20250211_070731.png
    Screenshot_20250211_070731.png
    80.9 KB · Views: 30
  • Screenshot_20250211_071351.png
    Screenshot_20250211_071351.png
    80.5 KB · Views: 24
  • Screenshot_20250211_071503.png
    Screenshot_20250211_071503.png
    87.6 KB · Views: 22
  • Screenshot_20250211_071609.png
    Screenshot_20250211_071609.png
    95.2 KB · Views: 21
  • Screenshot_20250211_071746.png
    Screenshot_20250211_071746.png
    85.9 KB · Views: 21
Last edited:


For one thing it doesn't support EFI, so it won't install on my two newest computers which don't support Legacy BIOS

Did you try turning off Secure Boot and Fast boot? That's a requirement to install Arch, Manjaro, etc.
 
After a little searching, it turns out that turning off Secure Boot, etc. when installing Linux is not limited to Arch or Arch derivatives. :)
 
Did you try turning off Secure Boot and Fast boot?

Didn't help. I can't boot up the installer USB if in EFI mode no matter what other options are turned on or off. Also I cannot boot the iso image in VirtualBox or KVM/Qemu id EFI is enabled on the VM. However Legacy BIOS works fine in all three cases.
I do have some computers that do not support Legacy BIOS... period. It's not an option. In LVM/Qemu, fast boot, and secure boot are not options.
 
Wow! I believe you, but I find this puzzling.

What about installing other Linux distros on those computers?
 
What about installing other Linux distros on those computers?

Same story, if they support EFI, no problem. If they don't... no worky.
But documentation from motherboard manufacturer(s) tell you that it doen't support Legacy BIOS.
As far as VMs go. I have several other distro's installed. All of them except Arch are installed in EFI mode.
syslinux (BIOS) and bootx.shim (EFI) are not the same binary. Usually they aren't in the same path. I would be
more surprised if it did work. But most distros support both EFI and BIOS. A few do not.
I can boot Debian, Ubuntu, Mint, Redhat, Alma, Rocky, Fedora, openSUSE, and a few others in EFI mode all day long.
(I can boot them all in Legacy BIOS mode as well).
 
Last edited:
One of the things I really like about StackOverflow is the keyboard functions.

You can type <kbd>SHIFT</kbd> and it shows a shift key in the resulting text.

Well, that and markup. I find it quicker and easier than BBCode. This forum does support some, like the code tags I inserted above.
 
Also, I do it on my site - as well as I can without modifying the code. Speaking of which, I actually plan on writing more articles soon.

Selection_033.png
 
Didn't help. I can't boot up the installer USB if in EFI mode no matter what other options are turned on or off. Also I cannot boot the iso image in VirtualBox or KVM/Qemu id EFI is enabled on the VM. However Legacy BIOS works fine in all three cases.
I do have some computers that do not support Legacy BIOS... period. It's not an option. In LVM/Qemu, fast boot, and secure boot are not options.

I've been checking around concerning your issue. Is there anything similar with both of these new motherboards?

I'd be very interested in learning their make and model, as well as the brand and release date, etc of the UEFI firmware.

I'm inclined to think that at least the firmware is nearly identical in both of them. :)

EDIT: I think I finally grasp what you're saying:
So there is no way to disable secure boot?
 
===== Installing Arch Linux 2025 - Part 2 =====

We just got done selecting our graphics driver. Now we need to select our "Greeter". This is just the way your login screen looks.

Screenshot_20250211_071746.png

Since sddm is already selected as the default, we will just use that.

Screenshot_20250211_071807.png

Next we need add a audio server package. I eat out quite frequently, most restuarants, when I order, will automatically give me things like ketchup, a straw, and a napkin. But one restuarant I go to doesn't give me any extras unless I soecifically ask them. If I want a straw of naplin, I have to ask. Arch is kind of like this. It doesn't give you anything you don't ask for. Most other distros will install an audio server by default. But in Arch we have to tell it what we want.

Screenshot_20250211_071840.png
Most of us will want pipewire. We can select that.

Screenshot_20250211_071856.png

Next we need to tell it what kind of kernel we want to use. Obviously we want "linux".

Screenshot_20250211_071910.png

Like the audio server above, the Network Manager doesn't get installed unless we tell Arch we want it.

Screenshot_20250211_071935.png

Most of you will want to choose NetworkManager. It says here that it is required to configure your network in Gnome and KDE. That's true, but there is a command line part of NetworkManager that gets installed also.

Screenshot_20250211_072009.png

Nest we get to add a few custom packages that don't get installed by default. I like vlc to listen to audio files, you might want a web browser like firefox. (no that doesn't get installed by default either). Maybe gimp would be a good option. The problem with this, is you don't know what's available until you've done this a few times. It's a little like guessing. If you want more than one, just put a space between them. For now, you probably want at least firefox.

Screenshot_20250211_072028.png

It will then verify that the packages you chose are available to be installed. If you don't see one of the packages you asked for in this list, that means it isn't going to be installed. Not to worry, I can install packages after Arch is fully installed.

Screenshot_20250211_072041.png

Now we can add some Optional repositories, most of you want need this right now.
Screenshot_20250211_072123.png

Next we will pick a timezone.

Screenshot_20250211_072143.png

I'm in the US/Pacific timezone, so I will select that.

Screenshot_20250211_072209.png

Last bit not least, we get choose if we want to use NTP (Network Time Protocol). Most of you will want this. It automatically keeps the date and time on your computer up to date. Most ISP provided connections and routers support this.

Screenshot_20250211_072232.png

If you want to, you can save your configuration, but this is optional.

Screenshot_20250211_072251.png

It looks like a huge json file. (probably because it is).

Screenshot_20250211_072518.png

Now finally, after all of that, we get to the actual install. :)
Go ahead and press [Enter] Here.



Screenshot_20250211_072547.png

..and away we go. For some reason, this took a lot longer than any of the other distros I have installed. This took about 30 minutes. Maybe I picked a slow mirror, I'm not sure.

Screenshot_20250211_073241.png

But you will see a lot of text scrolling by, and the computer will be installing many pacgaes.

Screenshot_20250211_073311.png

Arch installs packages in groups. This particular group has 86 files. But it's not the only group that will be installed.

Screenshot_20250211_073643.png

But eventually you will see this screen. For now, we will just say "No" and press [Enter].


Screenshot_20250211_073710.png

This will bring you back out to command line prompt. You can just type "reboot" here. (Without the quotes).
Then press [Enter].

Screenshot_20250211_073811.png

If everything was installed correctly, you will see a Grub Menu. This will automatically continue to the next screen in a few seconds.

Screenshot_20250211_073826.png

..and tah da! There you have your sddm login screen. Go ahead and type your password in. (The one I told you not to forget).
and press [Enter].

Screenshot_20250211_073855.png

You will see the usual KDE tutorial. If you haven't used KDE before you should go through it.

Screenshot_20250211_073918.png

If you click the icon in the bottom left corner, the appliaction menu will come up. This is where all your applications are.

Screenshot_20250211_074308.png

If you installed firefox or some other browser, you can browse to this site!.
 

Attachments

  • Screenshot_20250211_072532.png
    Screenshot_20250211_072532.png
    213.5 KB · Views: 6
  • Screenshot_20250211_072232.png
    Screenshot_20250211_072232.png
    149.1 KB · Views: 3
  • Screenshot_20250211_072009.png
    Screenshot_20250211_072009.png
    80.3 KB · Views: 4
I've been checking around concerning your issue. Is there anything similar with both of these new motherboards?

I'd be very interested in learning their make and model

It isn't an "issue". They aren't broken. They are specifically designed that way. I bought them that way on purpose. I suspect in 3 or 4 years Legacy BIOS will disappear all together on all new motherboards. (That's just my opinion). But since you asked..

MSI PRO H610M-G DDR4: This motherboard, designed for Intel's 12th Gen processors, only supports UEFI mode
ASUS ROG Strix Z590-E Gaming WiFi: This motherboard also supports only UEFI.
Gigabyte Z690 AORUS Master: Another motherboard that supports only UEFI, designed for Intel's latest processors

There are a few others as well. I don't know what motherboard is in them, but our newest batch of Lenovo rack mount servers don't support Legacy BIOS. I haven't seen any "EFI only" motherboard for AMD quite yet. The only way to run Arch on these systems is in a VM.
 
Last edited:
It looks like Arch can work with EFI. But it's not exactly simple to configure.



I created this bash shell script. It seems to work. (At least for VMs) @f33dm3bits @Mike-W0BTU
Code:
#!/bin/bash

# Prompt for disk device
read -p "Enter the disk device (e.g., sda, sdb): " DISK

# Variables
EFI_PARTITION="/dev/${DISK}1"
ROOT_PARTITION="/dev/${DISK}2"
HOSTNAME="myhostname"
USERNAME="username"

# Partition the disk
parted /dev/$DISK -- mklabel gpt
parted /dev/$DISK -- mkpart primary fat32 1MiB 261MiB
parted /dev/$DISK -- set 1 esp on
parted /dev/$DISK -- mkpart primary ext4 261MiB 100%

# Format the partitions
mkfs.fat -F32 $EFI_PARTITION
mkfs.ext4 $ROOT_PARTITION

# Mount the partitions
mount $ROOT_PARTITION /mnt
mkdir /mnt/efi
mount $EFI_PARTITION /mnt/efi

# Install the base system
pacstrap /mnt base linux linux-firmware

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

# Chroot into the new system
arch-chroot /mnt /bin/bash <<EOF

# Set the time zone
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
hwclock --systohc

# Generate locales
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf

# Set the hostname
echo $HOSTNAME > /etc/hostname

# Create initial RAM disk
mkinitcpio -P

# Set root password
echo "root:password" | chpasswd

# Install and configure bootloader
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

# Create a new user
useradd -m -G wheel -s /bin/bash $USERNAME
echo "$USERNAME:password" | chpasswd

EOF

# Unmount partitions
umount -R /mnt

echo "Installation complete. You can now reboot."
 
Last edited:
I've moved this thread to Arch and Derivatives, because it is better suited here than in Getting Started.

Ray if there is one thing I would add it would be at or near the top of your OP and say something like -

Degree of Difficulty/Level of Experience - Intermediate to Advanced.

See what you think.

I have a view to pin it here.

Cheers

Wizard
 
It looks like Arch can work with EFI. But it's not exactly simple to configure.
Last time I installed Arch Linux on my system I used the arch-install script and it was configured automatically for me, that was about a year ago or so, if you go the manual installation route it's not that hard to configure either. Creating a partition for it, mounting it and then running the right bootloader command to install it.
 
I used the arch-install script and it was configured automatically for me,

Maybe you could write something up about this? It seems that would be helpful. I may be confused, but I did run "archinstall" at the very top of this article. So supposedly this article "IS" the easy way. I have installed it without using the archinstall command and it was more difficult than this.
 
Last edited:
Maybe you could write something up about this? It seems that would be helpful.
I have some notes somewhere, let me see. Here they are. This is of course if you are doing an installation the official way with the Arch Linux installation guide.

1. Create partition for efi using fdisk: fdisk /dev/sda
2. Mark it has an efi partition using fdisk: press t, then enter EF00, w to write/save
3. Format as FAT32: mkfs.fat -F 32 /dev/sda1
4. Create mount location: /mnt/efi
5. Mount efi partition: mount /dev/sda1 /mnt/efi
Then with grub and systemd-boot you have to run different commands, systemd-boot only supports uefi boot, it's a simper command.
6. Install bootloader

With arch-install you pick your bootloader and if you are booted into uefi mode it will setup uefi boot for you.
 
Last edited:
I did not have any problems with Arch installation on UEFI (few years ago).
Maybe this will help:
There is plenty of howtos regarding Arch installation on and EFI.
 
With arch-install you pick your bootloader and if you are booted into uefi mode it will setup uefi boot for you.

Ah... but that is the problem, the installer image won't let you boot into efi mode.
 
Ah... but that is the problem, the installer image won't let you boot into efi mode.
Probably has to do with that you are doing it in a vm with Qemu, I've had other Linux distributions have issues when booting in uefi mode when doing it in Qemu. I've used arch-install on a physical system and then it just install Arch Linux in uefi mode if you are booted into iso with uefi boot.
 


Members online


Top