The Sys Admin Adventure Game
By mock on Nov 06, 2007
Every once in a while I ball things up pretty good on one of my systems it takes a while to figure out how to fix things, and in the process validates that I still have at least some system administration capabilities still.
Just yesterday I messed things up pretty good trying to upgrade to Solaris Express/Nevada 76. Its kind of funny cause I've never been one for those Zork adventure games but I usually enjoy a good debugging session. It would be interesting to see someone write the Zolaris adventure game - Ok that was bad. Anyways, here's what happened.
As I mentioned, I wanted to upgrade my desktop to Nevada 76, so I could take a look at Erwann's new Solaris Build of Compiz. I was currently running a hybrid build of Nevada 70 with the Xen/xVM bits in them. So I figured I would to a Live Upgrade to 76.
The Live Upgrade went pretty well, except one package did not install correctly, I think it was SUNWiiimr or SUNWiiimu. I initially blew that off, and booted into 76, so I could install Compiz and give it a spin. I had been waiting for better multihead support, and although its better, its still not quite right, anyways that's another story.
The problem came when I tried to run my regular desktop applications, specifically Thunderbird. Thunderbird was not stable on 76 for me. It would crash typically in less than a minute. So I looked back at the failed package, which is "Internet/Intranet Input Method Framework Package". Hmm, that's got to do with the desktop, maybe that is to blame.
So I attempted to pkgrm and pkgadd the package by hand. No dice. Fine, I'll just do a fresh install from some media. I burned 76 to a DVD and did the install. I wanted to make sure to keep the partitioning the same cause I had some ZFS partitions on there I wanted to preserve.
Everything went mostly fine, but I was installing on the non-boot drive in the workstation. The installer warned me that I would have to go into the BIOS and update the boot settings. Ok, that's easy enough. I made a mental note to do that when the install finished. And which I did after the install. Ok all looks good.
And now is where I hit the first problem. When the system boots, All I see is
Bad PBR Sig
Woah, pretty cool, its in red, for one. Must be extra important. So after a bit of searching the web, I find a posting somewhere that mentions it can be a couple of problems, one of which is that there is no bootloader on the disk, and mentions to use installboot. So I boot from the other disk into Failsafe mode. And try running it.
Error: installboot is obsolete. Use installgrub(1M)
Doh. Ok so I look at the manual page for installgrub and figure out the right thing to do. And attempt another boot. This time it boots GRUB only there is no GRUB menu. Simply a prompt.
Dang! So I take a peek at another system I got running Solaris 10 to look at its /boot/grub/menu.lst file and come up with the following to run at the GRUB prompt.
root (hd1,1,a) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive boot
I give it a try, and guess what? Well apparently multiboot is no longer supported it tells me. And suggests the following lines instead:
kernel$ /platform/i86pc/kernel/$ISADIR/unix module$ /platform/i86pc/$ISADIR/boot_archive
Sweet. Just enter these and I'm off and running, I think. Bzzt. Not yet. I do get a little farther though. The kernel does start loading but then I get some message like "Couldn't find /devices". Wha?
Back to more web search. And I find some other random post saying the problem is because there is no bootpath in the bootenv.rc, and gives an example with a big device path name. So again I boot into Failsafe, and after I figure out the device path name, I update the bootenv.rc file and give it another go.
Hey look at that, its starting to fsck the /usr partition. Hey wait, I have no /usr I have only a root partition. Again back to Failsafe to see what's going on. This one stumped me for a little bit, but eventually figured it out. Essentially it was becuase there was no root entry in vfstab.
Finally fixed that up. And gave it one final reboot and Nevada finally booted into multiuser. Whew.
'Course that didn't fix the problem I was having with Thunderbird crashing, but it was kinda fun exercise anyways.