ArchLinux Thoughts and Installation Notes


Lately I’ve been using ArchLinux quite a bit. In fact, I use it in a VM on my Mac everyday for various tools and utilities. When you talk about or read about Archlinux online, the most common complaint and challenging aspect for most users is the initial installation process. Sure, it’s not a simple point-and-click based installation, but the installation process is very well documented on the Arch Wiki for a vast variety of hardware systems and situations. In fact, the Wiki for Arch is an extremely valuable overall resource. It’s arguably one of the most well documented distributions. That coupled with the package management via pacman, and the packages available from the Archlinux User Repository (AUR), make it my personal favorite.

It’s unfortunate that many people find the install process off-putting, don’t try, or try and give up on Arch due to the difficulty. I’ve always thought a large part of the fun with using Linux was the tinkering and experience based learning aspect. The installation of the system is a one-time thing after which, you never have to do again.

By completing the installation in the “Arch Way”, you know exactly how your hard drive is partitioned, exactly how the OS was installed, what is loaded at boot, etc. You have a solid minimal linux OS and the powerful pacman package manager at your fingertips. I don’t know about you but downloading and installing all my updates with “sudo pacman -Syu” then entering my password is super simple.

I highly recommend any new users to run the installation in a virtual machine first. One resource, a YouTube video that helped me create my first Arch install was this one here by midfingr. He’s got some other good video guides as well. YouTube in general is an excellent resource in seeing all the Desktop Environments (DE), themes, tweaks, and ways people are using Linux. Also the Google+ ArchLinux community is quite active. You can discuss troubleshooting problems with your system, see screenshots of people’s setup, etc.

Here is my current setup:



I highly recommend doing your install after having read the Wiki and following their notes as a guide. After having done about half a dozen or so Arch installs at this point, I have some notes and can pump out the install pretty fast. Here are my quick and dirty notes on how to install Archlinux, mostly for my reference but it may help others. I am assuming you’ve downloaded the ISO from the website and have booted to the target system:

Important note – It’s recommended to use a separate home partition, but I don’t usually do that. I just have the system and swap space partitions only. I’ll include notes on that in case you want a separate home directory. Sentences with # symbols are notes, everything else are shell entries.

# Start off with Partitioning. Make new partitions, 1- root or / 2- swap, set type on swap to 82, use a to toggle bootable flag on system /

# Use cfdisk for this (don’t forget to write changes and to make the root / bootable

# List partitions to confirm you did cfdisk proper, then create filesystems and mount
fdisk -lfdisk /dev/sda
mkfs.ext4 /dev/sda1
mount /dev/sda1 /mnt
mkswap /dev/sda2
swapon /dev/sda2

#If you created a separate partition for home directory, assuming sda3…
mkfs.ext4 /dev/sda3
mount /dev/sda3 /mnt/home

# Need Wireless?
lspci -k
ls /sys/class/net
iw dev

# “wlp3s0″ is the result of listing the contents of /sys/class/net, set your entry below differently is applicable
ip link set wlp3s0 up
ip link show wlp3s0
dmesg | grep firmware
wifi-menu wlp3s0
ping -c 3

# Setup base install
pacstrap /mnt base base-devel
genfstab -p /mnt >> /mnt/etc/fstab

# Now we move over to the new base OS and configure it
arch-chroot /mnt

### You are in the new system now
# Set hostname
nano /etc/hostsname

# Set Timezone, Find your zone, then link to your /etc/localtime
ls /usr/share/zoneinfo/
ln -s /usr/share/zoneinfo/America/New_York /etc/localtime

# Continue System Config, root password, grub, etc.
mkinitcpio -p linux
pacman -S grub-bios
grub-install —recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

# If you are installing on a disk that already has windows, make sure to add Windows to grub.cfg, otherwise its not a bootable option. fdisk -l, find the starred windows partition.
# Nano in and configure it
nano /boot/grub/grub.cfg

# Config:
menuentry ‘Windows version here’ {
set root=‘(hd0,msdos1)’
chainloader +1

# Install dialog and wifi-menu
pacman -S dialog
pacman -S wpa_supplicant

# Reboot into the new base Arch system to continue the configuration

# Get and IP address, again steps included if you need wifi and are not wired
systemctl enable dhcpd.service
ip link show wlp3s0
wifi-menu wlp3s0
ping -c 3

# Update the repo, update your machine, the
pacman -Syy
pacman -Syu

# Create non-root user add to sudoers
useradd -m -g users -s /bin/bash username_here
passwd username_here
nano /etc/sudoers

At this point, you can install and configure the DE of your choice, again consult the wiki. This is my base load that I have saved to a VM template. The base work is done, I just install the DE (KDE, GNOME, OpenBox, i3, etc) and DM (KDM, SLiM, GDM, etc) of my choice.

Hope this has been helpful, and thanks for reading.