Since the Athena TK3350 I have only had 128mb of ram it was almost impossible to boot from a usb cd/dvd drive. So the first hurdle was how to get a new 4gb compact flash card loaded with an uncompressed OS. When you boot from a cd/dvd/usb flash drive, most times (Especially with linux live images) there is a compressed file system. In my case I was using SliTaz linux which is a 30mb distro with a graphic desktop and a web browser. When trying to boot directly from cd/dvd or usb I would recieve errors about running out of swap space.
To get past these first hurdles the solution was simple. Use a more modern system with beefier resources to create the uncompressed cf image. So I booted the SliTaz cd then plugged in my compact flash card to a usb adapter. Once the desktop was loaded all I needed to do was start the slitaz installer which was under the main program menu >> Slitax installer.
I then had to tell the installer to show all drives then I picked my usb drive from the drop down menu. After a few seconds I had an uncompressed copy of slitaz on the new 4gb cf drive.
The first boot had some major issues, first errors about unable to find sda1 (problem from the installer not offering options to change boot device name) and some DMA errors.
Fixing the sda1 issue.
This was pretty easy and straight forward. Plug the cf back into the usb adapter and open /boot/grub/menu.1st and change sda1 to hda1
The second boot was a bit more exciting new messages where popping up, but I still got several errors that prevented the desktop from loading. The error that caught my eye first was all the DMA errors. After reading through some forums I found that I could go two different routes. 1. Re-compile the kernel with the appropriate DMA options, not an option for me. 2. use boot parameters to change DMA settings. This was the only option for me since I did not want to waste a ton of time on this project. Since many thin clients use a cf to ide adapter they do not use an 80pin connector like most new hard drives. So the system could not boot using DMA options of modern systems. So after more searching I found this tid bit to disable DMA (Or at least downgrade it)
My menu.1st now looks like this.
title SliTaz GNU/Linux (cooking) (Kernel vmlinuz-18.104.22.168-slitaz)
kernel /boot/vmlinuz-22.214.171.124-slitaz root=/dev/hda1 ide-core.nodma=0.0 ide-core.nodma-0.1 vga=normal
Notice the ide-core.nodma=0.0 ide-core.nodma=0.1 This is the key to getting many linux ditros to boot from compact flash cards.
At last with all the little items fixed the system was off to a real boot. SliTaz booted and I was able to answer questions about how I wanted the system setup. Since everything is uncompressed these settings where saved and each boot afterwards will take off without a hitch.
Now that I have a running system its time to put it to use. Keeping in mind the limited resources this system would be good for several projects.
1. Internet radio station. This system could sustain a few connections from listeners before it became over loaded.
2. Network attached storage. Originally i wanted to install freenas but its minimal requirements are a little over what this system has (533mhzcpu 128mb ram) however a stipped down linux os (text mode only) with samba running would provide a general storage server.
3. tiny web server. plenty of space to host a web site, but it would only be able to handle a small amount of traffic at a time.
4. Kid computer. Since resources are low this would make a decent first time computer for a child. Its limited space would mean less chance of junk being downloaded and running linux means no viruses or malware.
5. LTSP, this system can function very well as a thin client for linux terminal service project. connected to a decent server this device would be capable of performing most tasks of modern computer systems.
So there you have it the general steps needed to turn trash into something usable. I plan on running the shoutcast radio server on this machine in the near future. So stay tuned for the audio / video amazement jeitv will bring. (Or not!)