A Solid Base

(Arch Linux Installation Notes)

image link-topic-sf0.jpg

1. Why Arch Linux?

An ordinary Linux distribution such as Ubuntu is like seeing city on a tour bus, while Arch Linux is like exploring it on foot. In principle both styles of tourism have their advantages. The problem is that the Ubuntu/Gnome/KDE tour bus has become as large as a cruise ship and it gets stuck in downtown streets.

(If I seem negative about Ubuntu it is simply because I feel so betrayed by it. Its promise was great, and for a long time it was my distribution of choice. It could have changed the world, but instead it disempowered its users and disabled their computers.)

Certainly there are other lightweight Linux (or BSD) distributions besides Arch, and if you prefer one of them you should use it. For myself, the Arch philosophy matched my own goals and expectations for a system so well that it was an easy choice.

This present Notebook on Arch Linux installation will be quite short because Arch Linux is extremely well documented. It's just that you actually have to read the documentation. If you're unfamiliar with Arch, you should take a look at the articles on the main page of the Arch Linux Wiki - especially the Arch Linux overview and The Arch Way. For first-time installation, it really is best to start with the Beginners' Guide rather than the Installation Guide

In general, the only parts of an Arch Linux installation that might be tricky are the network configuration and the video configuration - in each case because of poor support by hardware manufacturers for good computer operating systems.

At the moment, I've successfully installed Arch Linux on:

It is lovely to see some of these older systems come back to life and to realize that by running efficient software I've saved thousands of dollars in new hardware. Dancing fish are expensive.

2. A Few Notes

Miscellaneous notes, mostly to myself, on specific hardware and software matters with regard to installing a system.

2.1. CPU Architecture

"x86-64" means (obvioiusly) 64-bit; 32-bit is "i686". You can run i686 on an x86-64 installation by installing 32-bit libraries, but my own preference is to try to keep installations on 64-bit machines pure 64-bit for the sake of simplicity.

2.2. Booting

The "Hardware Information" ("Hardware Detection Tool" / HDT) option of the bootloader on the Arch Linux installation system often gives a better summary of the hardware of the machine than does the machine's own BIOS.

On my Lenovo machines, holding F1 during boot gets you to the BIOS and complete configuration while F12 during the boot gets you to a smaller BIOS menu to select the boot device for the current session only.

On Lenovo hardware, I've found that in order to boot from anything other than the hard drive you must turn off the Windows-centric BIOS option "OS Optimal Defaults". This option is hiding in the BIOS "Exit" menu.

The HDT is smart enough to figure out which kernel modules will load in response to the hardware. This can be handy to figure out what hardware you have (especially video and wireless/wired Ethernet). Of course, you can also get this information by running lsmod after the system boots.

2.3. Old, Slow Hardware

For very old systems such as my Dell Inspiron 3700 laptop (a Pentium-III 450MHz system from the year 2000), Arch and FVWM (even Arch and Xfce4) work fine. Firefox is too bloated to run on this hardware, though. Midori works well in its place, although there is no Midori flash plugin prebuilt for 32 bit architectures such as this.

2.4. Network

It is sometimes useful to see if the net connection is up before DNS is configured. Google's public DNS server,, is an easy-to-remember and generally reachable address.


2.5. Disks (Hardware Notes)

In the 2014 timeframe, as we move to 4TB disks, it is important to realize that many external disk enclosures can't handle them yet. Of my various external enclosures and bays, three (generally from the 2010 timeframe) could only handle 2TB disks. I had to get new enclosures/bays specifically rated to 3TB or greater to handle 4TB drives.

For ordinary purposes, Arch Linux (or any other reasonably efficient Linux distribution) runs well enough on USB-attached external drives. This means that if you need to you can install on an external drive and leave the internal drive with its legacy proprietary operating system untouched - insurance against that dark day when you might have to boot it to run some unfortunate application which is bound to it.

If running an external drive, be wary of cooling. The drives need cooling. The simple vertical plug-in external bays have no cooling at all. I cool the drive(s) in them by pointing a regular reasonably powerful small household fan at them. Even the external multibay drive enclosures require extra cooling - their internal fans aren't even remotely enough. I find it handy to rig up 5-inch AC powered muffin fans for them. I take the fronts off the enclosures and point the fans at them (from about a foot away). Do always keep the drives well clear of the motors of the fan.

2.6. Disks (Software Notes)

2.6.1. Finding Your Disks

To discover what disks you have, you can either run:


or check the filesystem:

cd /dev/disk/by-id 
ls -l 

The latter method tends to report disk IDs which have manufacturers' names and model numbers coded in them.

2.6.2. 4TB Disk Issues

