[ ThinkPadT43 ][ Previous | Next ]
Fedora Linux - Fedora Core 4
I'm still using Red Hat's Fedora distributions. Must enjoy the abuse... I originally put Fedora Core 3 on the T43. FC3 ran pretty well but I didn't test everything. At least it installed cleanly. Fedora Core 4 didn't, but I eventually got it on the hard drive. See below.
As of 2006.01.31 not everything is running well on the T43. In fact, moving to updated kernels has broken a few things!
Preparation
DVD iso
Downloaded the Fedora Core 4 DVD iso from the Fedora Project . Burned using Nero in winXP with Nero's Recorder->Burn Image option.
Note: The DVD iso is larger than 4G. This is too big for a FAT32 file system. Either download it to an NTFS partition or do your download and burn in Linux. (Probably don't need a note - everybody but me already knows this).
BIOS
Didn't fiddle the BIOS at all prior to install. Left acpi, plug-and-play and everything else in its default configuration. If BIOS had an option to turn off "combined mode" for the SATA and IDE interfaces, I would have selected that. See CD- and DVD-related issues, below.
Partitioning
Red Alert! Immediately on receipt of the laptop, boot to XP and make a set of recovery/restore CDs - or DVDs. IBM does not provide these free anymore. You can make a set using the utility available in XP. Installing System Commander (and perhaps other boot managers) makes the T43's service partition unavailable, and it may not be possible to create restore media without it!
Per my usual approach, I used System Commander's boot-time partitioning tool to create the Linux partition for the initial FC3 install. Used just a single root partition which included /boot and a swap file. The FC4 installations to the stock 60G drive just did a reformat and install to that partition. Later installs to the 80G upgrade drive used an extended partition with one logical for root, and one for swap. See "installation" below for the gory details of the 1st install failure.
After all the install hassles, I don't know if it would work as "well" to use the FC4 install process to create the partition(s) but I like to lay out and create all my partitions in advance anyway. One might also use a KNOPPIX live CD or DVD or even the Fedora install media run in linux rescue mode and run fdisk or a similar tool.
Here's the final 80G partition layout: T43 Scout report
Installation
Note: Fedora installs typically|always|sometimes... change the hard drive's Cylinder, Head, and Sector (CHS) values for the partition into which it is installed. (At least is doesn't diddle other partition's values the way Solaris does). This is probably harmless, but confuses System Commander. Until I used the saved information in the scout file to set them back, SC refused to mark Linux as bootable.
The initial installation was FC3 installed in a single primary partition with no separate boot or swap partition. I used a 512M swap file:
# dd if=/dev/zero of=/swapfile bs=1M count=512
# /sbin/mkeswap /swapfile
# swapon /swapfile (to enable immediately, but not at next boot)
With an /etc/fstab entry to enable it at boot time:
/swapfile swap swap defaults 0 0
Pain: When FC4 came out I attempted to install it into the existing FC3 partition. This wasn't an upgrade. I told the installer to reformat the existing partition and install FC4. The install seemed to go OK, and this time the CHS values weren't changed (perhaps because it was a primary partition). Unfortunately, SC8 said that the Linux partition didn't have a boot signature, and refused to boot it.
My suspicion was that the grub boot loader hadn't been properly installed in the Linux partition, so I booted the FC4 DVD in rescue mode (at the initial prompt, type "linux rescue" without the quotes):
chroot /mnt/sysimage
grub-install '(hd0,2)'
just hangs w/the HD led on and eventually it comes back:
"the file /boot/grub/stage1 not read correctly"
Trying:
grub-install /dev/hda3
hangs and fails as above. Trying an FC4 upgrade install selecting "create new boot loader configuration" wouldn't install new boot loader since nothing else had been upgraded. Not very helpful. Total FC4 reinstall fails the same way. So does an FC3 reinstall! Somehow the FC4 install has damaged the partition (I guess...)
I then used SC8 to delete and recreate the partition. Installed FC3 OK. Did an upgrade to FC4, selecting "skip boot loader updating". Finally it boots!
Went back and did a full initial install of FC4 to the same partition. This time it worked. Go figure.
More Pain: Somewhere around this point I created a Solaris partition - ID 82 same as Linux swap. For some reason that now escapes me I did another full FC4 install. It recognized the Solaris partition and asked if I wanted to format is as swap. I said no. Installation ran up to the actual point of installtion. Then:
Error enabling swap device sda3
Grrr. Changing the Solaris partition ID to something else and trying again didn't help. Really weird. IIRC, trying to install FC4 into an extended partition with its own actual swap partition didn't help. Really really weird. Reporting to and searching bugzilla didn't get any traction. Hopefully that has changed by now.
In the end, I had to delete the Solaris partition to get FC4 to install. Re-created it after the install succeeded. The HD layout now has Linux in an extended partition with logical root (ext3) and swap partitions.
General Configuration
Mounting fixed and removable drives
To make it easier to mount the fat32 "scratch" partition that is intended to be read/write accessible to all the installed OSs - since Linux NTFS write support still isn't ready for prime time - I added this line to /etc/fstab:
/dev/sda2 /mnt/fatscratch vfat noauto,defaults 0 0
With FC4 it isn't necessary to add entries for removable USB drives. They are mounted automatically as described below in the "USB" section. Here is the edited fstab.
Kernel Source and Kernel Building
The Fedora install doesn't install the kernel source tree by default. If you want to be able to build a custom kernel based on a Fedora kernel, install from DVD/CD or download the source that matches your kernel:
rpm -Uvh kernel-<version>.src.rpm
cd /usr/src/redhat/SPECS
rpmbuild -bp --target i686 kernel-2.6.spec
puts the source in /usr/src/redhat/BUILD/linux-<version>. Vanilla kernels are available from www.kernel.org.
The GUI kernel configuration tool xconfig won't run out of the box since the qt-devel package isn't installed by default either. Install it from the Fedora install media. If building a kernel based on a Fedora kernel, bear in mind that the provided config files probably have kernel debugging enabled. This will lead to huge modules. Turn it off before building the new kernel.
Misc.
For general information purposes, here are the dmesg boot log, grub.conf, and modprobe.conf. Hard drive and (buggy) DVD drive configuration and hard drive performance as reported by hdparm: hdparm report.
What Works
Graphics
X runs OK at native resolution: 1400x1050.
Screensavers are not installed or enabled by default. If desired download them or install from DVD/CD. Install xscreensaver-extras-4,21-* (not the gl ones). Select the desired screensavers and options:
desktop->preferences->screensaver
The display will blank after eventually in its default configuration, but the backlight will stay on. I set the backlight to turn off in 10 minutes:
set desktop->preferences->screensaver->advanced->display->
power management: standby=0, suspend=0 off=10
And for this relatively high resolution LCD, setting the screen DPI setting higher than default produced a nicer display:
desktop->preferences->font->details 120dpi
Pointing Devices
UltraNav TrackPoint and touch pad both work. Usb mouse works. Usb mouse scoll wheel works. All at the same time :)
Network
Bult in Broadcom NetXtreme Gigabit Ethernet BCM95751N works. Runs the with the tg3 driver.
WiFi
Grrr. The stock FC4 DVD includes the Intel semi-open source driver for the Intel PRO/Wireless 2915ABG wifi mini-PCI card. ipw2200 version 1.0.0 IIRC. It doesn't include the necessary firmware to make the thing go. Get the appropriate firmware from the sourceforge project site here: sourceforge.net/projects/ipw2200 and copy it (including the LICENSE file) to /lib/firmware. That should get wifi up and running.
The Grrr comes about because I updated from the original kernel to several later Fedora kernels, and they all fouled up wifi. The symptom is that bringing up eth1 - the wifi NIC - with ifup usually fails.
/sbin/ifup eth1
Determining IP information for eth1... failed; no link present. Check cable?
The Radio LED stays off. It should have been on all along since the driver is loaded at boot, and there are no error indications in the boot log. What is really weird is that sometimes the LED comes on about one minute after the ifup attempt fails. Another ifup issued at that point succeeds and wifi works.
I have tried compiling various versions of ipw2200 but most aren't compatible with my current kernel, 2.6.14-1.1656_FC4. Version 1.0.10 compiles and loads but also exhibits the intemittent/delayed behavior. Rats.
Modem
The T43 includes a Connexant HSF soft modem. I haven't been able to get it working with the slmodem-2.9.10 driver from www.smlink.com. Thinkwiki says that it won't work with the ICH6 chipset and to try the Linuxant driver. That works out of the box @ 14.4 (free) and can be licensed to run full-speed for around $20US. I'm probably not going to bother but I did verify that the "demo" version works.
Network Management
Fedora includes a nice network manager named (!) NetworkManager. The NetworkManager-0.5.1-1.FC4.4 version that I am currently running supports dial-up in addition to wired and wireless networking.
Desktop->System Settings->Server Settings->Services
enable NetworkManager and NetworkManagerDispatcher
run NetworkManagerInfo to get a gnome launcher in the tool tray
I'm currently not using it since wifi is so flaky. When needed, I use ifup/ifdown eth0 (wired), eth1 (wireless), and worldnet (my dial up account). With proper entries in /etc/sysconfig/network-scripts and /etc/wvdial.conf ifup will bring up the interface and set IP address, routing and DNS. ifdown shuts down the interface and hangs up the modem.
Note that after trying NetworkManager any initial contents of /etc/resolv.conf will be gone. They are written on the fly by NetworkManager. It will probably be necessary to restore your nameserver IP address if you were using a static address and discontinue using NetworkManager.
Note also that the Fedora dialer invoked by ifup requires somewhat different wvdial.conf entries than does calling wvdial directly. For the record, here are ifcfg-eth0, ifcfg-eth1, ifcfg-worldnet, and wvdial.conf for the RedHat tools, and a bare-bones wvdial.conf for using wvdial directly.
Sound
Works.
USB
Works. Tested with Lexar and Sandisk USB thumb drives and Seagate USB hard drive. Individual partitions show up as removable drive icons on the desktop.
Optical Drive (music CDs, DVDs, CD & DVD burning)
Bad news here. These things all work - in a horribly crippled way. I can play music CDs, DVDs, and (probably) burn CDs and DVDs on the T43's (slow) DVD combo burner. Unfortunately, it is almost unusable for any but the simplest tasks - like copying data from a CD/DVD to hard drive, installing RPMs - because DMA can't be enabled. This makes the drive even slower and burns a tremendous percentage of CPU cycles while doing PIO data transfers.
The problem seems to relate to the "combined mode" of operation of the SATA (for HD) and IDE (for optical drive) chipset(s) on the motherboard that is selected by the BIOS. I have't found a BIOS way to turn this off. The issue is explained and addressed here: Bugzilla Bug 163418 – can't enable DMA on DVD drive . There seem to be some (risky) workarounds now, and hopefully a full-up fix soon.
APM/ACPI
Mixed results. APM doesn't work correctly. CPU frequency scaling is disabled. It seems that speedstep info is read from the cpu via acpi rather than hard coded into the driver for this cpu. (just a WAG). The real killer is that switching from AC to DC power or v/v causes the laptop to crash. It may not happen immediately but with the first attempt to access the hard drive, it dies. My bug report has fallen on deaf ears.
Too bad since it would be much easier to use APM hibernation and suspend/resume than enable and configure full-up ACPI. (IMNSHO) Linux and Solaris could share a FAT32 hibernation file.
ACPI seems to work OK. CPU frequency scaling works. I haven't bothered to configure any of the ACPI options like suspend, hibernate, or any of the other Fn key options. Maybe later.
PCMCIA/Cardbus
Works. Tested with a Netgear FA510 NIC. Plugging it in picked up the tulip driver. I copied my ifcfg-eth0 file to ifcfg-eth2 and changed DEVICE to eth2 and the HWADDR to the 510's MAC address reported in the system log (dmesg command). ifup eth2 brings it up and the network is accessible.
Performance
No formal testing done beyond the simple hdparm stuff. Hdparm test results:
/sbin/hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 2892 MB in 2.00 seconds = 1445.50 MB/sec
Timing buffered disk reads: 94 MB in 3.02 seconds = 31.08 MB/sec
I can't report the drive's parameters since the SATA interface, /dev/sda access doesn't support/pass the HDIO_DRIVE_CMD(identify) command. I think this stuff is being fixed...
Battery Life
Too lazy to time it carefully running Linux. WinXP life is 5-6 hours.
[ ThinkPadT43 ][ Previous | Next ]