Linux on ThinkPad R40 (2897-B4U)
30 August 2004
I have an IBM ThinkPad R40 with a 1.4GHz Pentium M, 256M RAM, ATI Radeon 7500 (32MB), Intel Pro 2100 Wireless. I have another 256M of RAM arriving for it tomorrow.
I'd like to preserve the Windows XP partition on the machine, so I'm trying to be careful. I've already blown away the XP partition once with a typo in Gnoppix' Partition Morpher (those MB, not GB). It took way too long to restore from the rescue partition, and doing so seems to have done away with all my free unpartitioned space I had. This could have been due to an error on my part though.
Knoppix has proven to be a pretty slick way to install Debian, so I thought I'd give Gnoppix 0.8 a try (the Gnome equivalent to Knoppix) since it had newer kernels and such. It takes a long time to boot from the CD. (Update: I eventuallly ended up watching Gnoppix install with no feedback on anything actually working. It was a huge waste of time, so I fell back to my old Knoppix 3.3 CD. The following directions demonstrate Knoppix.)
Here are my steps I think were most successful:
- Boot Windows XP, disable the swap file.
- Reboot into Windows again.
- Defragment the drive.
- Note the amount of used disk space, so you know what to leave later when resizing the ntfs partition. With a little unmovable section, I'm hoping it fits within 5GB.
- I booted Gnoppix and did manage to get its QParted to resize my ntfs partition. Knoppix, if it doesn't have QParted, may have ntfsresize or some similar command-line tool.
- Use QParted to manipulate your partitions. I cheated a bit and dropped back to only 4 Linux partitions: /boot, /, /home, and a swap. I usually do more than that, but I'm seeing less reason for it. I had read some warnings that IBM may have put their rescue info on the end of the disk in an unpartitioned area. I saw this free area (2.86GB) at the end of my disk before I repartitioned. There also seemed to be 3G before the Windows XP partition, so to be safe, I was sure to leave both in place. I actually left 2.9G on the end to be safe. If I blow that away, then I'll not be able to restore Windows. I hear you can get IBM to send a CD though in the cases where you've inadvertently destroyed it. I may just call them up and order the CD to be safe.
- I dropped to a shell and ran the
knx-hdinstall. I had another option of running
knoppix-install, but that one didn't present me with the option of using reiserfs.
- Knoppix did not give me a proper option to mount all my partitions into the tree the way I liked, so I ended up installing everything to a single /, and moving /boot and /home afterward. I probably could have gotten away with mounting them by hand before it started copying if I had needed.
- Knoppix didn't have ACPI support, but Gnoppix had the option. I looked around /proc/acpi to find everything looked good, cpu power states were enumerated, battery stats showed, ac_adapter was working, etc. The NIC was also working right out of the box. It's an Intel 82801BD PRO/100 VE supported by the e100 module.
- Once the install was done, I changed my /etc/apt/sources.list to unstable, did the apt-get update, and brought it all up-to-date.
- Based on my Dell config, I managed to get a good 126.96.36.199 kernel built for the ThinkPad in one try. I enabled ACPI and the Radeon DRI module. At this point, ACPI still looks pretty good, but I'm not seeing any of the button events, not even the power button. I know there are projects to make these work, but I figured I'd at least see the basics (power?) work.
- cpudynd is up and running to change my CPU speed depending upon load. It seamlessly shifts between 600Mhz and 1400MHz as necessary without the audio skips that the Dell exhibited. I had to load the
cpufreq_powersave kernel module by hand to give it the option to shift down to slow mode. Otherwise, it just stuck in high speed.
- Laptop mode is nice, since it allows cpudynd to configure the drive to spin down. The drive is much quieter than the old Dell, so it's not as noticable as it spins up and down.
- I built the ipw2100 802.11b wireless driver outside the kernel, installed it, restarted hotplug, and it loaded it for me. I had to download the firmware available from the site. Monitor mode even works, which is a big reason I wanted to stick with the older chipset, instead of the 2200 with b/g support.
- 3D acceleration is working out of the box with the stock radeon kernel module and Debian's XFree86 4.3. It seems to run better (800fps in glxgears) in 16bit mode than 24bit mode, but 24bit is very usable, so I'm running it there.
- The pc speaker on here is "stupidly loud" as put by someone else on the mailing lists, and it doesn't have a mixer to adjust it. Compiling PC Speaker support as a module, and then blacklisting
pcspkr in hotplug (so it doesn't load) disables it completely.
Filed Under: ThinkPad-R40 Toys Linux