Installing Gentoo on a ThinkPad 770E

From ThinkWiki
Revision as of 10:08, 18 October 2006 by Wehe (Talk | contribs) (X11 configuration: added links section)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This is the Gentoo installation guide for the linux ThinkPad 770E. This is not meant to replace the gentoo handbook, but rather, as a guide to help fine tune certain options. Please refer to the gentoo handbook, gentoo docs/wiki and the gentoo forums for more help.


Until linux supports ibm thinkpad controls like ps2.exe, it is recommended you keep a small bootable partition (10-100MB for a DOS partition). You will need this if you want to change or find out irq, mem address, and dma settings.

It is possible to run some of the big-box distros without much error, such as Mandriva. You might not have to use the DOS partition here.

Kernel configuration

For PCMCIA support you have to load the yenta_socket module and change the configuration file /etc/conf.d/pcmcia (replace PCIC=i82365 with PCIC=yenta_socket).

For Frame Buffers support, do NOT load any frame buffer drivers besides vesafb. Do NOT even load vesafb-tng. Even though the video card is a trident card, the tridentfb does not work. It will produce a flickery screen. All you want to do is compile vesafb into your kernel or as a module, then add vga=791 to your boot line. Do not even bother with video=mtrr or any other options. VGA=791 is all you need for 1024x768 frame buffers support.

Sound support


I have since been able to get sound working on my 770E, but I had to use the OSS drivers. The procedure I used was to boot into a windows partition and use IBM's ps2.exe utility to determine irq, port, and dma information. After I got this information, I had to reinitialize the hardware from the BIOS before the sound would work in linux. (Hold F1 while booting to get to the BIOS menu) After the reinitialization, I modprobed:

modprobe cs4232 io=0x530 irq=5 dma=1 dma2=0 mpuio=0x330 mpuirq=9

I believe these are the factory default settings. Please insert your settings from the ps2.exe reading. If modprobe completed with no errors, try playing a sound and it should work.

All 770's should get sound using the ALSA snd_cs4232 module, although they have a cs4610 chip. Similar to Problem with broken sound on ThinkPad 600. Try

modprobe snd-cs4232 port=0x530 cport=0x538 fm_port=0x388 irq=5 dma1=1 dma2=0

I tried using those parameters on a 770E and I get a "no such device" error when modprobe'ing. If anyone finds the right parameters for Alsa, please insert it here.


I found out, that most problems occure while playing around with the cs4232 drivers. The Chipset ist the cs4237B, which is supported by the ALSA snd-cs4236 driver. This is how it works:

( Update 2006-01-10: This is for 2.6.12 kernels prior to r10 !)

 1. Build a Kernel using soundcore support only! NO additional drivers! (If you have such a kernel, proceed to 3.
 2. install kernel and boot it
 3. be sure to have USE="alsa oss" in your /etc/make.conf
 4. add "ALSA_CARDS="cs4236" to your /etc/make.conf
 5. emerge alsa-driver alsa-oss alsa-utils

Continue with Part 3 below!

( Update 2006-01-10: This is for 2.6.12 kernels r10 and higher !)

 1. Build a kernel with:

Device Drivers --->

  Sound  --->
    <M> Sound card support
      Open Sound System   --->
        < > Open Sound System (DEPRECATED)
      Advanced Linux Sound Architecture --->
        <M> Advanced Linux Sound Architecture
        <M> Sequencer support
        <M> OSS Mixer API
        <M> OSS PCM (digital audio) API 
      ISA devices   --->
        <M> Cirrus Logic cs4327B+
 2. emerge alsa-oss alsa-utils
 3. run "alsaconf" and let it probe everything!
 4. if your /etc/modules.d/alsa has the following lines:
   alias snd-card-0 snd-cs4236
   alias sound-slot-0 snd-cs4236
   options snd-cs4236 port=0x530 cport=0x538 isapnp=0 dma1=5 dma2=3 irq=15 
     ( dma1, dma2 and irq may vary! )
    everything is cool. You can use "rc-update add alsasound boot" to enable sound during booting, and it should work.

See also DAG: Linux on 770

Power management

You had BETTER install acpi first thing. From my tests, the fans in the 770E will NOT turn on by itself, even if it reaches 90 degrees celsius. I believe the 770E's cooling system is completely software controlled through acpi. To turn on the fan(s), modprobe acpi, and type:

echo 0 > /proc/acpi/fan/FN00/state

I don't actually know how many fans are in there, but I know that when I did not turn on the fans manually, acpi -V showed readings as hot as 93 degrees Celsius when compiling and CPU intensive operations. I ended up writing a cron script to run every minute and check if the temperature is over a certain point. I do not know what's a safe temperature, so I set it low at 45 degrees celsius.

X11 configuration

Follow the Gentoo Xorg howto. It should work from there.