A Beast of a Week!

July 14, 2019

Hello again everyone! As promised, another blog post is here.

In the past few years, I’ve been dipping my feet into the world of the open source BSD operating systems. I’ve tried out FreeBSD, OpenBSD, NetBSD, and a little bit of DragonFly BSD as well as well as some TrueOS here and there.

Anyway, before I ramble further, last week was all about FreeBSD. At the start of the week, I finally got a nice surprise in the mail: the FreeBSD stickers I requested from the FreeBSD Foundation! I now have more stickers to accompany the RUNBSD stickers I received a while back, one of which has already made its way to my OpenBSD laptop, the Toshiba Portege M400.

Various FreeBSD stickers on top of the envelope they came in.

Various FreeBSD stickers on top of the envelope they came in.

Toshiba Portege M400 running OpenBSD with a RUNBSD sticker on the arm rest.

Toshiba Portege M400 running OpenBSD with a RUNBSD sticker on the arm rest. Window manager is cwm.

The FreeBSD stickers come in two versions. One is a cutout of the FreeBSD logo, and the other is a hexagon shaped sticker of the same logo. I plan to use one of them on a laptop with FreeBSD that I have at work, an old Dell Latitude D620.

A big thanks to the FreeBSD Foundation for sending these to me.

Unfortunately, all was not rainbows and unicorns as the week progressed, as evidenced by my ordeal with upgrading a FreeBSD server from 11.2 to 12.0.

Going against my gut, I decided to go from 11.2 to 12.0 instead of the newly-released 11.3 on this old Dell PowerEdge 2800 so that my servers and desktops were all version-consistent. Since our district is on summer break (only custodial and office staff are working aside from me), I figured this was a good time to perform the upgrade at this site location. As I began the upgrade process with freebsd-update, all seemed to go well.

All until it was time to reboot.

KVM showing output from the FreeBSD virtual console with "freebsd-update -r 12.0-RELEASE upgrade" at the ready.

Ready to begin the upgrade to FreeBSD 12.0 via “freebsd-update”.

KVM monitor showing patches being applied as part of the FreeBSD 12.0 upgrade.

Patches being applied as part of the FreeBSD 12.0 upgrade process.

Once I rebooted after the first stage of updates took place, my fears were realized…

The system would not boot!

The bootloader came up fine with the FreeBSD logo and it was able to begin the boot process when I hit Enter. However, after it loaded the kernel, ZFS modules (zfs.ko and opensolaris.ko), and entropy, the spinning pipe that would then go into the rest of the boot process just froze after a second. No amount of restarting would fix it. Thankfully (and with a huge sigh of relief), I was able to boot with kernel.old (the 11.2 kernel) and get to a login prompt.

Time for damage control. I began scouring the Internet and searching for solutions. I found some answers on updating the bootcode for the ZFS drives to support 12.0, but that didn’t work. After exhausting all options on the World Wide Web, I decided to hit the #freebsd IRC channel on Freenode. I usually idle in there during the week, but I decided to chime up and ask for help. I also requested some help from the FreeBSD folks on Mastodon. Everyone went beyond the call of duty to help me with my problem (a testament to the entire BSD community, not just the FreeBSD folks). Unfortunately, none of the tips helped me get a bootable 12.0 system. Loading the modules manually from the boot loader prompt didn’t help, nor did replacing the loader binary with the latest one from 12.0-STABLE. Still, I learned a lot thanks to them, and I’m eternally grateful for all of their help.

KVM showing output of the first stage of the 11.3 upgrade. Ready to reboot in order to begin the second stage.

Finishing the first stage of the 11.3 upgrade after rolling back from the botched 12.0 upgrade. Ready to reboot for the second stage with fingers crossed.

Down but not out, I made peace with my gut and decided to attempt an upgrade to 11.3 from the bootable 11.2 kernel (kernel.old). This was my last resort before going thermonuclear, something I was hoping to avoid at all costs.

I remembered that “freebsd-update” has a “rollback” command, so I ran “freebsd-update rollback” to undo all the 12.0 changes. Once that finished, I ran “freebsd-update -r 11.3-RELEASE upgrade” and crossed my fingers. Everything went through fine as with the 12.0 upgrade and I was prompted to reboot after the 11.3 kernel updates were installed. I typed “shutdown -r now” and hit Enter, fingers crossed.

