Gentrified

This last weekend I was huddled in the basement instead of soaking in the abnormally warm weather. What started as a collection of minor annoyances with Sabayon’s Linux distro turned into a full-blown fit of pique. Yet another distro that drove me bats with frequent updates that broke nvidia drivers each time. Then some obscure process pulled the vboxusers group out from underneath my account so I couldn’t run my Win7 VM. That’s the box configured to VPN into work. Normally a great idea because it keeps my workstation mainly off the LAN at work. Sometimes it presents wrinkles and that makes supporting builds at 0600hrs difficult. Of course, it really wasn’t until Sunday evening that I even figured out why I was having VirtualBox issues.

And, really, rigo is not as hep as emerge.

So I pulled the training wheels off and went full-on Gentoo. Well, mostly Gentoo. I still outsourced my kernel configuration. This time I relied on the good folks over at Funtoo. The guy behind Funtoo used to be a lead at Gentoo but had philosophical differences I guess. All to the good for me because I love Gentoo while I had micromanaging my kernel and USE flags.

They’ve got a series of Stage 3 tarballs pre-rolled for architectures and processors. Along with the tarball comes a sensible collection of USE flags and kernel configurations. They also provide a collection of Portage overlays that greatly simplify USE flag management. You get all of the gains of highly-individualized, locally compiled code without quite as much of the headache.

The biggest sticking point, again, was futzing with X11 and nvidia drivers. However, I’m a bit more confident in things sticking this time around since Gentoo necessarily gets you closer to the update/upgrade process. I also discovered blacklisting in modprobe so now nouveau is hidden from view and should no longer rear its ugly, underperforming ass.

Another point of contention was that the Funtoo overlays were masking pulseaudio which doesn’t really make a whole heck of a lot of sense given everything is counting on that laying about and providing the interface to the audio hardware. Once that was fixed, though, I could emerge Firefox, Thunderbird, and Spotify. That gets me about 83% of the way to a functioning workstation. Of course, there was Eclipse, GVIM, VirtualBox, and the Calligra suite as well. There’s a few more things to iron out, a few minor annoyances to be righted, and then some customization of the theme (natch) that will make things feel like home again.

Oh, and I’m not 100% sure yet, but there’s a better than even chance that I trashed my entire media collection accidentally. So I’ll likely be starting from scratch again. Joy. Definitely need to get the record-from-soundcard thing working with Spotify again. Either that or dig out the giant box of CDs and rip them all over again. Yick…

So I spent a good part of this last weekend watching consoles scrolling compilation logs. There’s a lot of code that sits behind a functional operating system and windowing environment. Easily 10 hours and that’s with eight overclocked cores and 32GB of RAM.

The drudgery

Not sure how many times I’ve been through the steps in this video: https://www.youtube.com/watch?v=xuhMQIpCP1A. Most irritating to me is the way in which the bug in GRUB that doesn’t kill a boot process but throws a bunch of misleading errors was skipped over. Went down a bit rabbit hole on that when it turns out my biggest issue has to do with the X/Nouveau video driver. It has only the slightest degree of support for the GeForce 750 TI video card I installed. So the boot would appear to puke up front but allow you to continue only to puke for real after logging that it was adding swap space. What was really happening though, is that the filesystem was successfully mounted and it was switching to graphical mode. Only it couldn’t because of the suck.

Thankfully the NVIDIA driver installs correctly and disables nouveau for me at the same time. The only problem there was getting to a terminal while xserv wasn’t running so that it could perform the install. So, after many attempts, tonight I will finally, successfully, build out my new server with a permanent installation. While doing laundry. Because I’m hyper-threaded like my CPU.

  1. Install Ubuntu Server so as to set up a RAID5 device with partitions for swap, /, and /home
  2. Reboot into repair mode
  3. Mount the root RAID partition
  4. Drop into a shell
  5. Set the GRUB quick boot option to false in the grub config
  6. wget/run the NVIDIA driver
  7. Reboot into server mode
  8. apt-get install ubuntu-desktop cinnamon (because Unity is still the suck)
  9. and then restore /home from backup (again) and install all of the software that makes the machine go (again)
  10. Set up my Windows 7 VM for seamless mode and install all my Windows-only apps like Evernote, VisualStudio 2013, etc.

All-in-all, though, the new workstation is a beast. I don’t think I’ve seen CPU usage over 60%, RAM usage above 40%, and the CPU temp higher than 80°F. I haven’t done any serious benchmarking but I’ve put it under some load multitasking installs, compilation, and running VMs. It should be a great testbed for evaluating Vagrant, Docker, Jenkins, and Gradle.