I’ve been all over the place recently in regard to my love and/or hate of Arch Linux.

I absolutely love the minimalism of the base install and the availability of packages.

What I’m hating is that I’ve been running into some really weird system lock ups that seem to be related to Gnome by way of whatever browser I am running.

It’s been weird, I’ll open up a new tab in my browser and poof, the system will appear to log me out of Gnome.

Sometimes I can log back in and open by browser and poof same shit happens.

The poof has even persisted through a reboot and doesn’t resolve until I open the browser in such a way that it doesn’t open the previously opened tabs

This has happened to me in Firefox Developer Edition, Google Chrome and Chromium and I haven’t found a reliable reason or solution.

I’ve dug through the system logs and it appears to be something related to Gnome that is resulting in a segmentation fault.

Initially this was only giving me grief on my iMac but recently happened on my MacBook Pro since upgrading to Gnome 3.26.

My buddy Dean suggested that I roll back to the long-term support release of the Linux kernel before I completely abandon Arch and begrudgingly run back to Debian.

As I’m using systemd-boot the steps were a bit more involved than simply installing the linux-lts package. Here’s what I ended up doing:

First you will need to install the linux-lts package. It’s an official Arch package so sudo pacman -S linux-lts will suffice.

Once that’s installed you will need to either edit your existing boot entry or create a new one. I opted to create a second entry so that I could go back and try the latest and greatest Linux kernel from time to time.

You probably have an entry configuration named arch.conf in /boot/loader/entries. If not, update this command to match your naming convention:

cd /boot/loader/entries
cp /boot/loader/entries/arch.conf /boot/loader/entries/arch-lts.conf

Then you’ll want to edit the file to reflect the LTS kernel:

sudo vim /boot/loader/entries/arch-lts.conf

The lines that need changing would look something like this:

title Arch Linux - LTS Kernel
linux /vmlinuz-linux-lts
initrd /initramfs-linux-lts.img

If you reboot now you’d be able to pick the LTS kernel option from the boot menu, but if you’re wanting to use the LTS by default like me you will need to edit loader.conf

sudo vim /boot/loader/loader.conf

And set your default option arch-lts:

timeout 3
default arch-lts

timeout is optional if you want the menu to show up by default without a key press. Comes in handy if you need to switch back to the latest kernel if something’s fucked with the LTS one for you.

That’s it, reboot, and run uname -r to check that you’re on the LTS version of the kernel. That would be version 4.9 as of the time of this writing:

4.9.53-1-lts

Not much to it and from what I’ve heard could be less steps depending on your boot loader.

The only issue I’ve run into is with my FacetimeHD camera on my MacBook Pro. I’ve reinstalled the kernel modules while running the LTS kernel and it’s still saying device not found. Expect another post when I figure that one out ;)