The moment of truth.

Up came the FreeBSD bootloader. I hit Enter to load the new 11.3 kernel and ZFS modules…

KVM showing the FreeBSD 11.3 login prompt and the MOTD after logging in as root.

Success!

HUZZAH! The rest of the FreeBSD boot process proceeded successfully! All devices and modules loaded successfully, the ZFS pool was mounted without issue, and Samba shares were accessible! I was finally greeted with the FreeBSD login and proceeded to log in as root to view the MOTD. I continued the rest of the upgrade until all kernel and userspace updates were installed and then upgraded all ports via the pkg utility.

And peace reigned across the land thereafter.

As a result of this whole ordeal, I’ve decided to keep this server at the 11.x branch until it is completely EOLed, which means I have until 2021 before moving it to the 12.x branch. Hopefully, the boot issue will have been resolved and I can safely upgrade to it, but I’ll be smarter on how I go about doing so, especially with ZFS.

I hear that a certain someone has some books on the subject…

Post-Independence Post

July 5, 2019

A crowd of people facing the fireworks display. Tents, food trucks, and USA-themed flag posts are shown across the crowd along with palm trees and power lines on posts.

Crowds of people look onward beyond the tents and food trucks to enjoy the Independence Day fireworks festivities where we were in the US.

A day late but not a dollar short, I hope everyone in the United States had a safe and wonderful Independence Day on July 4th. Here I am, the day after with coffee in hand, recovering from a wonderful time with friends and family after enjoying the festivities and fireworks as you see in the image above that I took last night. Of course, this is while everyone is working while I enjoy my day off (or almost everyone, unless they’re like me). As a matter of fact, I’ll be enjoying three more days of R&R since I’ve also taken Monday off, and with my sons with me, it’s going to be filled with gaming and other fun.

I’ll be sure to keep things fresh here during this time, assuming I have content to post. 😀

Just a quick update to let you know that mastodon.xyz is back up now that the certificate has been renewed.  If you have an account on Mastodon or on an ActivityPub-compatible instance, be sure to follow me. Information is on the About page on this blog.

A dusty room with furniture in an abandoned house...much like my blog.

A dusty room with furniture in an abandoned house…much like my blog.

Hello again, friend!

Yes, I know it’s been a while…about 6 months or so.  Still, I’ve had my blog on my mind lately, and the fact that the Mastodon instance I’m on (mastodon.xyz) is down due to an expired certificate is good reason enough to dust everything off here and put it back to use.

Screenshot of Firefox showing instances.social which is listing a number of instances, most of which are down for whatever reason. Mastodon.xyz, the instance I'm on, is highlighted.

Screenshot of Firefox showing instances.social which is listing a number of instances, most of which are down for whatever reason. Mastodon.xyz, the instance I’m on, is highlighted.

Since my last post, I’ve been quite busy with a few things at work and home.  As I’ve done at one of my work sites, I’ve now installed a FreeBSD server at my second work site (the first one was set up last summer).  Both have been set up with Samba to replace aging Windows Server 2003 installs which, for certain reasons, need to be put out to pasture. Since then, no one has noticed a difference with shared resources. My next plan is to share printers from these servers, but that task looks to be less trivial than Samba was.

I’ve also spent more time learning and using OpenBSD which I’ve since installed on my old Toshiba Portege M400 at home.  At the moment, I’m running 6.5-current and using it more than I have any other BSD operating system, so much so that even my Fedora laptop is getting jealous. 🙂  I’ve also installed it on a ThinkPad x230 at work on which it runs extremely well.  I’d love to build an AMD system or purchase a decent AMD laptop to run OpenBSD and use it as my daily driver, especially now that amdgpu has initial Vulkan support along with DRM support ported over from the Linux DRM driver for accelerated graphics.

I’ve also purchased a Raspberry Pi Zero W to set up as a Kodi appliance using LibreELEC. This one will go to my dad who has since cut the cord due to exorbitant costs.  Currently, he’s using my Raspberry Pi 2, but that will be replaced with the Pi0w today.  I had bought it some time ago but never got around to putting it all together until today.  It’s a little slower compared to the Pi2, but still quite usable (performance is similar but better than that of my original Pi model B which I still have and use).  Of course, I will be looking to replace the model B and the Pi2 with the new Raspberry Pi 4 in the near future.

