Installing Fedora 4/5 on an IBM/Lenovo X41 Tablet

by David K. Levine updated with notes from and FC5 install 9-20-2006
The instruction below were written for Fedora 4, but I have tested them and they work with Fedora 5.

Fedora 5 Configuration Note: If you follow the instructions on
thinkwiki for activating the serial port in rc.local and configuring X then everything [except possibly the fingerprint reader and modem, neither of which I have tried] will work out of box with one exception: if you use suspend-to-disk and then resume, then pen will stop working. Here is the fix: go to /etc/pm/hooks (as root). Create a file, give it some name like 11wacom, and make sure it is executable (permissions +x or 755). In the file put the script that reactivates the serial port
#!/bin/bash
setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig


step 0: Boot the X41 into windows and write down
the serial port and the irq used by the Wacom stylus device. This information is listed under Control Panel > System > Hardware > Device Manager > HID > Wacom Stylus > Resources. Probably the port is 0200-0207 and irq is 5. (You should also look under the network devices to find out which wifi card your tablet is using.)
step 1: On your desktop machine start downloading the Fedora 4 iso's. Make sure to download the CD images and not the DVD image. Download the feather linux for USB zip file.  Unzip it to a directory. (Find a zip file for feather linux on one of the mirrors, the main site has only iso images and does not provide installation instructions for these.Make sure the directory structure is preserved when you unzip the file or feather linux will crash during boot.) Plug in your formatted USB pen with at least 128M free space. (fc5 will mount your pen on /media/usbdisk. To see the underlying device - probably not sda1 - use #df and replace sda1 in the following with the correct device.) Then
#mount /dev/sda1 some_empty_directory (You should be able to skip this since the pen should be automatically mounted on /media/usbdisk.)
Copy the unzipped files to the USB pen. (On my system with the small 65M version of feather linux on a slow usb connection this takes a long time - 45+ minutes.) Then
#syslinux /dev/sda1
#umount /dev/sda1

step 2: Remove the USB pen and insert plug it into your X41. Locate the blue access ibm key in the upper left corner of the keyboard. Power up the X41 and hit the blue access ibm key immediately. Choose to alter the bios. Reboot. Move the usb hard disk above the regular hard disk in the boot priority. Save the changes and reboot. (I couldn't get the mouse to work, and it isn't really needed. Boot with knoppix 2 and you will get a terminal which is all you need.)

Feather linux will now boot up. Be patient. When Feather linux has booted up, you will first use it to repartition your disk.

step 3: #su (If you booted with knoppix 2 then you are already in a root shell and can skip this step.)
step 4: #ntfsresize -s 50000M /dev/hda1
step 4: #fdisk /dev/hda

     Command (m for help): d
Partition number (1-4): 1

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2480, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-2480, default 2480): +51000M

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 7
Changed system type of partition 1 to 7 (HPFS/NTFS)

Command (m for help): a
Partition number (1-4): 1

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (????, default ????): <accept the default>
Last cylinder or +size or +sizeM or +sizeK (????, default ????): <accept the default>

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): c
Changed system type of partition 1 to c

Command (m for help): a
Partition number (1-4): 1


Command (m for help): w
The partition table has been altered!

Here for more information on how to do this.
step 5: #mkfs.vfat -F 32 /dev/hda3
step 6: #mount /dev/hda3 /mnt/hda3 (Oops, before you do this, better do #mkdir /mnt/hda3.)
step 7: #cd /mnt/hda3
step 8: wait until the isos finish downloading
#scp myserver:/directory_with_the_fedora_isos/* .
(The version of feather linux I was using didn't manage to load the network, so I had to boot windows and use the disk manager to delete and reformat the partition, then download putty - that is pscp - to retrieve the files. Yeesh. And don't forget: pscp runs from the command line, and the windows equivalent of ctrl-p is up-arrow.)
step 9: shutdown the X41, remove the usb pen, and put it back in the desktop machine. On the desktop machine, make sure there is some free space on the usb pen, erasing feather linux if necessary. Then
#mkdir /mnt/iso
#mount -t iso9660 /
directory_with_the_fedora_isos/FC4-i386-disc1.iso /mnt/iso -o loop
#mount /dev/sda1 /mnt/usb (again, probably not sda1 - use df to check)
#cd /mnt/iso/isolinux
#cp * /mnt/usb
#cd /mnt/usb
#mv isolinux.cfg syslinux.cfg
#cd ..
#syslinux /dev/sda1
#umount /dev/sda1
#umount /mnt/iso
step 10: remove the usb pen, move it back to the X41 and power up. The fedora installer will boot. Ignore the error messages on the initial screen and hit return. Your isos are located on /dev/sda3 [and not on /dev/hda3]. Configure your system as desired. If the installation program crashes with a bunch of message about it being a bad idea to mount disks, then halts the system, simply reboot and go through the installation procedure again. This time the partitions you have chosen will already exist, and everything will work. Choose your packages, and wait for installation to finish. Reboot and you have a working fedora 4 system.
step 11: open a console and su to root. Update your system.
#yum -y update
step 12: head to the thinkwiki for more information on configuration.

