Red Hat 9 on a ThinkPad T40

2003 September 8
by darkness

I got a ThinkPad T40, model 2379 (2379-D3U really) and I’m trying to stick Linux on it.

RH9 installed fine, but slowly: no DMA. Install latest kernel errata and you get DMA. DRI with the on-board Radeon Mobility 7500 seems fine too. PCMCIA didn’t work with the kernel RH9 ships; I got no insert notification when I inserted a card, no power, etc. Updated kernel seems to have fixed that. I’ll also note that I’m having no problem with sound after suspend/resume, as some people have apparently reported on T40p notebooks, at least.

There are some warnings on the Internet about not deleting the IBM recovery “partition.” On my ThinkPad, this data is actually hidden and immutable by you, the user; so fdisk freely. I deleted the XP partition and made the whole disk Linux except…

For the hibernate (suspend to disk) partition. I actually realized that I needed this after I had already installed RH9. What I ended up having to do was boot to rescue disc, resize_reiserfs (copy it from /mnt/sysimage — but make sure /mnt/sysimage isn’t mounted before continuing) on my Reiser extended root partition down about 2GiB, rewrite the partition table to include some free space at the end (a little over 1GiB), reboot (important! I think) onto the rescue disc again, then make a new primary partition type A0 from you free space. Then run tphdisk on the partition like tphdisk 1024 >/dev/hda4, probably another reboot, and hibernation should work. I did another resize_reiserfs /dev/hda4 after I was done, which expands the Reiser file system back out to the full size of the partition.

Now, if you manage to get this up and running, you may notice that you can hibernate fine from console, but in X you lock up when you resume. I grabbed XFree86-4.3.0-24 from Rawhide and applied the “DRI-RESUME” patch (link at the bottom). After doing that I could successfully come back from hibernation.

Some stuff is still broken. Closing the lid or pressing Fn+F4 (suspend) doesn’t work when a PCMCIA card is in; sometimes I get a weird combination of beeps. apm --suspend works, however. I tried the 2.4.22 kernel from Rawhide which has ACPI enabled, but it gives some nasty warnings along these lines when booting:

ACPI-0165: *** Warning: The ACPI AML in your computer contains errors, please nag the manufacturer to correct it.
ACPI-0168: *** Warning: Allowing relaxed access to fields; turn on CONFIG_ACPI_DEBUG for details.

Then I end up getting an oops in the kernel in some os_acpi_memory_write function or something like that. I’m hoping to get by with ACPI. I haven’t looked at any of the speedstep stuff yet. I don’t really know if that’s going to require ACPI or not.

1 Comment leave one →
2003 December 16
Zdravko permalink

Hi,

I am wrestling with DRI resume. I run RH9 with kernel 2.4.20-20.9 standard. I ried to compile the latest dri driver but this fails - see below.
I also tried to update my XFree86 with the one for Fedora but it required newer glibc that introducded performance problems and resume still failed. So I reverted. Do you have any idea how to tackle this?

[root@X22 drm]# make -f Makefile.linux
=== KERNEL HEADERS IN /lib/modules/2.4.20-20.9/build/include
=== SMP=0 MODULES=1 MODVERSIONS=1 AGP=1
=== Compiling for machine i686
=== WARNING
=== WARNING Use 2.4.x kernels ONLY !
=== WARNING
cc -O2 -Wall -Wwrite-strings -Wpointer-arith -Wcast-align -Wstrict-prototypes -Wnested-externs -Wpointer-arith -D__KERNEL__ -DMODULE -fomit-frame-pointer -fno-strict-aliasing -DCONFIG_AGP -DCONFIG_AGP_MODULE -DCONFIG_DRM_SIS -DMODVERSIONS -include /lib/modules/2.4.20-20.9/build/include/linux/modversions.h -DEXPORT_SYMTAB -I/lib/modules/2.4.20-20.9/build/include -c gamma_drv.c -o gamma_drv.o
In file included from /lib/modules/2.4.20-20.9/build/include/linux/irq.h:69,
from /lib/modules/2.4.20-20.9/build/include/asm/hardirq.h:6,
from /lib/modules/2.4.20-20.9/build/include/linux/interrupt.h:47,
from /lib/modules/2.4.20-20.9/build/include/asm/highmem.h:25,
from /lib/modules/2.4.20-20.9/build/include/linux/highmem.h:11, from /lib/modules/2.4.20-20.9/build/include/linux/vmalloc.h:8,
from /lib/modules/2.4.20-20.9/build/include/asm/io.h:47,
from /lib/modules/2.4.20-20.9/build/include/asm/pci.h:40,
from /lib/modules/2.4.20-20.9/build/include/linux/pci.h:657,
from drmP.h:50,
from gamma_drv.c:34:
/lib/modules/2.4.20-20.9/build/include/asm/hw_irq.h: In function `x86_do_profile’:
/lib/modules/2.4.20-20.9/build/include/asm/hw_irq.h:195: warning: nested extern
declaration of `prof_cpu_mask’
/lib/modules/2.4.20-20.9/build/include/asm/hw_irq.h:196: warning: nested extern
declaration of `_stext’
In file included from /lib/modules/2.4.20-20.9/build/include/linux/vmalloc.h:8,
from /lib/modules/2.4.20-20.9/build/include/asm/io.h:47,
from /lib/modules/2.4.20-20.9/build/include/asm/pci.h:40,
from /lib/modules/2.4.20-20.9/build/include/linux/pci.h:657,
from drmP.h:50,
from gamma_drv.c:34:
/lib/modules/2.4.20-20.9/build/include/linux/highmem.h: In function `bh_kmap’:
/lib/modules/2.4.20-20.9/build/include/linux/highmem.h:20: warning: pointer of type `void *’ used in arithmetic
In file included from gamma_drv.c:54:
drm_vm.h: In function `gamma_mmap’:
drm_vm.h:462: warning: passing arg 1 of `remap_page_range_Rc414bdc2′ makes pointer from integer without a cast
drm_vm.h:462: incompatible type for argument 4 of `remap_page_range_Rc414bdc2′
drm_vm.h:462: too few arguments to function `remap_page_range_Rc414bdc2′
make: *** [gamma_drv.o] Error 1

Leave A Comment

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS