To transform an HP t5325 thin client into a Debian LTSP thin client, the following steps should work:

Build the environment:

 apt-get install ltsp-server qemu-user-static u-boot-tools

 ltsp-build-client --arch=armel --kernel-packages=linux-image-kirkwood

Add the following values to /opt/ltsp/armel/etc/lts.conf:

 XRANDR_DISABLE=true
 X_MODE_0=1280x1024
 X_MODE_1=1024x768
 X_MODE_2=800x600
 X_HORIZSYNC=1-10000
 X_VERTREFRESH=1-10000

Use this script with the version of kernel as an argument to generate a uImage and uInitrd:

 #!/bin/sh
 set -e
 set -x
 cd /opt/ltsp/armel/boot
 version="$1"
 kfile="vmlinuz-$version"
 ifile="initrd.img-$version"
 desc="kirkwood kernel $version"
 idesc="kirkwood initrd $version"

 mkimage -A arm -O linux -T kernel -C none -a 0x00008000 \
       -e 0x00008000 -n "$desc" -d "$kfile" "uImage-$version"

 mkimage -A arm -O linux -T ramdisk -C gzip -a 0x0 \
       -e 0x0 -n "$idesc" -d "$ifile" "uInitrd-$version"

 ln -s uImage-$version uImage
 ln -s uInitrd-$version uInitrd

Update the tftpboot dirs:

 ltsp-update-kernels

Setting up network boot on the client:

Boot to the thinpro OS (this is the OS that comes with it).

Eventually the ThinPro Control Center should pop up.

Select from the HP menu (in the lower-left hand corner of the screen):

  • "Administator/User Mode Switch"

This should prompt for an Administative password, enter "root".

The ThinPro Control Center should switch to "Administrative Mode", and turn red.

  • Select "Control Panel" from the left side-bar.

  • Click on the "Advanced" tab.

  • Double-click on "X Terminal".

  • ...finally, a shell.

Now for the dangerous parts... the two most dangerous commands are commented out. You want to make sure you have a serial connection so that you get get to the uboot prompt if something goes wrong. see: http://www.arm-blog.com/2011/05/customizing-the-hp-t5325-with-opening-the-box/ for more information about setting up a serial console.

from the ThinPRO OS shell:

 fw_setenv arcNumber 2846
 fw_setenv ltspload 'bootp ; tftpboot 0x800000 /ltsp/armel/uImage ; tftpboot 0x1100000 /ltsp/armel/uInitrd ; bootm 0x800000 0x1100000'
 fw_setenv ltspbootargs 'setenv bootargs console=ttyS0,115200 boot=nfs video=xgifb'
 fw_setenv ltspboot '${ltspbootargs} ; run ltspload'

 fw_setenv bootdelay 5
 # NOTE: this one will break the kernel that loads ThinPro OS!!!
 #fw_setenv mainlineLinux yes
 # NOTE: this will also make ThinPro OS unbootable!!!
 #fw_setenv bootcmd 'run ltspboot'

Alternately, you can connect via serial console and set these values manually, using "setenv" and "saveenv" at the very end, which will result in fewer writes to the mtd device.

Thanks to http://disklessworkstations.com for providing the hardware to test!

If you found this article useful, please consider a donation: bitcoin:1P6HJpzvmirjwKsXsdME5XVkijiWHVLaCB

 Copyright 2011-2013 Vagrant Cascadian <vagrant@debian.org>
 This work is licensed under a:
 Creative Commons Attribution-ShareAlike 3.0 Unported License
 <http://creativecommons.org/licenses/by-sa/3.0/deed.en_US>