And I think that about covers the important stuff.  Oh, wait…..I did get a PS4 Pro for me and the boys and that’s been a lot of fun.  Purchased DOOM 2016 for myself and I plan to get the upcoming DOOM: Eternal once it’s released.  It’s really gotten me back into gaming, especially classic gaming.  I’ve already finished the original DOOM and I’ve begun my path through DOOM II: Hell on Earth.  I’m also going through Quake 1 with the hopes of finishing that and replaying Quake II.  BTW, the classic DOOM and Quake games?  Playing them on OpenBSD. 😉

So, with that, I’ll be sure to put more effort to keeping this blog fresh.  Until the next post!

I’m on the Fediverse!

December 27, 2018

216px-Mastodon_Logotype_28Simple29.svg_

Mastodon social network logo

 

Happy Holidays to everyone!

It’s been a while since I’ve posted on here, so I thought post a quick update to let you know that I’m now on the Fediverse via Mastodon.  Check out my About page for more information.

IMG_20180718_212603

Aaahh, memories….

A long time ago, in a decade far, far away, I dabbled with Linux on PowerPC hardware, specifically the PowerPC Macintoshes.  After lots of trial and error, I was able to get Yellow Dog Linux and Mandrake running on a Power Mac 8600 and then on a beige Power Mac G3 at my old job.  I also managed to get Debian installed on a Motorola StarMax 4000 MT which I still have in storage (if you’re not familiar with this model, it was a Power Macintosh clone from back in the mid-1990s).  I even got Ubuntu running on my iMac G5 and boy did that distro run circles around OS X Leopard back in the day!  That was the last Macintosh I would ever own before committing to Linux on the PC.

However, a few months ago, I acquired two Power Macintoshes from someone I know.  One is a Power Macintosh G4 “Sawtooth” which, unfortunately, won’t turn on (probably a bad power supply or a bad PRAM battery….or both).  The other is a Power Macintosh G5.  This particular G5 model is designated “Powermac7,3” which means it’s a dual 1.8 GHz G5 model with a NVIDIA GeForce FX 5200 Ultra AGP Pro card and PCI slots.  It came to me with Leopard installed on the hard drive.  Of course, a Linux geek like myself wouldn’t stand for this.  Thus, I replaced the hard drive and attempted to revisit my Linux/ppc days of yore.

Upon searching for a suitable Linux distribution, I quickly learned that support for the PowerPC was not as easy to come by in 2018.  Most distributions stopped supporting PowerPC (ppc) and even PowerPC64 (ppc64) with the exception of little-endian PowerPC chips from IBM (ppc64el).  While I did manage to find a Fedora ISO, it wouldn’t boot no matter what I tried.  I eventually decided to go with tried-and-true Debian and, after a lot of searching, I came across the Debian Ports page which keeps unofficial ports of discontinued platforms.  I downloaded the ISO for “sid” which is based on upcoming “buster” (v10) and burned it to a CD.

58109065-3cf0-4270-bf65-e410e131758e-original

Hello, yaboot!  It’s been a while…

Booting up from that CD on the Power Mac G5 and seeing the Yaboot prompt (Yaboot is a Linux boot loader for “NewWorld” Power Macs) brought back all those memories from my early Linux/ppc days!  I went through the netinstall and, after a few failed attempts to boot and then creating an ext2 /boot partition after realizing that Yaboot doesn’t support ext4, I was finally able to boot the installed system…..until the screen went blank.

a60e0ed5-6fbd-4152-a52f-b410b04ef7d5-original

Multiplexing with tmux.

Setting some kernel parameters to prevent this from happening allowed me to get the login prompt after it booted up, and I quickly began installing packages.  I got tmux (a terminal multiplexer, shown above) installed as well as many other packages like Window Maker, Fluxbox, and even the MATE desktop environment which was my ultimate goal.  After configuring my .xinitrc to load Xorg with a window manager / desktop environment, I ran startx and….it failed.  Doing some investigation online led me to news that the NVIDIA card and nouveau on PowerPC were to blame, and that getting it to work might require recompiling the kernel to use 4K page addressing instead of the default 64K.  My heart sunk.

