Saturday, December 10, 2016

Openindiana Hipster 2016.10: Field notes from a fresh install

The past month or so has seen me flit back and forth between OpenBSD 6.0 and OpenIndiana Hipster 2016.10 since getting my hands on a refurbished Dell Inspiron 1525 for next-to-nothing from a computer repair shop. (The invoice didn't include any line items on the software end, but for such a wickedly awesome low price I am quite confident I evaded the Microsoft Tax on the Windows 7 installation, whose hours were bound to be so severely numbered once in my possession.)

I probably would have hung in there with OI Hipster on a more continuous basis if it weren't for some irritants, including:

  • The inability to exit MATE to console mode. I have no problem with MATE itself, and am eager to get to know this Gnome 2 successor fork better. However, sometimes I just have to get in some quality time with the command line, or enjoy the utilitarian beauty of twm. Unfortunately, when I entered the command to do so (# pfexec svcadm disable lightdm), the system would exit out of MATE and then hang, leaving me with a grey cursor blinking in the top left corner of a black screen. No fun. No fun at all.

  • Rolling upgrades that would make a butcher wince. The first three or four reinstalls of 2016.10 saw rolling upgrades (via # pfexec pkg refresh --full followed by # pfexec pkg image-update -v) resulting in a newly-upgraded boot environment (openindiana-1) that was unbootable. While I can't remember the messages on the screen, I had to reboot with Ctrl-Alt-Delete, whereupon I was able to select openindiana from FreeBSD Loader and get back to the out-of-the-box BE. (Despite the aggravation of a botched upgrade, being able to simply turn back the clock in such a situation illustrates the inspired thinking and innovation exemplifed by the engineering talent at Sun Microsystems back in the day. To those people, wherever they have ended up, thank you.)

I had it in mind to submit a bug report or two - initially for the botched upgrade and then a subsequent one for the MATE exit hang, assuming such a problem would have persisted post-upgrade. But with the OpenBSD 6.0 DVD iso looking at me seductively after a prolonged absence from that spartan (by which I mean beautiful) system, my energies were thus spent elsewhere.

I'll be blogging about OpenBSD 6.0 sometime soon, but for now let me say that it is easily the most polished system I have used. Ever. While it doesn't come off-the-rack with many of the bells and whistles of its more GUI-centric rivals, everything it does have just works. Beautifully. I'll save any further gushing for some other time, when I can offer up screenshots or even a screencast or two.

In any case, whatever annoyances I had with OpenIndiana Hipster 2016.10 were drastically outweighed by my interest in seeing it succeed on this machine. And so, just yesterday, I resolved to reinstall it and then proceed with whatever bug reports were needed to help make it live up to its potential. I had decided that my first post-install tasks would be to load it up with whatever apps and extras I could think of, including the build of LibreOffice. (Any such apps installed prior to upgrading are carried over into the new BE, and so if the next upgrade is to prove disastrous, at least you can roll back to the previous BE without having to waste time reinstalling anything.)

Assuming I had my bug reporting cut out for me, I completed the upgrade from 2016.10 to the December 9, 2016 snapshot only to find (much to my delight) that it then booted into openindiana-1 with no difficulties whatsoever. Then, with a bit of trepidation, I opened a terminal window and issued # pfexec svcadm disable lightdm and felt euphoric at suddenly finding myself at a text-only login screen.


With all of that resolved I decided to throw my brain at finding a solution for a more trivial matter, which is getting the audio cranked much higher than the current OI Hipster build of MATE will allow. Although the GUI tools for controlling the volume remains decidedly meek as of this writing, I came across a command line workaround in the OI Hipster bug tracking portal, as suggested in Nikola M.'s initial bug report, as follows:

# audioctl set-control -d /dev/sound/audiohd:0mixer volume 100

# audioctl set-control -d /dev/sound/audiohd:0mixer headphones 100:100

# audioctl set-control -d /dev/sound/audiohd:0mixer speaker 100:100

While the above works like a charm, it is nevertheless a ton of typing just to turn up the volume. This being UNIX, however, means that any series of commands can be saved in a text file for ease of use. In this case, I saved the above three commands in a file called crank (as in "crank up the volume") in my personal export path (/home/jed/bin in this case), and so since executing # chmod +x crank I now have a one-word command that can run either in MATE or other desktop environments/window managers lacking volume control tools of their own. Therein lies the beauty of text-based solutions in UNIX - a workaround for a problem in one environment (MATE) can serve as a great solution in other environments (such as twm).

(It should be noted here that while my crank script works just fine in twm, the sound isn't as much of a joyously eardrum-shredding experience as it is in MATE.)

If I'm going to have a script for turning up the volume, I thought, then why not have one for turning it back down? And so I copied the contents of crank into a new file called ucrank, for "uncrank", but rendered as a nod to umount, a UNIX typo that quite endearingly has been around since the very beginning, and as such can't really be considered a typo. For ucrank I simply replaced each instance of "100" with the default level of "75". what?

The only remaining pebble in my shoe as far as OI Hipster goes is what appears to be a lack of support for my wifi card, a Broadcom BCM4315 (according to the OpenBSD 6.0 /var/run/dmesg.boot file). In fairness to the OI team, it appears that support for BCM4315 is a futhermucker outside the Windows walled garden. If/when I find a way to make wifi work on this laptop, I'll document the solution in a future post. Also to be discussed in a future post will be how this system handles video playback from my digital camera's SD card.