At the start of 2010, i got an Eee PC 1001HA. It came with Windows XP. I immediately resolved to destroyed, peeled all the hideous stickers off what was now my lovely white computer, and started down the path of Linux. These are some random notes on what i did, what i learned, and what i should try.
The Eee, being a netbook, doesn't have an optical drive, so you boot from a USB stick to install. This took a lot more work than it should have.
My trouble was caused by the fact that my main machine is a Mac. OS X does some filesystem things differently to Windows or Linux, so there was fiddling to do. In the end, what worked was to reformat the stick as FAT32 with a Master Boot Record (MBR) - this is the only thing a PC will boot off. The steps were:
I think i may later have reformatted it under Windows to get it working. Don't really remember. If i did, then the above instructions are obviously bullshit.
You then need to get a bootable OS image onto the stick. I tried dd'ing an ISO onto the stick, as you will often see suggested online, but this didn't work for me. I didn't play with this too hard, though. Instead, i ended up downloading UNetbootin to the still-Windows Eee and using that to load the ISO. Lame.
I also had to wrangle the Eee to get it to boot off the stick. The trouble was caused by some kind of Boot Booster feature which causes the machine to skip over most of the steps in a normal, sensible boot and get into Windows as fast as possible. This needs disabling. There are more detailed and reliable instructions out on thw web, but basically, you boot the machine while mashing F2, until you get into the BIOS. In the BIOS, you can switch off the boot booster. You can also change the boot order so the machine prefers USB sticks to the internal drive, which is useful (although potentially annoying if you forget you've done it - what you really want is a mode where if there is a bootable stick, it will give you a menu of boot options, and if there isn't, just boot from the hard disk). Alternatively, you can hit ESC at the BIOS splash screen to get the boot menu.
Eeebuntu is, as the name subtly suggests, a version of Ubuntu customised for the Eee. I don't really know what the customisation entails, because i haven't used Ubuntu. Eeebuntu 3.0 is based on Ubuntu 9.04 Jaunty Jackalope, which has kernel 2.6.28. Eeebuntu uses a 'custom kernel' from array.org, which is a version of 2.6.28-12 (or possibly -11) with some Eee-specific drivers and stuff rolled in. It's not clear to me that it's really a customised kernel, more of a selection of relevant packages.
The first installation started okay - the installer ran without a hitch. The first problem was that neither the wired nor wireless network worked; apparently they both use quite new chipsets, support for which is not in Eeebuntu 3.0.
The wireless is a Ralink RT3090, for which the driver is helpfully called rt3090. I got this from Markus Heberling, the installation of which required a couple of other packages - linux-headers-2.6.28-11-generic and linux-headers-2.6.28-11. If you install them (by double-clicking in Eeebuntu, which runs Synaptic or something, or from the command line - this ends up running dkms to do a module build) in the order linux-headers-2.6.28-11, linux-headers-2.6.28-11-generic, rt3090, and reboot, then you have a working wireless. Hurrah!
However, note that support for the RT3090 has since been added to the existing rt2860 driver, which came into the kernel mainline in 2.6.32 (?). Future distros won't have the rt3090 driver.
The wired ethernet is an Attansic (bought by and now branded as Atheros) AR81. The driver for this is called atl1e (note that's alpha tango lime one echo, for those of you with iffy fonts). I got this from Atheros. This isn't a proper .deb package or anything, it's a good old-fashioned .tar.gz, which you build with:
# Eeebuntu's tar doesn't seem to support the z flag (?!), so unpack in two steps gunzip AR81Family*.tar.gz tar xf AR81Family*.tar cd src make sudo make install sudo insmod atl1e.ko
That was pretty straightforward once i'd figured it all out. It went south fast from there. I naively ran the software update utility (oh, how i'm spoiled by OS X, where only occasionally to updates break things). I hadn't twigged that this was using the Ubuntu repositories, rather than any kind of Eeebuntu stuff, so it merrily stomped all over the carefully-crafted Eeebuntu stuff and broke my wireless. And everything else. Nice.
Reinstalled, ran through the networking setup again, installed a new firefox (which also needed some random library installing), flash, and one or two other bits and bobs. Configured it to suspend when the lid is put down. All very nice. Took it to work to show my colleagues. Put it to sleep when we went to lunch. While we were in the pub, it ran out of battery and either crashed, shut down, or hibernated. On booting up, it wouldn't go into X, with an error like:
/etc/gdm/Xsession: Beginning session setup... export: 11: -T: bad variable name
From which i rapidly concluded fuck Eeebuntu, and the horse it rode in on (ie Ubuntu).
This is a new phase of Eeebuntu, based on Debian rather than Ubuntu. It should be a lot more solid, with less random breakage and other weirdness, and thus be less fuck-inducing. When it comes out. Which will apparently be real soon now (as of 2010-01-08).
Okay, time to stop dicking about and install a real distro. Debian is probably the most serious distro there is - Debian developers' average beard size approaches that of FreeBSD hackers. It's what Ubuntu is based on, it's what new Eeebuntu will be based on, it's solid and stable, it has a good package manager, it has a shit ton of software, and it doesn't do crap like installing some hopeless wannabe Dock-alike.
Info:
Plan of attack:
I have totally changed my mind and am going to install Fedora.
As soon as i have a grand and a half to spare, i'm buying a new Macbook Pro. Fact.