ARM microcontrollers are 32 bit systems with high potential. It is enough power to run small operation systems like uClinux. The only limitation is that operations systems require much more program memory than internal chip memory can provide. Ulrich Radig used a NXP LPC2294 ARM7 microcontroller which carries 256K of internal Flash memory which is enough to place a boot-loader which loads uClinux kernel to SRAM.
It interesting how he solved low memory problem. SD card was split in to two partitions where one partition FAT16 was used to store kernel which has to be loaded to memory, second is Linux (ext2) partiion for custom use. To support this he has written a simple driver. When Linux is loaded, it is easy to run various custom programs like web servers, and so on.