Nevertheless, I wasn’t going to quit so easily.  After trying various changes to the kernel parameters and configuring device settings in Xorg.conf, my brain finally had an idea that was simple (and crazy) enough to actually work.  See, I had my monitor connected to the G5 using a VGA-to-DVI adapter.  After all of my failed attempts to get Xorg working, I decided to change out the VGA cable and adapter and use a dedicated DVI cable.  I also changed the kernel parameters to use “nvidiafb”.  After doing this, I rebooted the G5 and pessimistically ran “startx”.  A gasp of joy came out of my mouth as I saw Window Maker start in all of its NeXTSTEP-ish glory!  You can imagine the happy dance I did right after!

e870c6d3-2b86-4f8c-85cc-1a1266ca9524-original

Achieved the “NeXT” step! 🙂

I then configured .xinitrc to load MATE and, after managing to disable window compositing which would cause it to lock up the system, I was inside the MATE desktop and life was….OK.

I say OK because I have come across some hiccups (as if you haven’t already noticed with all that I’ve mentioned so far).  Pianobar and VLC crash with an “Illegal Instruction” message.  Firefox ESR won’t last a minute before crashing, and the latest kernel upgrade from 4.16.5 to 4.17.6 caused the fans to run at full blast (something that I remember from my old iMac G5).  Thankfully, after some more searching and comparing the modules loaded with the old kernel and the new kernel, I narrowed it down to the “windfarm” modules not loading on boot with the newer 4.17.6 kernel image.  Running “modprobe windfarm_core” from the terminal tamed the fans once again.  Not as straightforward as it was back in my early Linux/ppc days, but the Debian Ports maintainers for PowerPC do stress that we are running “sid”, aka “unstable”, and it is going to be unstable, so this behavior should be expected.  I’ve tried to send a bug report to inform them of this, but ReportBug freezes the desktop when it tried to report the bug (adding insult to injury), so, for now, I’ve added the windfarm modules myself to /etc/modules as a workaround until they fix it.

IMG_20180718_212603

If only the bug squatter didn’t have bugs…

Even with all of these quirks, it was nice to get Linux running on PowerPC hardware again.  And, if you do come across some old Power Macintosh hardware (preferably a G4 or G5) and some time to spare, you can give it a try for yourself.  You’ll find all the information you need on the Debian Ports page and the latest ISO can be found here (select ppc64 for 64-bit Debian to run on G5 Macs or select powerpc for 32-bit Debian to run on any Power Mac including the G5).

Once I have all (or at least most) of the kinks worked out, I hope to use this for some music production so I don’t have to rely so much on my Fedora laptop.  I’ve got Qtractor, QjackCtl, and some DSSI soft synths installed and my Yamaha S08 synth is supported via USB for MIDI input, so I’m ready to rock and roll!

Now, if only I could reduce those xruns some more…

 

573805188_m

 

 

 

8p9kcnx

Quite a while since my last post, so I figured I’d quench the thirst for some content.

My last post was about playing old text adventure (aka, “interactive fiction”) games from days gone by on your latest hardware using interpreters like Frotz.  This followup recording on Hacker Public Radio is on an Android application called Son of Hunky Punk.  I discuss the history of SoHP and attempt to get my copy of Zork to work with it…..and I did.

Be sure to check it out here. 🙂

podcast-microphone-14591791709io

Following my post on Colossal Cave Adventure, I decided to record an episode based on my blog post for Hacker Public Radio (aka, “HPR”).  If you don’t know what Hacker Public Radio is, click on the link below.

http://hackerpublicradio.org

In case you were wondering, anyone can record an episode for HPR and they are always in need of shows.  While they tout topics that are “of interest to hackers“, anything you have to talk about will be of interest to someone so long as it’s nothing spammy.

As for my episode, you can catch it here.  I also have other episodes I’ve recorded on HPR which you can find by clicking on my name after clicking on the episode link.
Enjoy! 🙂

Over the Memorial Day weekend, I came across the news that “Colossal Cave Adventure” was open-sourced.  If you have no idea what I’m talking about, click on the link below and come back when you’re done.  If you do, continue reading on…

https://en.wikipedia.org/wiki/Colossal_Cave_Adventure

