Contrary to popular belief, IBM NetVista Thin Clients can run recent 2.6 kernels. Though it need some effort and, well binary blob bootstrap loader, it is possible. All the hardware they contain is fairly well supported and givent the belief mentioned, their reputation is fairly wrecked and they can be gotten for very good prices, which makes an ideal toy out of them, or maybe a LTSP terminal.
One Smolt report is worth thousand words. It's a 233 MHz Geode.
These Linux 2200 (8363-EXX) models don't have a BIOS. I never seen a Windows CE based one, but I suspect the same for it. Not that BIOS would be anyhow useful, but there's not LinuxBIOS for these machines (due to limitied debugging capabilities; BIOS flash chip soldered on board and no serial port) and its firmware is horribly crappy.
It can load ELF kernel via NFS or TFTP of from Ext2 formatted Compact Flash. However it is very... picky. It was intended to load kernel of Red Hat Linux 7, which is 2.2 series. It is known to be able to load some 2.4 kernels compiled with some ancient GCC, but nothing more than this horribly obsolete stuff. Moreover i can't handle zImage nor bzImage. It demand uncompressed vmlinux.
Look here for an example of a 2.4 based system running happily
This can be worked around by using second stage loader nsboot. It basically loads as 2.2 kernel at 0x100000 (1M), relocates itself away, does something and uncompresses the kernel image, again at 1M -- this is not configurable and have to be taken into account when creating the configuration for kernel build.
Unfortunatelly, it can not obtain the kernel image from network, just from Ext2 formated CF. It needs kernel in /nwrlinux/bzImage and initial ram disk image in /nwrlinux/initrd -- both have to exist. To boot them you should specify the nsboot binary as kernel in the setup utility, you can place it on a network server, or on CF as well.
As I depicted above, stock kernel won't run. Modification to the kernel configuration are pretty straightforward; look at the patches (Update: the people.redhat.com link no longer works. Please mail me if interested!). Aside from configuration changes they contain one mor change -- a module for rebooting. This may sound funny, but these machines contain no 8042 which is usually connected to CPU's reset line -- it uses USB HID devies.
Use custom kernel. It's not that hard to patch the SRPM anyways.
Either install it on a Compact Flash connected to your workstation or use iSCSI root and swap (generally a better idea if you have NAS -- extensive writes to a Flash media was never a good idea).
See the other blog entry on how to install into an image, this time iSCSI one: http://v3.sk/~lkundrak/blog/entries/fedora-diskless-iscsi.html
Remember to keep /nwrlinux/bzImage and /nwrlinux/initrd up to date with your kernel and initrd. Possibly write a script.
See it (and the Ficus) here: http://skosi.org/~lkundrak/gallery/2008-02-29-NetVista/
Update 2008-12-29: Removed redhat.com links.
Source code to the entries and scripts that format this site are available on github. Text of journal entries is licensed under CC-BY-SA license.Mail questions, comments and pizza to firstname.lastname@example.org