- The laptop, a Toshiba Satellite M45, wouldn't recognize either of the two CDs (a Debian netinst or a Ubuntu LiveCD) that I inserted into the drive. It would just merrily boot Vista for ten minutes (unless I held down the power button and tried not to think about blowing the drive.)
- Netboot from my Debian box worked, and was surprisingly easy -- you just install tftpd-hpa server, add "filename 'pxeboot.0'" to the DHCP server config (I did have to switch from the "dhcp" package to the "dhcp3-server" package for reasons that are not clear to me. Why does Debian even have two different DHCP servers? Sigh), and change a few other things. These instructions were useful.
- Ubuntu would load the bootloader and the install/rescue screen, but after I picked any option, I'd see the kernel loading messages and then get a black screen. Oops.
- I tried Debian instead, but that had the same problem.
- I tried using my USB-SD dongle as a USB boot device, but the Satellite didn't support those.
- Eventually, I hit on the idea of hitting Fn+F5 to iterate the display outputs after the screen went black during the netboot. That did work.
- The NTFS resize process failed --- it turned out that the partition was flagged dirty (because of my hold-down-power-until-Vista-gives-up trick). ntfsresize told me to run chkdsk /f, but I assumed that I would need the administrator password for that, which I didn't have and couldn't easily get (I could call L., but she was at the hospital -- she might have had her arm most of the way into someone's colon when I did.) Fortunately, rebooting into windows and shutting down normally fixed it.
- Installation thereafter without much of a hitch. I couldn't shrink the NTFS partition as much as I'd like (ntfsresize complained about some feature not being supported), but I managed to squeeze enough space out of it.
Of course, I spoke too soon. I must have had the Ethernet cable still plugged in (or maybe it worked for purely spurious reasons), but the wifi card promptly stopped working. There was still a list of networks in the menu, but I couldn't connect to mine. If I typed "iwlist wlan0 scan" at a root prompt, I got nothing. If I typed "iwconfig" at a root prompt, wlan0's entry said "encryption key: off", even though I'd typed it into the box. (Oh, and the SSID was blank, too.)
Ubuntu had asked when I first logged in if I wanted to install a proprietary driver (madwifi) for the Atheros wifi card. No, I didn't. Now I did. Where did that icon go? It was in the menu. Googling turned up a post that said to try "System > Proprietary Drivers". But I don't _have_ a system menu. Oh, in Xubuntu (which I chose to ease the load on the laptop), System is under Applications, and "Proprietary Drivers" is now "Hardware Drivers". OK, there's the list. I'll click "Activate" and...
...nothing. The button registers the click event, and the window freezes. Covering it with another window and then moving that window away leaves a blank spot -- the app is completely wedged. Several minutes of waiting did nothing, so I clicked the close box, and Ubuntu eventually asked me if I wanted to kill it. I tried this a few more times, to no avail.
So, what did that app do underneath? Could I do it myself? I tried installing the driver packages by hand (linux-restricted-modules and madwifi-tools) and blacklisting ath5k in /etc/modprobe.d/blacklist, but all that did was convince the system that the card didn't exist.
OK, I thought, maybe it's a permissions issue. I could run "Hardware Drivers" as root, but I have no idea how to launch it from the command line. Just from the menu. So I thought I'd log in to the GUI as root.
Except that gdm was configured to prohibit that. I'm sure I could have reversed that with another several minutes on Google, but I thought that it would be easier just to figure out what the app was called. I ran ps -auxw, and found "/usr/bin/python /usr/bin/jockey-gtk", which appeared after I opened "Hardware Drivers". I ran _that_ as root, clicked "activate" and...success! The wifi card started working again.
As they say, Linux is only free if your time has no value.