According to Raymond (aka “esr”), he was encouraged by Crowther and Woods (the original authors of Adventure) to polish up the code and ship it under an open source license.  Esr gladly took on the task and, thus, Open Adventure was born.  I intend to download the source code and build it to test out.  As esr mentions, this isn’t the same version of Adventure that is provided in the bsdgames package available in basically all Unix-like operating system repositories.  This is the actual code from the very last version of Adventure that Crowther and Woods released in 1995, so it’s quite updated from the bsdgames version.

Nevertheless, I went ahead and installed bsdgames on my Fedora laptop this weekend with the intention of exposing my middle son to text adventure computer games.  Before I go into this, a little bit of history on my personal experience with text adventure games.

I grew up during the burgeoning home computer industry in the late 1970s and early 1980s.  My introduction to computer-based text adventure games was at a friend’s house on her Commodore VIC-20.  If I recall correctly, I believe it was called “Adventure 2: Pirate Cove”.  Below is a YouTube video of its gameplay.

Having been an Atari 2600 and Coleco-Vision kid (even though I did learn BASIC on a Commodore PET after school), I was quite intrigued by the gameplay.  No graphics whatsoever…the graphics were all in your mind.  Now, I was never one for reading, but this engaged me more than any book could.  I was a big fan of interactive books, but this took the concept to a more dynamic level.  I saw myself imagining what was being described in plain text and felt myself going through a range of emotions as my friend and I entered commands with unexpected results!  Since then, I delved into similar games from Infocom and the like.  I would be awake until the wee hours of the night engrossed in text adventure gameplay from when I had my Mattel Aquarius to when I upgraded to an Apple IIc.  No typical video game could come close to the experience of a really good text adventure computer game.

Time-hop forward to May 29, 2017:  I’ve just installed bsdgames on my Fedora laptop and invited my middle son to have a sit-down and play Adventure with me.  I even hit Alt-F2 to drop down to a console for the full text adventure experience!  At first, he was a bit hesitant.  However, as time passed and as I showed him how to navigate within the game, I could see him slip into the world of the Colossal Cave and text adventures in general just as I did when I was his age!  We both would go on this “adventure” and discover new ways of surpassing obstacles or die trying (a lot)….all the while having a great time together.  After some time, he even took the laptop away from me to input commands and wouldn’t give it back!  There was no doubt about it.  He was hooked!

That night, I had him install bsdgames on his laptop with a temporary Fedora installation and I’ve also installed it on the Fedora desktop at home.  As of this morning when I spoke with him on the way to work, he told me that he couldn’t go to sleep thinking of how to get past some of the obstacles in Adventure and he’s already installed the Android port on his phone.  I told him that I’d see about finding some other text adventure games like the Zork series from Infocom and others from that venerable company.  Frotz is already installed on the laptop, so it’s time to find me some story files and test them out before we embark on our next (text) adventure!

Oh, and I finally killed the Wumpus! 😀

Of course it does!

April 14, 2017

So, Spring Break has been upon me in in recent days and I’ve been relaxing and doing the things I love.  One of those things was download the recently-released NetBSD 7.1 ISO and install it as a guest VM in VirtualBox.

NetBSD-tb

The NetBSD logo, used with permission according to their logo usage guidelines.

Now, I’ve had a good amount of experience using FreeBSD (I consider myself a novice, though) and I’ve already tinkered around with OpenBSD in a VM (also enjoyable to use), but I never found the time to actually give NetBSD a go.  I did try to install NetBSD many, many years ago on an old Macintosh (NetBSD is known to run on practically everything….of course), but that didn’t go as smoothly as I expected (though I may tackle this one again in the near future).  I did give it another try some months ago, but a lack of hard drive space and a lot of user error made the experience on my laptop none the better.  In retrospect, however, I suspect that it was more an issue of user error in both instances than anything else. 🙂

This time, though, I decided to install NetBSD 7.1 on a more worthy host system: the desktop PC I passed on to my kids (AMD Phenom II X4 965 Black Edition, 4 GB RAM, 1 TB hard drive, Fedora Linux 25 x86_64).  I downloaded the ISO from the NetBSD website, configured VirtualBox, and began the installation.

The installation itself is pretty straightforward.  It is a text-based menu installer, similar to something like Windows XP or even FreeBSD’s bsdinstall, and definitely easier to follow than OpenBSD’s installer (though that’s not too hard if you pay attention during the installation process).  After configuring my partitions (I just selected the defaults) and choosing what disk sets I wanted installed, I was off to the races.  After the installation was complete and I finished some post-installation configurations (root password, new user creation, etc.), I rebooted the VM and logged in.