In the 2014 timeframe we're in a transition to 4TB disks. The good old fdisk partitioning utility can't handle disks larger than 2TB. The GNU "parted" utility can. But for under-2TB disks (such as all of my system disks), fdisk works fine.

However, I question the wisdom of using 4TB disks for system installations. A very useful Linux installation can be done in well under 15 GB. So a tiny (by 2014 standards) 32 or 64 GB system disk is more than enough. As a matter of principle I always keep my installed system and my data on different disks. This way you can reinstall systems as often as you like and your data simply travels with you.

(This will of course seem terribly obsolete a decade from now when a 4TB storage device is the smallest available.)

2.6.3. Filesystems and Block Sizes

I tend still to run ext3 because ext4 provides no particular advantages for my modest needs.

My present main filesystem contains something over 7 TB of files, with a mix of many large files (it can take over 100 Meg for a single high-ish resolution page scan) and countless tiny files. (At present it comes to over 4.3 million files spread over six disks in an 11 TB array.) I've tried block sizes of 1, 2, and 4K for large filesystems. My own preference, based on this experience, is 2K

sudo mkfs.ext3 -b 2048 /dev/sdXn 

2.6.4. Miscellaneous Disk Notes

A lowly "netbook" with a solid-state drive installed (and thus no shock issues) is really quite handy. It's like having a tablet computer with a nearly-real keyboard.

2.7. Video

If the system reports "i915" video (as did my MicroCenter house branded machine from 2006 and my Lenovo c540 from 2013), then after the regular installation but before running the X Window System install the intel video driver:

sudo pacman -S xf86-intel-video 

The NVidia GeForce 6200 on my 2007-vintage generic system wouldn't work at all with the Nouveau (open-source NVidia-compatible) driver. With the proprietary NVidia driver, it worked very well. See https://wiki.archlinux.org/index.php/NVIDIA

2.8. Configuration 1

After the base Arch Linux system is installed, and after you've rebooted into it (so you're running off the installed system, not the CD or USB installation system), but before you've done anything else you need to do a few things.

2.8.1. Check the Net

First, make sure that the network is working and that you can ping sites by DNS name (e.g., ping www.google.com).

If the net doesn't work, something went wrong in the second (= installed system) network configuration in the Beginners' Guide. Revisit it.

2.8.2. Check the Date

If you're working with old hardware make sure that the system clock is set (use the "date" command). The GPG keys used for Arch Linux packages expire every few years. If your system date is beyond this period, paman will fail. If you're installing a machine with a 1999 BIOS and a dead motherboard battery this can be an issue. :-)

2.8.3. pacman GPG Keys

Make sure that the GPG keys are configured; pacman needs them. This is covered in Arch Linux System Maintenance. Follow the instructions there. This will involve at least the following (as root, which is the only user at this point in time):

pacman-key --init 
pacman-key --populate archlinux 

2.8.4. Possibly Update

Arch Linux is a "rolling release," meaning that it is constantly updated. The installation systems are generated monthly. If you install from one that's newly generated (if you install right near the beginning of the month), all will generally be well. But if you install later in the month, it is possible that packages you might wish to install (or other packages on which they depend) have been updated in the interim. So it's best immediately to run an update of the system. As above, first read Arch Linux System Maintenance and follow the instructions there. This will involve at least the following (as root, which is the only user at this point in time):

pacman -Syu 

(That is, sync the package satabases, refresh, and sysupgrade.)

2.8.5. Install sudo

You need to install "sudo" so that you can run root commands from your user ID. This is not covered in the Beginners' Guide. You must log in as root and do:

pacman -S sudo 

Then configure your /etc/sudoers files.

2.8.6. Install a Regular User

Finally (so far), you need to add a regular user, so that you can execute everything as this regular user and not log in as root. This is just good system practice. (It's also covered in the Arch Linux Beginners' Guide.)

Don't forget to set a password for the user while you're still root ("passwd" command).

Then log out and log back in using your regular user ID.

3. .bashrc

You'll need a .bashrc file. The default file will probably work well enough for now, but for further notes see ../ Miscellaneous Application Notes -> bash (.bashrc).

4. The Next Step

If you're installing a system with a graphical interface (which is not always the right thing to do), then the next step is the installation of that interface. My interface of choice, the FVWM window manager, avoids the massive overhead of "desktops" entirely. See Viewports and Workspaces with FVWM.

If you are installing a non-graphical (terminal mode only) system, then you can skip that (and skip the problems of GTK, and skip the hubris of GIMP 2.8) and proceed directly to the installation of the packages that you need .

Select Resolution: 0 [other resolutions temporarily disabled due to lack of disk space]