Trials & Tribulations: Installing Gentoo Linux With GNOME & Systemd

Print
by Rob Williams on April 20, 2015 in Software

Having run Gentoo, KDE, and OpenRC for as long as I can remember, I recently felt inspired to start fresh and try something a little different. Such as a move to systemd, as well as GNOME. What results is this article, a rambling of sorts, featuring roadblocks I ran into, and thoughts of both systemd and GNOME 3.14 after using them for a week.

At the start of the month, Gentoo Linux’s website was treated to a great-looking overhaul, and somehow, it managed to inspire me. For a couple of reasons, I’ve wanted to wipe the slate clean and start fresh, but I couldn’t quite settle on how I wanted to go about things this next time around.

As an avid KDE user, I wanted to wait until Plasma 5 hit Gentoo’s repository as stable software before starting anew, but nearly one year later, there’s still more work to be done. Fueled by this piqued ambition, though, I couldn’t have imagined holding off on this reinstall, so of course, I began making up excuses to egg myself on. At first, I had thought I could just suck it up and install Plasma 5 via alternative methods, but I then thought back to last month’s release of GNOME 3.16, and all of the hype that surrounded it.

And that was that. It’s been a solid four years since I last used GNOME 3 for more than a couple of minutes, so I decided it was time to catch up and see what experience is offered nowadays.

Gentoo Linux Website
Gentoo Linux’s updated website

As I’m sure many of you are aware, installing GNOME today isn’t as straight-forward as it used to be, thanks entirely to the fact that it requires systemd to work as it’s supposed to. And, despite the fact that I’ve used the init replacement in some distros before (such as with the first supported distro, Fedora 15), my knowledge on systemd is almost nonexistent.

So, not only a move to GNOME, but also one to a different integral system management tool (or suite of tools). I admit I wasn’t quite sure what I’d be in for.

This article isn’t a “guide” by any stretch; it’s merely me rambling about my experiences. If someone can glean some useful information from it, then great. Likewise, if someone simply enjoys seeing someone else run into a number of roadblocks, that’s great, too.

I am sure it’s not impossible to install Gentoo without references, but it sure is difficult, and each time I take the plunge, I realize that referring to the excellent Gentoo Handbook is a great idea, as procedures evolve all the time. While the handbook doesn’t expect that everyone is going to be using systemd, it does drop a couple of hints of what you should be doing along the way.

Gentoo Linux - systemd

While I installed Gentoo this time around with systemd in mind, I realized after the fact that it would have been easier to simply install the OS as normal, and then worry about systemd later. The reason I didn’t have that mindset originally was because I somehow thought you could only have a single init-like system installed at once. That’s not the case – you can install using OpenRC and then install systemd afterwards, at which point it can take over all of the important duties.

After the installation, I booted into the new environment and ran into an issue immediately. As it happened, I was missing an important kernel module, so I had to boot back up into the live CD, mount the drives, and then chroot in to take care of business. “But Rob, why couldn’t you have done it from within your actual install?” Well, you see, it’s awfully difficult when the missing module prevents the keyboard from working!

I am not sure how common this issue would be, but for my keyboard to work (Func KB-460), I had to compile the kernel with the ‘Improved Transaction Translator Scheduling’ option selected (found here: Device Drivers > USB support > EHCI HCD (USB 2.0) support). Some webpage I stumbled on said that this is sometimes required for certain gaming mice, but in my case, it was the keyboard.

After that was settled, installing systemd – even while following the guide – didn’t go according to plan. At this point, and given all of my scouring the Web for clues, I can’t even remember the definitive fix. I do recall udev blocking systemd’s installation, though, which I think I solved by simply unmerging it (installing systemd took care of emerging it again). As is typical of different Gentoo installs, problems and solutions are going to vary.

Summing up a systemd install in a single paragraph underestimates the amount of work that went into getting it operational. While I am confident that unmerging udev temporarily played a role in me getting around a roadblock, I believe that’s not the only thing that helped. That’s why it’s important to follow the Gentoo systemd guide to a T. I believe the first time I went through, I forgot to follow the /etc/mtab step, which is required to mount. It’s easy to overlook things when the page is long, but in this case, it’s worth not skipping over anything.

Once systemd was installed and operational, something that can be verified by running ‘cat /proc/1/comm’ as root, installing GNOME was an absolute breeze. I don’t recall if I had to unmask or add keywords to anything, but if I did, that was also easily taken care of thanks to Portage’s ability to tell you what needs to be changed, and offer to make those changes for you.

Letting the massive emerge queue run through the night, I woke up to a fully-functional GNOME 3.14 desktop. The screenshots below show exactly what I saw and could do right after the first entry into the new desktop. If you find there are too many preinstalled applications, ‘gnome-light’ should be emerged instead of the meta package ‘gnome’.