After logging in, I was presented with a shell, one that I configured right after it was installed.  You have the choice of stock sh, csh, or ksh.  I decided to stick with the stock sh shell and continue my system configurations from there on.

One of the many things I liked about NetBSD was the new (at least to me) pkgin package manager.  Apparently, it’s been around since version 6.x but I didn’t know about it until now when configuring my installation before rebooting to the installed OS.  You have the option to use pkgin instead of the usual pkgsrc tools like pkg_add, pkg_delete, etc.  Pkgin does a good job at being just like apt or yum/dnf for those still in the Linux world (specifically Debian/Ubuntu and CentOS/RedHat/Fedora, respectively).  Thanks to pkgin, I was able to install many of the tools I use both in Linux and in FreeBSD.  I had considered installing the tcsh shell (which I use in FreeBSD), but I decided to stick with what NetBSD provided me for the time being.

Since Xorg was already installed from one of the disk sets during the installation process, I was already up and running with a GUI, albeit with twm as the window manager.  Now, don’t get me wrong.  I love twm and I have used it in the past since it’s the default once Xorg is installed, but it is a very basic window manager.  I decided to install IceWM (for nostalgia) and I also installed JWM (Joe’s Window Manager) which I really liked.  After a few tweaks to my .xinitrc file which I had to create in my home directory, each of them worked wonderfully and as expected.  I also installed Midori so I could browse the web without resorting to my host OS.

VirtualBox_NetBSD x86_12_04_2017_09_01_53

My NetBSD 7.1 VM running IceWM as the window manager and Midori for browsing the web.  I also SSHed to my host OS so I could access my Irssi IRC sessions from within NetBSD.

There were some niggles, though.  As you can see, Midori is using the default “Raleigh” GTK+2 theme since I hadn’t set a preferred theme, and it’s ugly as sin. 🙂  I also tried running LXDE as my desktop environment, but I’d get an error saying that “it couldn’t connect” to some service when I configured it in my .xinitrc and ran startx (I imagine it might be some “Linuxism” that LXDE was looking for, but I’m not quite sure).  Finally, Firefox was a bigger issue altogether.  While I was able to install it using pkgin (latest version as of 2017-04-12 was 52.0.1), it would eventually crash when accessing certain website and the only way to get it somewhat working again was by deleting the .mozilla configuration directory.  Even launching Firefox in safe mode wouldn’t stop it from crashing.  Oddly enough, while the package repo for NetBSD identifies Firefox as “firefox-52.0.1”, the “About Firefox” option shows it as “Nightly” 52.0.1.  I suspect this has a lot to do with why Firefox (or “Nightly” in this case) was so unstable.  Needless to say, I uninstalled it (along with LXDE and other problematic packages) and stuck with Midori which was more stable here than it’s ever been in FreeBSD or even Linux.  Hopefully, the NetBSD team will change this so that it upgrades to the stable rapid-release version of Firefox in the near future.

So, after all of those issues, I decided to trick out my little NetBSD installation by going with one of my favorite window managers from back in the day, Window Maker.  I also installed ePDFview, PCManFM, LXTerminal, Leafpad, both GTK+2 and GTK+3, and the MATE Desktop themes package for both GTK+ versions.  I created my GTK+2 and GTK+3 configuration files with a little help on the web, and installed screenfetch to display the OS and system information with the NetBSD logo.  Along with a desktop wallpaper I found on the web, I’m quite proud of my final setup if I do say so myself. 😉

VirtualBox_NetBSD x86_12_04_2017_18_31_57

My tricked-out NetBSD 7.1 installation running Window Maker.  LXTerminal is using the BlueMenta them provided by the MATE Desktop themes package which goes well with the Window Maker style I had selected.

All in all, I have to say that I was very pleased with my NetBSD experience.  In spite of the issues I had, I was able to get a working NetBSD system in no time and was able to be productive as a user (for the most part, anyway 😉 ).  If you get a chance, give NetBSD a try in a VM sometime and get your hands dirty with this great Unix-like OS.  Of course, if you have spare hardware, rest assured that it will run NetBSD. 😉