Running Debian on Thecus n4100
You will need a serial port, and a tftp server.
Note that there is no Debian installer for Thecus n4100, so n2100 installation instructions from cyrius.com will not work.
If you don't want to start an installer as described on http://david.thg.se/n2100/, you can do the following:
- using another machine, copy a customized minimal Debian on a SATA HDD/RAID array, or a CF card
- you can get a customized minimal Debian for little endian ARM on http://wpkg.org/index.php/Running_Debian_on_Freecom_FSG-3#Downloads - remember to use proper kernel modules from Thecus n4100 (download link below)
- set up RedBoot to load the kernel; the kernel should start the system from that SATA HDD/RAID array/CF card (root=/dev/sda1 etc.)
Thecus n4100 is a bit different from n2100. Most of all, it has a different network card (2x Intel e1000).
Apparently, Thecus wanted to save a couple of cents, and didn't include flash with those cards (which should store MAC addresses). Because of this, MAC address has to be hardcoded into the kernel module. To see what was changed, diff files in
drivers/net/e1000 between the original 184.108.40.206 kernel, and a source download below.
See http://sourceforge.net/mailarchive/message.php?msg_id=45EFECA5.7060804%40wpkg.org for more info.
RTC clock module doesn't work very well:
RTC in n4100 is a bit different than in n2100, but as I couldn't make the Thecus GPL RTC sources compile with 220.127.116.11, I used the RTC sources from n2100. They are a bit different since the n4100 is missing the fintek hw monitoring chip, and pca9532 and rs372 is changed a bit. When you do some intensive job (like "nice -n -19 make"), RTC begins to break after a minute or so - this is appended to dmesg every few seconds: thecus_rtc: cant write PCA9532 Reg#09 thecus_rtc: cant read PCA9532 Reg#09 thecus_rtc: cant write PCA9532 Reg#09 thecus_rtc: cant read PCA9532 Reg#09 It doesn't stop even if you stop that intensive job. When you run "hwclock", it doesn't respond, and kernel logs this: rtc_rs372_read i2c transfer read fail !! It is very likely that the machine in that state would freeze soon - it happened to me several times.
So it is best to do on system bootup:
- load the module
- set the system time from the hardware clock (hwclock command)
- unload the module
Similarly, on system shutdown:
- load the module
- set the hardware clock to the current system time (hwclock command)
- unload the module
RedBoot and tftp
I've been only booting Thecus n4100 via tftp (set in RedBoot). I didn't try to flash the kernel.
If you did this, let me know. Kernel flashing instructions should be similar to the ones here (search for "...and flash a kernel").
vmlinux (1204409 bytes) - vmlinux - Linux kernel
18.104.22.168-n4100-modules.tar.bz2 (547617 bytes) - 22.214.171.124 kernel modules for Thecus n4100
linux-126.96.36.199-n4100.tar.bz2 (58573070 bytes) - 188.8.131.52 kernel sources for Thecus n4100 (sources + compiled modules, kernel)
After David Karlstrom:
If Thecus did the same changes to the bootloader on the n4100 as on the n2100 and the box has an updated firmware they will need the correct machine-id in the kernel, or it won't boot. Apart from that the pages should still apply. Thecus did what most companies do, they just used the machine-id from the reference platform (Intel IQ31244 Serial ATA Evaluation, id: 327) for the cpu, and modified the code for it in their kernel sources. When asked to fix it they actually did, so in newer firmware releases the bootloader actually sends the right machine-id (1101) to the kernel. So if you try to boot a kernel that doesn't know about the new id it just wont boot. Thecus 4100 has an entry  in the machine-id list so I guess they fixed it in some firmware upgrade too..  http://www.arm.linux.org.uk/developer/machines/?action=list&id=1102
The board which Thecus runs is Intel IQ31244. You can find patches for the latest kernel on http://sf.net/projects/xscaleiop. They are slowly being integrated into the upstream kernel.
For some reason, I have very poor HDD performance with these patches (despite enabling DMA engines etc.), so I sticked with 184.108.40.206. If you tried these patches and it's any better for you, let me know.
Interesting addon - CF card on a mini-PCI
Thecus n4100 has a mini-PCI slot. It could be used for storage - then, you wouldn't have to depend on HDD drives to boot the device.
One such storage device is made by Commell: http://www.commell.com.tw/product/Peripheral/MiniPCI/MP-6421.HTM
You can insert a CF card in it, and hopefully, the kernel will see it as a disk/block device.
Unfortunately, all Commell distributors seem to sell products to business customers, so I couldn't buy it at a reasonable price (that is, they all say "minimum order is $100", or have ridiculous shipping costs).
Note: this card doesn't need any external power if you connect a CF card; mini-PCI USB adapters do need additional power sources to power USB devices, so they are not a good alternative...
If you have any questions, please subscribe to the mailing list on http://lists.wpkg.org/mailman/listinfo/debian-non-standard