Wherein my computer joins a Stand Alone Complex

Sunday, June 29th, 2008

A year ago, Drinian was in Akihabara, Japan and he happened to pick up some Laughing Man stickers. He didn’t end up using most of them though, and he figured I would get more enjoyment of them than he would, so he gave them to me. I highly suspect that he was correct, because I’m having a blast with them. Unfortunately I only have three left, so I have to start rationing them carefully, but here’s what I did with one of them.

I bought a new computer recently that has been serving as my primary GNU/Linux desktop for the past few weeks. I initially wanted to build a computer from parts, because there’s a huge hackerish appeal to it (and because it’s usually cheaper), but then I came upon a fantastic deal on a Dell small business computer that I couldn’t turn down. But it just left the hardware nerd in me a little bit unsatisfied. It’s just another Dell box; it’s totally blah. Hell, it even came with Windows Vista stickers on it (which I have since removed); yecch! Laughing Man sticker to the rescue!

Luckily, the Laughing Man sticker was just the perfect size to fit directly on top of the Dell logo. My computer has gone from corporate to geeky. It’s gone from slaving away on mundane tasks to joining a Stand Alone Complex and fighting in the guerrilla Free Software movement against Big Proprietary Software. Err, something like that. So thank you Drinian for the stickers!

Now if only I could replenish my supply of Laughing Man stickers without having to cross over eleven time zones.

Meet Vertumnus, my new GNU/Linux desktop (running on a Dell Inspiron 530)

Wednesday, June 11th, 2008

If this post seems a little glowing, don’t be alarmed; it’s because I’m still basking in the brilliant sheen of my new GNU/Linux desktop (which I am composing this blog post on as I type these very words — and these words, too). That’s right, I went through with my plans for setting up a GNU/Linux desktop, though I didn’t actually use the parts list I threw together two weeks ago. I ran across an amazing deal through Dell’s small business site (instant savings of nearly half off!) on an Inspiron 530 and I jumped on it. For $360 ($407 after shipping and state taxes), I got a nice little Dell mini-tower with an Intel Core 2 Duo E8200 processor, 2 GB of DDR2 PC2 6400 RAM, 500GB SATA hard drive with 16 MB cache, SATA DVD burner, keyboard, and optical scroll mouse. It ended up being about the same price as the parts list I put together, but the performance is marginally better, with the added possibility of upgrading to 4 GB of RAM. It also came with Windows Vista Home Premium, which I suppose would be a value add-in for some, but which just made me wince at how much cheaper I could have gotten this system without paying the Microsoft tax. Anyway, Vista’s in the trash now, where it belongs, and the price was good enough that I’m not worrying about it.

Installing the OS

I was going to install Kubuntu on my new system, but I opted for Ubuntu instead on a recommendation from Drinian, who says that Kubuntu isn’t quite as well put-together. The only reason I wanted Kubuntu was because I wanted to run KDE instead of Gnome, but it turns out that’s incredibly easy to accomplish in Ubuntu (just install the kubuntu-desktop meta-package in aptitude, then set your login session to KDE). So choosing Ubuntu over Kubuntu hasn’t left me disappointed in any way.

Unfortunately, installing Ubuntu GNU/Linux still wasn’t as easy as it should have been. I blame the problem on hardware incompatibilities, most likely with the SATA controller on the motherboard. The installation CD wouldn’t boot without passing the kernel parameter “all_generic_ide”, which is something I can handle but the average computer user is likely to be turned off by. Then, after the installation completed, my system wouldn’t boot from the hard drive for the same reason, so I had to boot back into the LiveCD environment, mount my boot partition, and then edit grub’s (a bootloader) menu.lst to pass that same kernel parameter. So, yeah, GNU/Linux isn’t exactly friendly for the masses, at least not on this hardware. Curiously enough, I had this exact same problem when dual-booting Fedora Core (another distribution of GNU/Linux) on my previous desktop. There’s definitely some room for improvement in this area by either the Linux kernel developers or the Ubuntu packagers. There’s no real reason this can’t be one of those things that “Just Works”.

Naming the system

But after the minor hitch with “all_generic_ide” , everything else worked just fine. It was the smoothest GNU/Linux installation I believe I’ve ever done. The GNU/Linux graphical installers have become quite advanced, completely putting anything Microsoft offers up to shame. Actually, the part of the installation process that took the longest time was picking a name for my new computer. I have a long history of naming computers after various mythologies, deities, or nerdy things (Ixion, Dark Anima, Fyre, Quezacoatl, Geminoid, Phoenix, etc.), so I wanted to continue the theme. I figured since this is the first time I’ve ever used a dedicated GNU/Linux system as my primary desktop (as opposed to Microsoft Windows), I wanted to emphasize the change this brings to my computing life. So I got into a lively discussion on IRC with someone who apparently knows a good deal about ancient Greek/Roman mythology, and his best suggestion was the Roman god Vertumnus, who is “the god of seasons, change and plant growth, as well as gardens and fruit trees”. I liked both the change aspect and the environmental aspect, so Vertumnus it was.