step 13: xorg.conf that rotates the screen: note that after you have updated fedora 4 with the latest rpms the i810 driver will work
Section "ServerLayout"
       Identifier     "single head configuration"
     Screen      0  "Screen0" 0 0
     InputDevice    "Mouse0" "CorePointer"
     InputDevice    "Keyboard0" "CoreKeyboard"
     InputDevice    "cursor" "SendCoreEvents"
     InputDevice    "stylus" "SendCoreEvents"
 EndSection
 
 Section "Files"
     RgbPath      "/usr/X11R6/lib/X11/rgb"
     FontPath     "unix/:7100"
 EndSection
 
 Section "Module"
     Load  "dbe"
     Load  "extmod"
     Load  "fbdevhw"
     Load  "glx"
     Load  "record"
     Load  "freetype"
     Load  "type1"
     Load  "dri"
 EndSection
 
 Section "InputDevice"
     Identifier  "Keyboard0"
     Driver      "kbd"
     Option        "XkbModel" "pc105"
     Option        "XkbLayout" "us"
 EndSection
 
 Section "InputDevice"
     Identifier  "Mouse0"
     Driver      "mouse"
     Option        "Protocol" "IMPS/2"
     Option        "Device" "/dev/input/mice"
     Option        "ZAxisMapping" "4 5"
     Option        "Emulate3Buttons" "yes"
 EndSection
 
 Section "InputDevice"
       Driver        "wacom"
       Identifier    "cursor"
       Option        "Device"        "/dev/ttyS0"
       Option        "Type"          "cursor"
       Option        "ForceDevice"   "ISDV4"
       Option        "Mode"          "Absolute"
       Option        "Button3"          "2"
       Option        "Button2"          "3"
       Option        "TPCButton"     "on"
       Option        "TopX"          "500"
       Option        "BottomX"       "18000"
       Option        "TopY"          "-6000"
       Option        "BottomY"       "18500"
 EndSection
 
 Section "InputDevice"
       Driver        "wacom"
       Identifier    "stylus"
       Option        "Device"        "/dev/ttyS0"
       Option        "Type"          "stylus"
       Option        "ForceDevice"   "ISDV4"
       Option        "Rotate"        "CW"
 EndSection
 
 Section "Monitor"
     Identifier   "Monitor0"
     VendorName   "Monitor Vendor"
     ModelName    "LCD Panel 1024x768"
     HorizSync    31.5 - 48.5
     VertRefresh  40.0 - 70.0
     Option        "dpms"
 EndSection
 
 Section "Device"
   # The i810 driver under xorg-6.8.2 and earlier DO NOT support the
   # Intel Integrated 915 chipset. Use the generic vesa driver on old
   # versions.
     Identifier  "Videocard0"
 #    Driver      "vesa"
      Driver      "i810"
     VendorName  "Intel"
     BoardName   "Intel 915"
    Option "Rotate" "CW"
   # Once the i810 supports the chipset, this section can be changed
   # to use the new driver by using the appropriate Driver line
    Option "SWCursor" "On"
 EndSection
 
 Section "Screen"
     Identifier "Screen0"
     Device     "Videocard0"
     Monitor    "Monitor0"
     DefaultDepth     16
     SubSection "Display"
         Viewport   0 0
         Depth     16
         Modes    "1024x768" "800x600" "640x480"
     EndSubSection
 EndSection
 
 Section "DRI"
     Group        0
     Mode         0666
 EndSection