Fun with Arch

Posted on Mon 15 July 2019 in development

So over the weekend I had a chance to update a couple of my desktop / server machines and decided that I wanted to take the plunge and work with arch linux. I have heard both good and bad things over the years with regards to Arch, but the one thing that always excites me is the possibility of learning something new. Everyone says they have learned something with using or attempting to use Arch, so I took the plunge.


The first thing I did (hopefully like a good citizen) was to open up the Arch documentation or the Installation Guide. Everything was going great, I didn't need to change the keymap or fonts at this time. I also verified that I was using EFI so things were looking up.

The first big step was to get the system to access the internet. It just so happens that the first box that I created had a wireless card that was a Broadcom card. So, this has some extra exciting things happening because Broadcom devices have proprietary firmware. So let me go through the examples (and sites) that I visited to get this all working.

Broadcom Support

To start off I followed the documentation and ran ip link only to find out that my wireless card was not on the list. So I next ran the command lspci -vnn -d 14e4: to get the version of the card that I had installed. Once I had that version I looked at the b43 device docs and found out that my card was supported using the b43 kernel module.

So, the next steps were to download the proprietary drivers. After looking around I found the driver as a tar file and downloaded the file on my laptop, then copied it over to the archiso usb and finally copied it from /run/archiso/bootmnt to /tmp.

This allowed me to use the provided b43-fwcutter tool to install the firmware to /lib/firmware and attempt to load the module again. I first made sure to remove the modules by running the following commands:

rmmod b43
rmmod ssb
depmod -a
modprobe b43

After that, running the ip link command showed the device as wlan0 and we were ready to go. I then used the wpa_passphase <SSID> <Password> > /etc/wpa_supplicant/MySSID.conf to generate the connection information for the wifi, and then I started the wpa process wpa_supplicant -B -c /etc/wpa_supplicant/MySSID.conf -i wlan0. And then I finally used dhclient to get an ip address dhclient wlan0 and we were off and running.

Rest of the system

Luckily the rest of the process went off without a hitch, just by following the standard instructions. I created the three recommended partitions with an EFI partition, a root (/) partition and a swap partition. After creating them and running the mkfs calls to format the FAT and ext4 paritions respectively, I then mounted everything and ran the pacstrap command to install the items.

Now, once pacstrap was complete and I had used arch-chroot to jump into the new system, I needed to remember to install a few packages that were included with the pacstrap command.

pacstrap -Sy
pacstrap -S vim dhcpcd netctl b43-fwcutter broadcom-wl-dkms bash-completion

NOTE: I had also installed the wpa_supplicant, iw and dhclient packages first before getting the hang of the rest of the tools.

Installing i3 and GDM

Next I wanted to install i3-wm but specifically the i3-gaps version with a few other tools. Once that was installed the next step was to get the video driver installed and a login tool. I followed the instructions that were found on a different page that was installing Cinnamon called "Install Cinnamon desktop in Arch linux.

It was super helpful as I needed to install a few other packages with i3. I don't actually know if all of these are required or not, but this is what I did to finally get everything working.

pacman -S xorg-server xorg-xinit mesa
pacman -S xorg-twm xterm xorg-xclock
pacman -S xf86-video-intel

Once that was complete I was able to test it out using startx.

Once that was good I just installed the login manager (I used gdm should have tried something that didn't bring all of gnome along).

pacman -S gdm
systemctl enable gdm

Final things

At the end I created my user with a home directory and a password. I rebooted, and had myself a glorious window in i3 that I quickly downloaded my dotfiles for and fixed the way it looked ;-).

Good Times

Honestly this was a lot of fun and I think I will learn a lot in the switch from a debian based system to Arch and look forward to the new things that I will come across.