Read the rest of this entry »

Dell laptop hwclock incompatibilities in Gentoo GNU/Linux

Sunday, August 26th, 2007

I’m installing Gentoo GNU/Linux on my Dell Inspiron 9400 laptop right now, and as usual, things never are as easy as they would seem. I finally found out about and installed the 915resolution package, which allows me to use the laptop’s display in its native widescreen resolution. Then I ran into a problem with the hardware clock. I couldn’t set it. I would get an error message at shutdown saying it could not set the hardware clock to the system clock. And since the hardware clock was set in localtime rather than UTC (because the previous installation was Windows), I would keep getting all of these timestamp errors about files being modified in the future. I had to reset the system clock manually after each boot.

So I looked into what was going on and it turns out the hwclock command wasn’t functioning. This is what is used to read and set the hwclock. Here is the error message I was getting:

$ hwclock
select() to /dev/rtc to wait for clock tick timed out

A preliminary Google search didn’t turn up anything useful. So I relaxed the search terms and came upon a thread in the ArchLinux users forum. One of the users mentions incompatibility with Dell laptop motherboards, and suggests using the parameter --directisa to hwclock. Testing it out from the command line, I confirm that it works instantly, rather than freezing up for a few seconds and then timing out. So this allowed me to set the hardware clock manually by using the parameter.

But wait, I wasn’t finished yet. I was still going to get the same errors during shutdown that I got earlier, because the init.d script for hwclock wasn’t using that parameter. In addition to an annoying error message during shutdown, that means my hardware clock would slowly drift over time, and I would have to periodically reset it manually. That’s unacceptable. So I modified the /etc/init.d/clock init script as follows.

I changed the line

myopts="${myopts} ${CLOCK_OPTS}"

to

myopts="${myopts} ${CLOCK_OPTS} --directisa"

This line is located inside of the setupopts() function, which is called near the beginnings of both the start() and stop() functions. This is the simplest fix you can make to the clock init script so that hwclock is always called with the --directisa parameter, and thus, it always works.

And that’s it! The clock on my Dell Inspiron 9400 laptop is working perfectly now.

Mark Shuttleworth tackles Linux on commodity PCs

Wednesday, March 14th, 2007

Mark Shuttleworth, the financier behind Ubuntu (thanks Mark!) tackles the problem of Linux in a recent blog post. He points out that profit margins are very low on these products, and that co-marketing funds from Microsoft make up a significant proportion of the profits. Without these funds, the profit margins on machines are so small that a problem with any single order can negate the profits on many orders. All it takes is one guy complaining that he “can’t install his [Windows] programs” and returning the computer to cancel out the profits on ten other sales. Unfortunately, the number of people who would do this kind of thing is way too high, as the average computer buyer really doesn’t know anything about Linux, and many sales of Linux PCs might end up being accidental, i.e. the person doesn’t realize what they’re getting into.

Mark also points out that it’s very expensive for Dell to try to cater to the wide range of desires that Linux users typically have. They want very specific things (e.g. this version of Ubuntu) and very specific types of hardware. Dell would have to deal with a huge compatibility list between dozens of distros and hardware configurations. In other words, not really practical.

So what’s the solution? Mark hits on it, but doesn’t fully consider it. It isn’t ideal, but then again, I don’t think there is an ideal solution to it. The idea is simple: ship the computers without an OS and include an install CD for your distro of choice in the box. All Dell would have to do is make sure their hardware is compatible with Linux (and that the distro they’re distributing has the correct drivers for it). Realistically, this is probably what most people would end up doing anyway. I ordered a machine pre-installed with Linux from Wal-Mart once, and the very first thing I did was install my own preferred distro. Even if a computer shipped with the latest version of Ubuntu, I don’t think I’d be able to resist the urge to reinstall. Who knows what Dell did to it? I’d rather just go with a default Gentoo install and make sure I know everything that’s going on.

So, as sad as that sounds, I think that is the solution: to just ship PCs without OSes and give the customer the opportunity to install the distro of their choice. This will help cut down Dell’s support costs; if the OS doesn’t come pre-installed, they don’t have to support it. And they can put prominent disclaimers on these OS-less computers saying that they’ll only support hardware issues. This should help to keep profits in the black, versus the unfortunate situation with customer support that I detailed above. This will be a good solution for experienced Linux users, and hey, for those that just want to try out Linux, I suppose an install guide could be shipped with the CD as well.

It’s just too bad about Microsoft’s monopoly. They hold such a stranglehold over the commodity PC market, and have successfully thrown their weight around for years to prevent Linux offerings. And now that Linux PCs from Dell may finally see the light of day, they’re going to be horribly stunted, as what we really want to do with them, have Linux pre-installed, is too expensive to support, and faces too many risks from the heavily Windows-centric PC user culture at large.