CentOS4 on an HP TC1100

CentOS 4 on a TC1100 (tabletpc)

This page describes the necessary steps to get centos 4 working on an hp tc1100. This page is provided as is and you follow these instructions at your own risk. You have been warned.

Installation:
  • Used a DVD as the install media. Graphical boot successfully located keyboard and mouse. Obvious selections follow.
  • Make sure you have the kernel development tools added.
  • If you want to avoid graphical mode start up:
    • Edit/etc/inittab and change the lineid:5:initdefault to id:3:initdefault
    • You then start the X system by using the commandstartx.
    • To stop the flickering screen when coming in and out of X, you can modify the line in /boot/grub/grub.conf
      kernel /boot/vmlinuz-2.6.9-...EL ro root=LABEL=/ vga=792
    • I usually make a build directory: mkdir /usr/local/build
Getting the Wifi system to work:
  • You will need to compile a module to get the RF radio switch to work:
    • Download the kernel patch: tc1100-wmi-0.1.tgz
    • Become root:su -
    • cd /usr/local/build
    • tar -xzvf path_to_tc1100-wmi-0.1.tgz
    • cd tc1100-wmi-0.1
    • make
    • make install
    • depmod -a
  • You also need to download the ipw2100 firmware:
    • The sources of the latest drivers and firmware can be found here.
    • Install the firmware in/lib/firmware.
  • Getting it all to work:
    • modprobe tc1100_wmi ipw2100
    • echo "on" > /proc/acpi/wmi/WMID/wlan
    • You should now have a wireless device on eth1 which you can configure using the network settings on the gnome menu.
    • If you need to have WPA settings then you will need to install wpa_supplicant.
Getting the ethernet card to work:
  • Although the b44 driver will work out of the box, it does not interoperate well if the system has been restarted from windows. Instead you should install the broadcom drivers: http://www.broadcom.com/drivers/downloaddrivers.php: bcm4401. Compiled from the tar file and installed.
  • Replaced/etc/modprobe.conf the reference to the b44 driver with this one.
  • Replaced the reference tob44 in/etc/sysconfig/hwconf withbcm4400.
Getting the internal modem to work:
  • Downloaded the drivers from the smartlink pages. The old driver was slmodem-2.9.6, the latest is slmodem-2.9.10.
  • Although they will compile into the kernel they both report errors on loading.
  • The fix is as follows:
  • In the fileslmodem-2.6.10/driver/amrmo_init.c putGPL instead of Smart Drivers Ltd in the lineMODULE_LICENSE("GPL") and change the lineif (!pci_register_driver(&amromo_pci_driver) to remove the !, ie toif (pci_regi ...).
  • In order to use the modem you need to run the command, as root,/usr/sbin/slmodemd --country=UK /dev/slamr0 and then the modem device will appear on /dev/ttySL0. You may need to reinstall the drivers and run modprobe slamr everytime you use the modem as I am not sure whether the device nodes are properly created dynamically with udev.
Getting the pen to work:
  • Getting the driver working:
    • Download the driver: wacom-acpi-0.1.tgz
    • su -
    • cd /usr/local/build
    • tar -xzvf path_to_wacom-acpi-0.1.tgz
    • cd tc1100-acpi-0.1
    • make clean
    • make
    • make install
    • depmod -a
  • To activate the driver: echo "1" > /dev/ttyS4
  • You can put the above line in/etc/rc.local
  • Getting the graphical boot to display the gnome keyboard:
    • Edit/etc/X11/xdm/Xsetup_0 adding the line/usr/bin/gok -l& to the end.
  • You may wish to use the nvidia drivers instead of the centos supplied nv ones:http://www.nvidia.com/object/unix.html
  • Here are some example /etc/X11/xorg.conf files:
Compiling a custom kernel:

If you need to have the infra-red options working then you have no alternative but to compile your own kernel as the IR modules (as well as firewire and ntfs support...) are not in the standard kernel. Here is how you do it:

  • Followed the instructions I found in: http://qa.mandrakesoft.com/twiki/bin/view/Main/RpmHowTo. Essentially, you create an /usr/src/redhat/rpm file structure in your own file system: ~/rpm/SPEC ~/rpm/SOURCES etc and then create a file in your home directory called .rpmmacros which tells the system where to find this directory. I added an entry
    %debug_package %{nil}

    which I hope will stop the automatic debuginfo builds.
  • You need to install redhat-rpm-config which was in the CentOS addons directory.
  • Now to get it to include the infrared and ntfs drivers do the following:
    • Install the latest kernel-*-src.rpm:rpm -Uvh kernel-2.6.9-11.EL-src.rpm
    • Modify the kernel-2.6.spec script to build only a single UP kernel and to change EL to EL.AJS in the extraversion.
    • In the SPEC directory run:rpmbuild -bp --target=i686 kernel-2.6.spec
    • In the directory ~/rpm/BUILD/kernel-2.6.9/linux-2.6.9:cp configs/kernel-2.6.9-i686.config ./.config
    • Run:make gconfig and select the new options you want.
    • Save and thencp ./.config SOURCES/kernel-2.6.9-i686.config
    • Rebuild the whole thing:rpmbuild -ba --target=i686 kernel-2.6.spec
    • Note that a kernel rebuild requires about 1.6GB of free space.