GNOME 3.14 - Gentoo Default Install
Basic GNOME Install In Gentoo Linux

GNOME 3.14 - Gentoo Default Apps
Default GNOME Apps In Gentoo Linux

Anyone who’s ever installed Gentoo realizes that rarely, everything is perfect after the first boot. Fortunately, I had very little to tackle. The only thing that really stands out at this point is that my volume would be set to mute whenever I logged in, which required me to make a quick change to Pulseaudio (which I believe just required me to install pavucontrol).

You might have noticed that I said I’m running GNOME 3.14, not 3.16, and that’s simply because 3.16 isn’t in the Portage repository at the current time. While it might have been possible to install 3.16 with an overlay or some other way, I chose to just stick to the stable version to make sure the experience was as it should be – 3.16 didn’t introduce anything I just “had to have”.

Despite going four years without using GNOME 3 to any real degree, it felt familiar from the get-go, almost as if it was just mere months since I last used it. As I’ve had to do with Ubuntu’s Unity, I needed to find a tweaking tool for GNOME, stat, as many of its defaults don’t suit me very well. After figuring out via Web search that it was gnome-tweak-tool I was looking for, I was rather surprised to see that Gentoo had included it in that monolithic ‘gnome’ install. It’s really easy to see why.

GNOME Tweak Tool

The only thing I think would make GNOME Tweak Tool better is if it allowed users to add custom shortcuts to the launcher (I am still baffled at how complicated that’s made to be). As seen in the shot above, I chose to enable a dark theme with this tool; other changes I made included re-enabling the minimum and maximize buttons, enabling desktop icons, adding a startup application (WhatPulse), and enabling the application menu.

In the conclusion of my look at Fedora 15 four years ago, I mentioned that one thing that struck me so much about GNOME is that it helped me concentrate on work due to how it manages to cut down on distractions. After playing around with GNOME 3.14 for the past week, I’m glad to see that nothing has changed.

I admit that I didn’t like GNOME 3 much at all when it first released, and there are still a couple of things I’d change, but, as it stands right now, I think it’s an excellent desktop environment. It’d take a lot for me to move away permanently from my beloved KDE, but I could definitely see myself using GNOME a lot more going forward.

GNOME 3.14 - Custom GNOME Install
Customized GNOME 3.14 Environment

While my experience with GNOME is very good, I admit that systemd has left a bit to be desired. While it works perfectly fine with zero issues that I can spot on my machine, it’s the configuration that currently stumps the heck out of me. Despite perusing a number of different systemd guides and FAQs, it seems that some basic concepts still elude me, so it goes without saying that I’ll need to be doing a lot more reading in the near-future.

Take this roadblock, for example:

Gentoo Linux - systemd Defaults

What this shows is that I am able to begin VMware’s networking as well as Samba with systemd, but if I try to enable it so that it starts at boot, I get information on how I’m doing something I’m not supposed to be. For whatever reason, that information doesn’t help me out personally, and I wasn’t able to find clear-cut information in Google. In the past, with OpenRC, I’d enable services like these at boot either through Gentoo’s rc-update tool (creating a manual entry in /etc/init.d/), or as a last resort, I’d toss some scripts in the /etc/local.d/ folder. Neither of those solutions have helped me since moving to systemd.

I should stress that I’m not complaining about the implementation here; for me it’s just been hard to grasp how you’re supposed to create custom startup scripts properly. I did attempt to fiddle around with self-created .target and .service files, but didn’t get too far.

Aside from niggles like those, I have enjoyed using systemd so far. Right from the get-go, it performed extremely well, and either by luck or design, I didn’t encounter broken functionality after getting it implemented. My PC also boots up and shuts down faster than ever before.

While I’m not ignorant of the sheer amount of controversy that has surrounded systemd, I have come to enjoy using it so far. It’s interesting to note that Gentoo is one of the last major distros that currently doesn’t ship with it as default, a list that becomes even smaller once Debian 8 and Ubuntu 15.04 launch this week.

And, that wraps that up. As I mentioned earlier, this isn’t meant to be a guide, but I do hope that some things I mentioned might help solution-seekers in the future. And, this gave me an opportunity to give praise to GNOME, and talk about Gentoo-related things for a bit, an opportunity that doesn’t arrive all-too-often given its rolling-release nature.

For the lack of a better conclusion, here’s a picture of some Gentoo penguins.

Gentoo Penguins - Flickr David Stanley
Flickr: David Stanley

Rob Williams

Rob founded Techgage in 2005 to be an 'Advocate of the consumer', focusing on fair reviews and keeping people apprised of news in the tech world. Catering to both enthusiasts and businesses alike; from desktop gaming to professional workstations, and all the supporting software.

twitter icon facebook icon googleplus icon instagram icon