By PotstickerGuru on Nov 04, 2005
Solaris running on a mini-ITX fanless system inside a shoebox case is quiet and stable.
It's been a long time since I blogged. I guess I just got tired of blogging. And plus, I got caught up in other things in life like my first kid starting Kindergarten and all the other things that happen - like getting to know the school, the teachers, and the other parents and getting involved in the PTA. I also switched groups internally. I'm working with Solaris x86 and hardware vendors. It's a heck of a learning experience and lots of fun.
Speaking of Solaris x86, the momentum has really taken off. Someone mentioned that we hit over 3 Million downloads the other day on S10 alone. Wow. Not bad for GA - General Availability - in March of this year. But sadly, I've somewhat of a hypocrite. Sure, my work laptop has Solaris x86 on it, but it's triple boot, and to get wireless networking in airports, I'm still booting Linux more often than not. And at home, I'm still mostly a Linux shop, even if I do have Solaris on a couple of boxes.
But that time has come every few years to upgrade. My last attempt failed last year around the time Fedora Core 3 released. I had the FC2 CDs and was excited about upgrading, frankly because some of us geeks love slapping our own boxes together :-).
I saw a sale at the local Fry's and bought 3 low-power VIA c3 mini ITX boards for about $89 each back then. And shopping online, I found a sale on some Inwin low-profile bookpc small form factor cases for $40 with free shipping. I was pretty excited waiting for the parts to arrive and when they came in, I assembled my first box and slapped the FC2 install CD into the drive, booted up and then got a big REJECTION when FC2 quit the install telling me that my hardware wasn't supported. I tried some Redhat Enterprise and it too wasn't supported, and then some Solaris 9 CDs and that wasn't supported. And that wasn't the only disappointment, the 60mm P/S fan inside the case was a 5700RPM noisy bugger that screamed at close to 40dB. It was inward facing and already muffled by the case, but still, it was pretty loud, and at night, when the kids went gone to bed, it made my house sound like a data center.
I did manage to solder two 30 Ohm resistors onto the P/S fan wire and it slowed it down a little but it still whined loudly, albeit, no longer loud enough to make me want to take a sledgehammer and kill it. I knew I could go ahead and install FC1 which I already have running in my bedroom in a quiet PC. But, but I decided to download FC3 which folks reported worked with VIA c3 systems. The install was stable, but FC3 turned out to be quite unstable in itself, locking up constantly due to problems in the graphics. I tried the same board in different cases, different power supplies, with new DIMMs, and still had instabilities that would lock up the system even though the text mode worked fine.
I shelved those boards until recently, when I bought a couple of new Antec Aria cases. Initially, I ordered 2 for work, to do some testing in low power Solaris x86 systems and compare them to Linux. The cases were so quiet that I went out and bought two for myself. I also tried out FC4, but it turned out to be somewhat disappointing and not really stable either. And by instability, I mean that it would lock up after 20 hrs of uptime. I've downloaded all the upgrades for both FC3 and FC4 and it hasn't improved the stability, even though I've spent quite a few sleepness nights swapping boxes, power supplies, and memory. And with certain brands of ps/2 KVM switches, the Linux 2.6 kernel seems to hiccup and inject a button 2 or 3 event with using scroll mice.
But enter Solaris 10 x86. The installation is still buggy and the kdmconfig core dumps when trying to bring the XFree86 installer up. The failure converts into a pastel screen text console with funky colors for text when it should be black on white. There's also a problem with reverse text visibility. But the text is actually there and the install proceeds. It only happens with certain graphics chips and BIOS sets is what I'm told, like the VIA chipsets using Unichrome or formerly called CastleRock AGP. Prior to December 2004, Solaris had never been able to recognize VIA c3 as a valid x86 cpu and would crap out during the secondary boot. Since build 69 back late last year/early this year, the kernel team said they did a put back that fixed the CPU recognition issue. But this has really opened up the market for low-power OEMs like Igologic.COM to supply the Jbox running Solaris.
Ironically, I hadn't actually tried using the 3/05 GA release bits for s10 to test my mini-ITX boards back in March. I did test using some CDs that someone had burned for me with "S10x86 GA" on the labels, Disk 1 - 4, but when they installed, they crapped out on the secondary boot with the "Unsupported architecture" error and I never bothered to follow up with my mini-ITX boards being too busy. After all, there was a workaround for the bug. Prior to S10, I had been using a hack to replace the GenuineIntel recognition string in the kernel binary and on the ISO install image with CentaurHauls (some funky name for the family of VIA c3 processors). I was thinking that the S10 bits only supported some of the cores like the Nehemiah but not Ezra or Samuel cores.
But 7 months later, with a couple of test systems at work I want to install, I looked into the CPU recognition problem and behold, the old media I had didn't actually have S10 GA bits, but build 67 bits. So I went home and actually tried my own mini-ITX systems with S10 GA and it installed. With the exception of the kdmconfig errors during initial install, the process was straight forward and I had a graphical workstation up and running in an hour or so. Xorg with JDS boots and configures itself for 1280x1024 24 bit graphics. The USB storage driver works too, as does the camera tool. One needs to restart the volume manager daemon (/etc/init.d/volmgt [stop|start] ) which is a legacy service daemon not folded yet under Solaris 10's new Service Management Framework (SMF).
I had to go online using another system to obtain VIA Rhine Ethernet network drivers and the VT 8235/8xxx audio drivers as well. But both sources of drivers had recent tests by their authors on Solaris 10 and they provided portable driver build srcs that were just 100kB to download and supported Solaris 8, 9, and 10 versions. that easily fits on a USB Jump Drive and within a few minutes, I had audio and network up.
The build size and archive for these drivers is pretty incredible when you think how big a Linux cross-platform kernel driver build environment has to be, and the compatibility issues between kernel 2.4 and 2.6 versions. I've been running Linux since the early 90's when I saw my first set of CDs walking along the streets of Akihabara, Tokyo. They were Walnut Creek CDs if I recall, and they still distribute Slackware, if I'm not mistaken. But the kernel source build environment has really bloated since then, and for companies trying to support -for-profit- proprietary software, such build systems and lack of ABI compatibility is tough. I've worked with some Linux IHVs now that are porting to Solaris x86 because their minimum support source base was 30+ Gigabytes! This is for all the cross-compilers, GCC versions, and kernel source versions for each flavour of Linux, be it SuSe, RedHat, Fedora, and their corresponding updates, and 32-bit versus AMD-64bit. The comparative build and install on S10 is well less than one GB.
The Antec Aria case is around $100, and has front USB, Firewire, and 7-in-1 USB flash reader. Older VIA EPIA-800 mini-ITX motherboard with cpu and fan will cost around $110 today and probably not have all the pin-outs you need to hook up the Mobo. But if you're like me and look out for hardware deals on quiet PC components, you can core a sale on boards like I did for $82.95 at Fry's a few months ago on clearance for VIA Eden 600MHz ME6000 fanless boards which as firewire and compliant USB pinouts. A 160GB disk will run you about $69 after rebates, and an NEC or Lite-on DVD burner 16x with bonus floppy drive OEM might run you around $50 if you catch those online, one-day sales like at NewEgg. A 512MB stick of DDR can run between $30 - $90. Since these chipsets don't support ECC, I've learned that it's probably better to get higher quality name-brand memory. But for around $400, you can build a pretty quiet Solaris 10 x86 system that won't break any speed records or nuke aliens in gaming, but it works great for vpn, email, web surfing, and office productivity. And it's beautifully quiet.