Backstory: Linux and BSD crashing on me left and right is one of my recurring themes. So is pining for BSD/OS. Oogling BSD/OS's mindbending ability to get arbitrarily long uptimes each and every time it's installed on a machine, I noticed that Solaris and Windows 2000 also did pretty well. Windows 2000 would require me to retool very heavily. So I decided to try Solaris. Sun would release the free Solaris 10 later encouraging this.
Everyone seems to hate commercial Unixes in the same way they hate commercial database systems: they're buggy, overly complex, and just plain bizarre in the way that a software project becomes when ideas are inbreed repeatedly from a small group of developers closed off from meaningful feedback. Here are some commercial Unixes that have sucked and been hated over the years: AIX (various flavors). HP/UX (much hated), Ultrix, SCO. Well, enough of that. The story seems to be that the longer a vendor has to "refine" the OS, the more they screw it up. Ones hastily slapped together from SysV or BSD and released are fine, as are ones unmodified except for something bolted on: A/UX, AMIX, DomainOS, SCO (in the old days, before they turned it into some bastardization).
Solaris 10 drops support for 32 bit Sparcs, which are the old 32 bit Sparcs (including the original Sparcs). Sun was still numbering these things like they were with the '2' and '3' series (which ran 68k chips) with the '4' series, and then they did a few little "lunchbox" machines with the IPX and the IPC, and then moved back to the pizza box again with the sexy slim Sparc 10, slightly larger Sparc 5, and the the similar Sparc 20, all of which had different support for similar swappable CPU modules (including no support), different RAM, different drive caddies, etc, but were each individually extremely neat, well thought out machines. In the pizza box style, you open them up, and everything is layed out flat, nothing really being stacked on top of each other except maybe a CD drive on top of a floppy drive, or one HD on the other, or cards plugging in above the motherboard. The motherboard on the bottom of the unit is a signature of the pizza box style. Anyway, I have about 40 of these puppies and Solaris 10 doesn't run on them. So I had to order some UltraSparc gear.
Solaris 10 coming out GPL'd seems to have renewed interest in the newer 64 bit UltraSparc hardware. Ultra 5s that already had RAM and a HD were selling at $100 or more on eBay. A lot of the Ultra 5s were labeled as "untested" and they weren't selling for much at all, if they sold at all, which most didn't. Turns out people knew something I didn't: UltraSparc 5s are crap. Sun decided they needed to compete with PCs on price more so they designed them poorly, with random shaped metal fixtures overlapping randomly. The thing is made in China, like most computers now days. This one had typical problems: schitzophranically couldn't see many devices that were soldered onto the motherboard. OpenBIOS told me that it had only been booted 20 times. I tried a Sun made PCI SCSI controller to replace the non-working on-board IDE controller (which bizarrely doesn't has all of its pins wired, so no software fix will get the thing supporting drives larger than 300 meg) but it couldn't see that either. I found and went through the procedure in the Sun service manual and after running serveral diagnostic routines in firmware that I didn't know about, was told to replace the mainboard.
Okay, I'm on a budget here, and my Ultra 5 is no good. At this point, I get the bright idea to buy Solaris 9, the previous version, and put it on one of the affore mentioned non-Ultra Sparcs. I pay $10 for shipping and am annoyed at that, but I get a 10 pound box in the mail with an installation guide that has a quickstart guide which has a roadmap for it. There are license agreements, errata for the hardware support manual, a hardware support manual, and, all told, about 20 little booklets of various descriptions. There are two DVD cases and two vinyl CD books. Then there are other CDs in jewel cases just shrink wrapped and thrown in there. I feel like I've just returned from a Sun conference where the swag was flowly freely but for some reason don't remember being there. The manuals are printed on drool proof paper. The installation guide assumes that:
1. Everything goes off without a hitch
2. You're extremely stupid and need to be shown what accepting defaults all the way through looks like and assured that when it says everything is okay that it really is okay so you don't flip out and start crying like a baby
Everything did not go okay. The whole setup assumes that Sun sold you the harddrive. The installer is not capable of installing to a SCSI drive you bought new elsewhere, which will lack the special Sun disklabel written to the first few blocks. Argh! Beginning an OpenBSD install got the disklabel there. Other operating systems know how to write these but Solaris doesn't. Apparently you're just supposed to buy all of your SCSI discs from Sun.
Also, at the same time as I got Solaris 9, feeling sorry for the poor Ultra 1's, which aren't supported by Sparc 10 even though they're real, honest to get UltraSparcs, I bought one for 99 cents and got it shipped DHL for $15. Those and the Ultra 2's, which seem to be much more rare and much larger, run the UltraSparc I chip, which could be completely locked up by a malicious code sequence, so Sun decided to treat them as non-Ultra 32 bit Sparcs, which they would do in a backwards compat mode. When Sun dropped support for the 32 bit Sparcs, they ditched the Ultra 1 and 2 also. So I've got one of those here on OpenBSD 4.1, and I'm interested to see if OpenBSD is more stable on the UltraSparc than the Sparc. I think Ultras are more popular for this sort of thing now days so it might be better tested and maintained. Unlike the Ultra 5's, they're extremely well made (you'd have to see these big, solid, sturdy, intricatedly engineered machines with pretty, elaborate cables and connectors... the whole thing just screams that it cost thousands new).
Back to Solaris 9. The installer gave me little indication as to what it was really doing. It asked me the usual questions, about whether the machine was networked, whether to autoconfig from DHCP (no), the gateway, nameservers, IP, etc. Which timezone, which languages to install support for, which level of an install (minimal, end user, developer, server, or whole shebang), and then it had me swapping discs, putting in the software disc (replacing the boot disc), putting in the 2/2 software disc, butting in the boot disc again, putting in the supplamental (3/2) software disc, trying to get me to put in the even-more-software (4/2) disc (no, stop it!), rebooting a few times, and then finally letting me know it was done by giving me a login prompt. It felt more like installing Windows than Unix even though it was all done over a serial console. I'm used to Unixes just smearing themselves all over the HD as fast as the HD can write without coming up for a breath and then doing a quick reboot to the xdm login screen as if to show off how easy it was to clobber Windows into bit oblivion.
So now I'm in. It's funny that OpenBSD and Solaris both touched this same machine. OpenBSD is "secure by default" and runs little. This pigfucker has rpc running, for which an exploit comes out about three times a nanosecond and about a trillion exploits have come out for since Solaris 9 was released in 2002. This *was* more like installing Windows than Unix. Next step is to figure out how to get patches from Sun. But that's not it... there are the usual culprits, like sendmail, that I don't want running, but there are about a dozen things I've never heard of. So I fire up man on them to see what they are. And I get this:
"The DMI Service Provider, dmispd, is the core of the DMI solution. Management applications and Componetent instrumentations communicate with each other through the Service Provider. The Service Provider coordinates and arbitrates requests from the Management applications to the specified Component implementations. The Service Provider handles runtime management of the Component Interface (CI) and the Management Interface (MI), including component installation, registration at the MI and CI level, request serialization and syncronization, event handling for CI, and general flow control and housekeeping.". End paragraph.
Fuck the... what!? I'd say that was clear as mud, but it makes perfect sense. Here you have a business-speak explanation as if written by a guy in a suit who writes verbosely without meaning combined with humous levels of engineer-speak where some programmer picked comically generic terms, exactly those that every good programming style book tells you not to use in your programs, and then passed it off as documentation. A company has to be really big to generate garbage this putrid. Seriously. Fuckin' a. I bash on Linux and BSD on here, and the snot nosed brats with no concept of what "stable" actually means (hint: the Windows guys have little idea, but with Win2k compared to Linux, I can't really say that any more) that keep commiting code, but looking at this feculent dung, the underlaying forces driving people towards Linux and BSD over yet another commercial Unix become quite clear. You run this garbage because you're in a big company, life sucks, and someone tells you have to, not for any other reason, ever. Seeing this garbage bolted onto Unix, something that subverisvely pushed off the bonds of Big Company Serious System Think (tm) and did something small, elegant, direct, approachable, forward, sane, logical, and defensible, I'm enraged by this garbage. The fuckers at Sun have turned Unix into the MULTICS that Unix was laughting at. Fuck you, Sun!
I'm not done yet. I want to see if I can strip off some layers of garbage to get at a gem at the core. I guess I should ls -l / and see how big the kernel is before I get my hopes up. If I have to go wading through subdirectories, I'll be disheartened. If the init.d and
So, here's what I've got. A Sparc 10 (flat little pizza box) on the floor, top of the case off, all 8 memory slots filled giving it 128 megs of RAM, a 4 gig Seagate ST3520N with 4.5 gigs on it connected over a SCSI-I interface, two 75mhz CPUs each with 2 megs of L2 cache, a home-made serial cable running out the back to a 486 laptop as console, and, finally, Solaris.