|
Linux on an IBM ThinkPadBack in February 2002, I decided to splurge and buy myself a laptop. I figured it might be useful for me to use when I'm on the road, plus I wanted to experiment more with Linux. I also did not yet own a DVD player, so this purchase scratched several itches at once. Here are the specifications of what i bought:
The first and only Linux distribution I've ever used is Debian GNU/Linux. I've heard people complain about how hard it is to use, but I had it up and running on an old 486 on day one, and I love the ease of its package management system. Of course, I wanted it on the laptop too! Before installation, you should think about partitioning. I used a partitioning tool to split the hard disk into two equal sections, as I wanted to dual boot Linux and Windows 2000. Obviously, you could also choose to install Linux over top of it if you want. I recommend using ext2 for your Linux file system, as it is more efficient than fat32, and journaling filesystems increase the amount of disk access, which can be bad if you want to use the laptop from the battery a lot (isn't that the point of getting a laptop in the first place?). Since the laptop has no floppy, I used a Debian ISO for installation. Just boot from the CD, walk through the steps and it should install flawlessly. I prefer the network install; the network card is autodetected and will work right away. Be sure to install LILO into the boot sector; you'll need it there later to make dual booting work. I prefer to install everything else manually from this point, but that is just my preference. Kernel CompilationI like to compile my own kernel; it's pretty easy and can really speed up performance. The next sections provide configuration details for the various bits of hardware in the laptop. I prefer to build everything into the kernel, but some items must be modules. Here is my 2.4.25 config (March 7, 2004) and my 2.6.8 config (October 4, 2004). NetworkingAs mentioned above, the network card is an EEPRO 100 clone (no special configuration required). When building your kernel, just enable CONFIG_EEPRO100. LILODual booting is really easy; just add or edit the following into /etc/lilo.conf:
Replace "hda1" with whichever partition is your Windows 2000 partition. MouseThe built-in mouse is a basic PS/2 trackpoint. To make it coexist peacefully with an external USB mouse, I did the following: 2.6 KernelsInstall gpm and edit /etc/gpm.conf:
In the kernel, enable USB, USB and PS/2 mouse support, and USB OHCI support. With the 2.6 kernel series, there is no need to compile these as modules. You will likely want usbutils installed as well. 2.4 KernelsInstall gpm and edit /etc/gpm.conf:
Enable all of the following in your kernel:
You will likely want usbutils installed as well. This setup should allow you to plug in a USB mouse any time you want, before booting or while up and running. CONFIG_USB_HID should also allow use of a USB keyboard but I haven't tried that out yet. SoundI originally used ALSA as my sound drivers, but I have found that the 2.4 builtin kernel sound drivers work just fine. Just enable CONFIG_SOUND and CONFIG_SOUND_TRIDENT and install something to control the volume, such as alsa-utils or aumix. With the 2.6 series of kernels, I have switched back to ALSA. You'll need to enable the Advanced Linux Sound Architecture, and the ALI5451 driver (found in the PCI devices section). The R30 series of laptops do not have audio mixing hardware. To deal with this, I use aumix to set the PCM and Line values to almost maximum. Next, I installed tpb to enable support for the ThinkPad media keys (see below). Finally, I changed /etc/tpbrc as follows:
CDROM/DVDEnable both CONFIG_ISO9660_FS and CONFIG_UDF_FS to allow reading of CDROM and DVD file systems, respectively. To play DVDs, I highly recommend MPlayer as it is actively maintained and it can play basically anything! APMEnable CONFIG_APM and CONFIG_APM_ALLOW_INTS, which is needed by every IBM ThinkPad I know of. You will need to install apmd as well. Suspend works just fine with this laptop, but I have had problems with hibernation in the past, especially if I try to run on A/C without the battery present. These bugs may have been fixed by the latest APM updates but I haven't tested it out yet. This model of ThinkPad does not incude the SMAPI BIOS, which is required to make tpctl work. Media KeysDebian has a package called tpb that handles all the various ThinkPad buttons. (You could also visit the project homepage.) You'll need to add your users to the "nvram" group so they have permission to use this daemon. Configuration is handled by editing /etc/tpbrc. Infrared PortI haven't tried to use it under Linux. Lucent WinModemI haven't tried to use it yet. XFree86 4.x ConfigurationEverything was pretty easy to configure with Debian's package configuration system. With the 2.4 kernel, I manually edited XF86Config-4 to add a section to support an external USB mouse. (Note that the built-in mouse uses the PS/2 protocol and not the ImPS/2!) Under 2.6, this is no longer necessary; I have noted this in the configuration with comments, below. There is a very important option in the Device section, required to make XVideo work correctly for Trident CyberBlade. It's counter-intuitive, but set the Accel option to off. MPlayer will now work with the -vo xv option!
Window ManagerI am using gdm as my display manager (login prompt for you Windows types), and windowmaker as my window manager. Just set gdm to log in with a Debian session as default, and create an .xsession file in your home directory containing the following and you're good to go:
Other Dual-Boot IssuesI want to be able to move files from Windows to Linux and back, so I added two more bits to my setup. In Linux, add the following line to /etc/fstab:
This allows you to type mount /windows as any user to access files from the Windows partition. Your kernel will need CONFIG_FAT_FS and CONFIG_VFAT_FS enabled, but these should already be present as they are required by CONFIG_ISO9660_FS if I remember correctly. I also modified the line that mounts the main Linux partition. I added the tag noatime, which prevents the hard disk from modifying the file access times. This helps improve the battery life:
To access the Linux partition from Windows, I use a great utility called explore2fs, which allows you to browse a Linux file tree and copy files to Windows from it. Writing files is also supported but I haven't tried it out. BackupsAfter you go to all this trouble, you would hate to lose all your hard work, right? Right?? This is a good time to figure out how you are going to protect your data. There are actually a lot of ways to do this these days. You can buy USB storage devices to copy files onto, or enable Windows-style file sharing between machines if you are behind a firewall. Install smbclient on the laptop to access a Windows file share, or samba if you want to share files from the laptop instead. Another good way to do this is to use rsync. Basically, install it on your desktop Linux machine (or server if you have one) and the laptop. Configure the desktop to act as a server and run a command like the following to synchronize your files:
This is what I use, as part of a script that also saves the Debian package list, kernel configuration and most of /etc as well. Additional Resources
|