Mark Alford's Red Hat 8.0 GNU/Linux on an IBM Thinkpad T23

(Or: python 2.2 at last!)

Last modified 10 Apr 2003

My experiences with other thinkpads and older versions of RedHat are available here.

  1. Installation
  2. Power Management: suspension and hibernation
  3. Ethernet/modem network connection
  4. Getting the sound card working
  5. TeX/LaTeX tips and tricks: Japanese characters, laptop presentations, search paths

Notation: I use '----' to mark the beginning and end of bits of text that go in files.

  1. Installation

    Red Hat Linux CD-ROMs are available from many sources.

    Preparation: Preserve important parts of previous installation:

    > cd /
    > tar zcf /storage/root/RH73_etc.tgz etc
    > tar zcf /storage/root/RH73_root.tgz \
      --exclude root/.mozilla --exclude root/.wastebasket    root
    
    I am keeping my separate /home and /usr/local and /storage partitions untouched by the reinstallation.

    No need to worry about cylinder 1024 limitations for linux, we will use GRUB which is above such things. So no separate /boot partition.

    Boot with RH8.0 CDROM in DVD drive
    English
    UK Keyboard
    3 button PS/2 mouse
    Install
    Custom
    Manual partition-Disk Druid, all ext3 except the swap. Note all linux
    partitions are logical, ie in the extended partition, leaving all
    primary partitions free for DOS, Windows etc.
      mount point       size     format
      /           hda5  4000 M   Y
      /storage    hda6  3780 M   N
      /home       hda7  2997 M   N
      /usr/local  hda8  1499 M   N
      swap        hda9   524 M   Y
    Format hda5 only  (leave /home,/storage,/usr/local alone)
    
    boot loader: GRUB, installed in /dev/hda MBR
    let it boot /dev/hda1 as Windows
    Network: No DHCP on boot. Give hostname. Ignore warnings.
    Medium security, do not trust eth0, allow incoming ssh and DHCP
    Language: English GB
    Time zone: Europe/London, sys clock on UTC
      UTC offset: leave it alone
    Add user accounts
    MD5 and shadow paswords, no NIS, LDAP, Kerberos
    X Config: S3 Savage4, 8MB
    Monitor: unprobed, 31.5-48 kHz, 50-70 Hz
      16 bit color, 1024x768
    Login: text
    select packages
    
    I set up my fstab as follows. This allows anyone to write files on /dos and /win, and allows anyone to mount /mnt/cdrom and /mnt/floppy and anyone to unmount them again.
    ----
    LABEL=/          /                ext3    defaults        1 1
    none             /dev/pts         devpts  gid=5,mode=620  0 0
    /dev/hda1        /dos             msdos   uid=99,gid=99,umask=000     0 0
    /dev/hda3        /win             msdos   uid=99,gid=99,umask=000     0 0
    LABEL=/home      /home            ext3    defaults        1 2
    none             /proc            proc    defaults        0 0
    none             /dev/shm         tmpfs   defaults        0 0
    LABEL=/storage   /storage         ext3    defaults        1 2
    LABEL=/usr/local /usr/local       ext3    defaults        1 2
    /dev/hda9        swap             swap    defaults        0 0
    /dev/hdc         /mnt/cdrom       iso9660 noauto,users,kudzu,ro 0 0
    /dev/fd0         /mnt/floppy      auto    noauto,users    0 0
    ----
    
    I did not use Gnome1 very much, but found Gnome2 to be surprisingly inferior. Its default window manager "metacity" is much less configurable than sawfish, and the help documentation is simply not adequate. So I got some fvwm RPMs from rpmfind and installed them. If you want actual control over your desktop then edit .Xclients, otherwise try switchdesk.

  2. Power management and hibernation

    Neither suspend nor hibernate worked under the out-of-the-box Red Hat 8.0 kernel.
    For hibernation, it is not necessary to recompile the kernel, but I did need to create a DOS partition at the beginning of the hard drive. For details, see my Red Hat 7.3 notes.
    For suspend (Fn+F4) the T23 would not wake up from the suspended state. To fix this I had to rebuild the kernel, but this was straightforward as I now describe. Note that if you do this, then the generic ltmodem package will no longer work, and the internal modem will stop working. See below for how to fix that.

    Compiling a custom kernel

    Ensure that the package kernel-source-2.4.18-14 is installed.
    > cd /usr/src/linux-2.4
    > make mrproper
    > make xconfig
    
    xconfig lets you change kernel parameters. First, load configs/kernel-2.4.18-i686.config. To get suspend working, alter the following settings in General Setup:
    Parameter Setting
    APM BIOS? y
    Ignore user suspend? n
    Enable PM at boot? y
    Make CPU calls when idle? y
    Enable console blanking by APM? y
    RTC time in GMT? y
    Allow interrupts during APM BIOS calls? y
    Use real mode APM BIOS call to power off? n
    Save the config as as apm_kernel_config, for future reference. (It is automatically saved as .config, but that will be overwritten if for some reason you change options and recompile.) Edit /usr/src/linux-2.4/Makefile, and give this kernel a characteristic name ("apm") by setting
    ----
    EXTRAVERSION = -14apm
    ----
    
    and have it installed to the right place by uncommenting
    ----
    export INSTALL_PATH=/boot
    ----
    
    Now compile the kernel:
    > make dep
    > make clean
    > make bzImage
    > make modules
    > make modules_install
    > make install
    > mkinitrd  -f /boot/initrd-2.4.18-14apm.img  2.4.18-14apm
    > cp .config /boot/config-2.4.18-14apm  # needed by ltmodem builder
    
    Ensure that /boot/grub/grub.conf has lines to boot the new kernel. For me, these are
    ----
    title Red Hat Linux (2.4.18-14apm)
    	root (hd0,4)
    	kernel /boot/vmlinuz-2.4.18-14apm ro root=LABEL=/ hdc=ide-scsi
    	initrd /boot/initrd-2.4.18-14apm.img
    ----
    
    Reboot, and select the new kernel from the grub menu. The nice thing about this whole procedure is that you have not made any irrevocable changes: the original kernel is unaffected. If the new kernel doesn't work, you can reboot and select the original kernel instead.

  3. Networking: ethernet and modem

    Ethernet worked immediately. The internal modem needed some work. What to do depends on what kernel you are using.
    1. Original Red Hat 8.0 kernel

      Get ltmodem-kv_2.4.18_14-8.26a9-1.i686.rpm from www.heby.de/ltmodem/, or this HTTP URL. The kernel version in the package name ("kv_2.4.18_14" in this case) must agree exactly with your kernel.
      > rpm -ivh ltmodem-kv_2.4.18_14-8.26a9-1.i686.rpm
      
      Note that it makes /dev/modem a link to /dev/ttyLT0.
      For checks that the modem is working, see below. In case of problems, try
      > cd /usr/share/doc/ltmodem-kv_2.4.18_3-8.22a3/utils
      > ./checkout
      
      For allowing users access to the modem, see below.
    2. Custom kernel

      To make ltmodem work with a custom kernel such as the one I compiled to get "suspend" to work, you must install ltmodem from a tarball. (The flavor-mismatch fixing script "fixscript" does not work in this case.) First uninstall the old rpm file if necessary
      >  rpm -e ltmodem-kv_2.4.18_14-8.26a9
      
      Download ltmodem-8.26a9.tar.gz from the ltmodem home page www.heby.de/ltmodem/, or this HTTP URL. Unpack to /usr/local/src/ltmodem-8.26a9. While running the custom kernel,
      > ./build_module
      > ./ltinst2
      > ./autoload
      
      To let selected users access the modem, add them to the "uucp" group (ie the group that owns the modem, obtained from ls -l /dev/ttyLT0). To do this, either use redhat-config-users, or edit /etc/group, and add names of users to "uucp" line. Eg,
      ----
      uucp:x:14:uucp,username1,username2
      ----
      
    The most basic check that the modem device is functional is
    > echo atz > /dev/modem
    
    which should not produce any error message.

    You can use minicom for a more sophisticated check. Make sure that minicom uses /dev/modem (minicom -s), then fire up minicom and type "ATZ". It should echo "OK".

    Sometimes it complains that there is "no such device" as /dev/modem. In that case, try

    > modprobe lt_modem
    > echo atz > /dev/modem
    
    and the driver will be reloaded.

  4. Sound

    Sound worked immediately on installation.


Mark Alford's home page

alford(at)physics.wustl.edu

Valid HTML 4.0!

revalidate