September 20, 2007
Since my laptop needed replacement, I had to study what was available on the market… It took a while to ponder what was good and wasn’t, and try to adequate what I wanted and what I could afford.
I finally settled on a Dell Inspiron 1520, with some options. But when I placed my order, the 24th of august, I was rather unpleased to discover that the estimated date of delivery was the 5th… of october!
I waited a little, asking why it took them so long. The answer was : “Worldwide screen shortage”. Ouch! Of course, a little poking around made the truth more apparent : Dell suffered from shortage on the global scale, but there was no real global shortage : the rest of the world was going on ok. Two weeks gone, and the very very interesting configuration was already only very interesting… and still three weeks away : I cancelled.
The hunt began anew, and this time I settled on an ASUS F3SV-AK143C. It took less than a week to get it, and it took so long mostly because the delivery made it do a little tourism (for those who know how to use a map : it was shipped from Écully near Lyon, going to Crolles near Grenoble, and went there through Villeneuve-la-Garenne near Paris!).
Of course, I immediately tried to install a sane operating system on it : debian unstable. And since I had already set up one of my boxes (goedel) as PXE server (see my post about it), I thought I could use that to kickstart the installation.
Failure! No DHCP answer. In such a case, there’s no need to think long : first I made sure the cable was correctly plugged on both ends, then checked the dhcpd configuration file. The cable was well plugged, but the dhcpd had the mac address from my (now) old laptop (hilbert) : a slight modification, a dhcpd restart and I could reboot the new laptop (noether) to see if things went
Success! I was now greeted by the new debian-installer splash, and can choose my language, and keyboard setup. In one hour I would have all setup!
“Sorry, your only network interface seems to be firewire. Do you want me to hurt you?”. Well, it wasn’t precisely worded like this, but I can swear it meant that! Let’s forget the one hour setup… sigh.
Of course the issue is that it’s a very recent computer, and the kernel is linux 2.6.18. Bad. I tried to stick a more recent kernel in the initrd provided by goedel, and rebooted noether with it.
Worse. Now it seems it doesn’t recognize the harddisk correctly (something about waiting for a device to show up).
Ok, so I’m back to 2.6.18 which just lacks network. Hmmm… the card, after some searching, is an attantis l1, supported from 2.6.21 onward. After some chasing I find an atl1.ko for this kernel (already compiled — the driver is GPL and the sources are readily available, but unfortunately, I don’t have a complete compilation suite with kernel headers on a minimal installation!).
Now the game is to find out how to add it into initrd.gz. Turns out unpacking it is pretty easy with cpio, but uncareful repacking won’t give good results ; I found the magical command line on the web : find . | cpio -o –format=’newc’ | gzip -9 > initrd.gz
Better! After the installer complained about the network card, I went in the next console and after a modprobe, asked it to reconsider its failure : this time it worked.
The base install went smooth ; after that, it was time to restart on the harddisk. But before rebooting (as I’m a little paranoid) I had the idea to copy my atl1.ko on the new system. I wanted to be sure I would have a working network card, and since atl1.ko wasn’t there already, it wouldn’t have! I was so happy to avoid that issue!
Restart, no network, but no problem : a modprobe and I’d be set. Modprobe complained that the running kernel and the module didn’t have the same size for a struct : binary incompatibility! The module was compiled for 2.6.18-4-486, while the running kernel was 2.6.18-5-686. Rrraaahhh…
So I finally gave up and decided to use an installation CD — but one with an up to date kernel (see here). It took a while to download and burn (normal), then took a huge while to start to boot (strange!), then load the kernel&ramdisk(strange!). It took another huge while to check what it had available on the cdrom (strange!), and finally failed with an error (definitely bad!). The dmesg output was accusing me to have put the CD upside down, and various other dirty words : uh, is this drive toast? Since the BIOS seemed to have a hard time booting on it in the first place, that seems to rule the driver bug out in favor of a hardware problem…
Ok, at that point, since I don’t have a USB key (something I’ll probably change after two terrible afternoons trying to get laptops running), since I can’t trust the DVD driver… I have no other choice than making the network go.
I cracked open the initrd that goedel was giving to noether on bootup, added itself, its kernel and corresponding modules to the directory, repacked, and rebooted noether with it : this way I was able to put a known working kernel+initrd+modules on the harddisk. I just had to reboot on the harddisk (so no network), put things in place, ask lilo to use that, and I was saved.
Upgrading to unstable was easy, with the still pending problem of grub : it doesn’t want to install itself (but is polite enough to do so without breaking the lilo installation!).
I completed the install by pulling can’t-live-without packages (wesnoth, nethack, wormux, freedroids RPG, widelands, etc), can’t-work-without packages (texmacs, pari-gp, maxima, gnumeric, etc), can’t-use-without packages (gcc, ekiga, xchat, gajim, iceweasel, icedove, etc) and
don’t-know-how-to-categorize packages (xorg, kino, gimp, nemiver, gnome&xfce, vlc, etc).
Since I had X running (nv driver) and vlc, I tested my DVD drive with a few things (films of course, but also the DVD I always use for work — the only one I really care for) : all work. So it confirms it’s indeed an hardware issue.
I’ll install&use the nvidia driver when the xserver-xorg and nvidia-glx packages will be concurrently installable : there was an ABI change in Xorg, and of course the proprietary code couldn’t be updated. This will allow me to gather information for the nouveau project, and I’ll see how I can help them get full support for the card — it may take long, though.