r3 - 19 Apr 2006 - 00:26:10 - TimothyLeggeYou are here: TWiki >  Ltsp Web  >  Clients > CompaqWintermLTSP

COMPAQ Winterm

This is specific for the T15x0 but should also apply to the Wyse 3320 and others

T15x0 Background

The Compaq T15x0 is a strange little beast. It is susposed to be a Linux based thin client that is capable of network booting. However, most of these models are impossible to return to a Local boot mode once they have been switched to remote boot.

I set mine to Network Boot shortly after receiving it and for over two years my T1510 languished on a shelf a constant reminder that it was completely useless.

How to boot the client

The T15x0 will only download a boot image that has been signed with a checksum. This checksum is what has made the T15x0 hard to crack as no one knew how it was done.

Fortunately it is documented at: http://neykov.name/t1500/

Compiling the Checksum Utility

Download and compile the tsum application from http://www.zen49396.zen.co.uk/T1500/KernelCheckSum/ or Local Copy

  1. Open a terminal
  2. cd ~/
  3. wget http://www.zen49396.zen.co.uk/T1500/KernelCheckSum/tsum.c
  4. gcc tsum.c -o tsum

Patching and Compiling Etherboot

The T1510 can be booted with a patch version of Etherboot 5.4.1 (see the information at http://neykov.name/t1500/

  1. Download etherboot-5.4.1.tar.bz2 from SourceForge
    1. Open a terminal
    2. cd /tmp
    3. wget http://dl.sourceforge.net/sourceforge/etherboot/etherboot-5.4.1.tar.bz2
  2. Patch etherboot using the patch from http://neykov.name/t1500/ or Local Copy
    1. cd /tmp
    2. bunzip2 < etherboot-5.4.1.tar.bz2 | tar xv
    3. wget http://neykov.name/t1500/etherboot-5.4.1-t1500.patch
    4. cd etherboot-5.4.1/src
    5. patch -p2 < ../../etherboot-5.4.1-t1500.patch
  3. Review the Config file for the location of tsum. By default this is: T1500_CHECKSUM=~/tsum (You only need to change this if you did not follow the directions above for compiling tsum.c in your home directory)
    1. grep T1500 Config
  4. build the version of Etherboot with the required driver
    Winterm Model Etherboot Driver
    T1500 make bin/tulip.t1500
    T1510 make bin/natsemi.t1500
  5. Copy the resulting file to your tftp directory (the etherboot build takes care of the signature)
    1. cp bin/*.t1500 /tftpboot/lts
Etherboot can then be used to boot the terminal. You will see that the terminal braodcast for a DHCP address if you are using tcpdump or ethereal. Etherboot does not write to the terminal's display so you can only see text output if you use a null modem for serial console debuging.

HELP Production Note: YOu mignt want to disable the serial console in a production file by comenting out the following line in Config:

CFLAGS+= -DCONSOLE_SERIAL -DCOMCONSOLE=0x3f8 -DCONSPEED=115200 -DCOMPARM=0x03^M

Patching and Compiling Linux

Download the linux kernel from http://www.kernel.org as specified at http://neykov.name/t1500

  1. Open a terminal
  2. cd /tmp
  3. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.1.tar.bz2
  4. bunzip2 < linux-2.6.14.1.tar.bz2 | tar xv
  5. cd linux-2.6.14.1
  6. apply the patches:
    1. wget http://neykov.name/t1500/linux-2.6.14-t1500.patch
    2. patch -p1 < linux-2.6.14-t1500.patch
    3. Download and rename the Linux 2.6.14.1 Kernel Config file for LTSP 4.2
      1. wget http://wiki.ltsp.org/twiki/pub/Ltsp/CompaqWintermLTSP/config
      2. mv config .config
    4. make oldconfig
  7. Change the config as required to include the nic driver and other needed drivers
  8. make
  9. make modules_install

Preparing a Initial Ram Disk

These directions are from http://wiki.ltsp.org/twiki/bin/view/Ltsp/Build-LTSP-42#Building_the_kernel (check for updates). Also note that the ltsp_kernel_kit may be available without downloading the entire lbe.

  1. Grab the lbe from cvs (you will need to be root to biuld and install the ramdisk)
    1. su -
    2. cd /usr/local
    3. cvs -d :pserver:anonymous@cvs.ltsp.org:/usr/local/cvsroot checkout lbe
    4. cd lbe
    5. ./build_all --fetch
  2. Build the ramdisk
    1. cd ltsp_kernel_kit
    2. ./build_initramfs
      1. Kernel source directory [/usr/src/linux-2.6.16.1]: /tmp/linux-2.6.14.1
      2. Location of LTSP tree [/opt/ltsp-4.2]:
      3. Location of TFTP directory [/tftpboot/lts]:

This will result in a kernel and ramdisk in /tftpboot/lts/2.6.14.1

  • /tftpboot/lts/2.6.14.1/bzImage-2.6.14.1
  • /tftpboot/lts/2.6.14.1/initramfs.gz

Patching and Compiling mknbi

The Linux kernel must be tagged using mknbi in order for Etherboot to load the kernel. Unfortunately, this requires a special patch to mknbi as documented at http://neykov.name/t1500/

  1. Open a terminal
  2. Download mknbi 1.4.4 from http://www.etherboot.org
    1. wget http://dl.sourceforge.net/sourceforge/etherboot/mknbi-1.4.4.tar.gz
    2. tar xvfz mknbi-1.4.4.tar.gz
    3. cd mknbi-1.4.4
  3. apply patch from http://neykov.name/t1500/ or Local Copy
    1. wget http://neykov.name/t1500/mknbi-1.4.4-t1500.patch
    2. patch -p1 < mknbi-1.4.4-t1500.patch
    3. make
    4. make install

Tagging the kernel

  1. tag the kernel and ramdisk with a command like:
    1. mkelf-linux --append="init=/init rw mem=61M console=ttyS0,115200" --rootdir="/dev/ram0" /tftpboot/lts/2.6.14.1/bzImage-2.6.14.1 /tftpboot/lts/2.6.14.1/initramfs.gz > /tftpboot/lts/linux-2.6.14.1-t1500

Enabling Sound

The T1510 is supported by the kahlua.c XpressAudio? OSS driver
  1. Enable Sound card support
  2. Enable OSS sound modules
  3. Enable 100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support
  4. Enable XpressAudio Sound Blaster emulation

The card requires the io, irq and dma to be set. Either add the following to your lts.conf file
SMODULE_01       = "sb io=0x220 irq=5 dma=1'

or the kernel boot parameters (for kernel compiled drivers only):
sb=0x220,5,1

Configure LTSP

The T1510 has a video card that is supported by the nsc driver. Update /opt/ltsp/i386/etc/lts.conf to specify:
XSERVER = nsc

How well does it work

Once I put the terminal on its own monitor, keyboard and mouse it worked very well (I think my kvm was interfering). This whole section was written up on the T1510 and it seems very responsive.

The quality of the display is great. I plan to finish configuring the kernel to support sound and probably printing.

Who made it possible

  1. Gavan Fantom - who figured out the checksum calculator.
  2. Svetoslav Neykov - who hacked Etherboot, mknbi and Linux to make it happen and answered my questions.
  3. Timothy Legge - Who with Svetoslav's directions and help, hacked together a working LTSP setup and wrote up this doc. Any errors and omissions are Tim's.

-- TimothyLegge - 01 Apr 2006 -- TimothyLegge - 12 Apr 2006

Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r3 < r2 < r1 | More topic actions
 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback