Klaus Zimmermann's Corner

Notes on installing Arch Linux via archinstall for the first time

Gus Fring meme: You installed Artix because you wanted to be SystemD-free. I installed Artix because I didn't want to bother with Arch's install procedure. We're not the same.
True story, it's why I tried out Artix in first place...

As of the time of this post's publishing, I've been using Artix Linux (not Arch) for about two years straight. Before that, however, despite the fact that I had been using Linux for about 10 years or so, I embarassingly had not tried that many distros yet. Familiar territory was Debian and Ubuntu, and play was defined as exploring live distros like puppy every now and then.

Thus, in early 2021 I decided to take a rather radical approach to my software life and try a distro family that I had never tried before: the Arch-based distro of Artix Linux. Though it shares much in common with Arch, package manager and all, ultimately they are two separate distributions, most evidently in the init system, and not 100% compatible with each other. Some even call it better than Arch itself, although that is a quite strong personal opinion.

The results of this endeavor were amazing: over the year 2021 I diversified my OS portfolio to include FreeBSD, Alpine Linux, a little stint of Tiny Core on my Pi, culminating in a bare-metal install of the world's most secure Operating System. All was going well. Last month, however, something else came to my mind. Why not try pure Arch install and see how things go?

The idea caught me by surprise, as usually my answer to that prompt was that I hadn't had the time for something that required a complex install setup. This time, though, I knew this excuse was dead: the Arch Linux project had released an installation script, akin to a wizard, known as archinstall. Could it be the time, then, to at last experience the pure and pristine Arch experience? You bet.

This is a quick post on my findings following my first serious install of Arch Linux using only the archinstall script - considered by many a "blasphemy" to the Arch way.

What's the problem with a script?

For starters, let me just say it up front that Arch having an installer by no means makes it "watered down" or n00bish. To me, a distribution has to be practical in first place to be powerful and useful. And what's more, pretty much every other practical distribution out there makes use of an installer script of sorts - be it Alpine, Debian, and even FreeBSD / OpenBSD. All of them are solid operating systems, and capable of installing very minimal systems up front for free customization later.

The bottom line is: the installer is a great way to get Arch up and running in a quick and simple way, but unlike installers of other distros, it's not completely foolproof - and may very well leave you with hanging with an unusable system. Thankfully, the fix is easy - but you gotta watch out for a few steps...

Before running the script

Ok, so you've downloaded, verified and burned your archinstall ISO. Slap that USB drive in and give it a boot! Watch the boot messages scroll (noticieably slowly!) by and at the end you've got a root shell prompt. All good to run the installer, right?

Not so fast. Apparently, judging from what I've discovered in IRC, the live ISO has a timing issue that fails the installer rather silently if you start it before the iwd daemon (which manages wifi connectivity) has started. It sure did for me a few times, which did left me with a raised brow for a few minutes. But then, again, I was on a laptop without a cable, I needed this to proceed.

So what do you do? Have some patience and wait a little more before attempting the install. Something like 3 minutes should work. And then try to connect to the internet, because that is the one thing that the installer will not do for you. From the live ISO, you use iwctl, a little like this:

# iwctl
[iwd]# station wlan0 scan
[iwd]# station wlan0 connect YOUR_SSID
(then enter your passphrase)

Here my WiFi adapter was identified as wlan0, but it may vary. Side note: this live Arch ISO is actually pretty neat. It contains goodies like tmux, irssi, the robust zsh shell and even lynx to browse the Arch Wiki if you need!

Now you're ready to run archinstall and let it (presumably) do the rest for you. Ready?

During the install

Go right ahead and run archinstall. You're going to notice that the screen will blink once in the process as the framebuffer activates a different font. Nice little detail.

One notorious thing that happened during my installation attempts was this: disk partitioning failed and aborted the script instantly. I'm not quite sure why, since the error messages were a little confusing, but maybe it was to do with my requests to encrypt the disk before installing the system. After two attempts with encryption failed, I sort of gave up and pursued instead an install unencrypted.

So in a way, if the disk prepping step presents you any trouble, my advice to you would be exactly this: go ahead and and just retry. That's right. Give another try or two and it will probably work. I'll be damned if know why, but hey, that's what worked for me.

Don't reboot just yet!

Everything went alright? Great. All clear and ready for that reboot, right?

NO! Stop right there! Look, this is your last good step with internet before stepping into the cruel and unforgiving world of the raw Arch base install. Are you really sure that there isn't anything missing?

I can tell at least one package that you're going to miss: iwd. Wait, what? Didn't you just use that service to ensure internet connectivity all this time? Well, that's true, but here's the catch: that iwd belonged to the installer environment, afterwards chrooted into the disk environment - which doesn't include it by default. Thus, if you want to guarantee any sort of WiFi connectivity afterwards, you must install iwd before the big reboot. This is a big catch that I found out the hard way so take the lesson: install iwd or some other way to manage WiFi connectivity now.

Of course, you can install other packages now, too, as you wish. I didn't feel that need, since I knew that now, with WiFi secured, I'd be able to install them on demand. And with that, go ahead and do the big reboot, yank out the USB stick and watch the glory of your Arch machine rise from its definite install.

Conclusion

I feel that archinstall is a huge step forward in facilitating the adoption of plain Arch Linux (and not derivatives like Artix or Manjaro) to the larger Linux crowd. It's not perfect, but takes out about 80% of the total work required to install it. The greatest part is that hardcore old-schoolers can still be happy: a manual procedure is still alive and kicking, and could be leveraged for complete customization. Either way you'll end up with a baseline Arch system!

In hindsight, I later found a life-saving tip on Reddit about how some of these archinstall errors could be fixed before attempting the installation: update it before you run it! That's right. Remember that Arch is a rolling-release distribution; this means that even though you might think that the latest Archiso image released only two weeks ago might be pristine and cutting-edge, new stuff might have been released in that meantime.

Who knows if such updates might include updates to the installer as well? Hence, next time I'm installing Arch, I'm going to squeeze the following commands in, between the setting up WiFi and running the installer steps:

~ # pacman -Syy # refresh pacman's cache
~ # pacman -S archinstall # update archinstall to latest version

Neat trick, quick and might as well solve all your previous headaches ;).

Another thing I noticed past the installation is that my (wifi) connection tended to drop after resuming the computer from sleep. The culprit turned out to that for some reason the routing table was erased, and thus packages could not be forwarded out of my LAN. I don't know what exactly is causing this, and haven't found a permanent fix yet, so in the meantime I'm hacking around it with:

# ip route add default via 192.168.1.1 dev wlan0

If it works, it works!


How did you first install Arch Linux? Was it difficult? What was your experience with the installer? Let me know on Mastodon!


This post is number #42 of my #100DaysToOffload project. Follow my progress through Mastodon!


Last updated on 01/22/23