Thursday, December 21, 2006

Playing around with a embedded box

Sorry, it's time since I last updated this blog but I've been busy with work projects. However I have had some time to play around with a nice embedded device on my spare time. I needed a wireless router so I bought a Linksys WRT54GL. It's originally a WLAN router with 200 MHz mips CPU, 16 MB RAM and 4 MB flash, with Linux based firmware.

There's lot of projects to replace the firmware, such as DD-WRT, OpenWRT and HyperWRT. I choosed to flash the DD-WRT to my box. Flashing went fine. After the flash I was able to access the router by telnet and HTTP. It was easy to set up SSH running from the web interface. So I had a Linux system running with SSH access on a embedded box. The next step was to install own software on it. I set up JFFS on the box and Samba share on a bigger server which was mounted by DD-WRT.

Next step was to install some packages with ipkg. I took the prebuilt packages from OpenWRT repositories. There was some problems installing some libraries because a Samba share does not support symbolic links. Solution is to make the proper links on the server side. It required some tweak to make the applications to run, such as set LD_LIBRARY_PATH to proper location. Some applications required some extra parameters to work properly. Generally the Samba share provided virtually unlimited amount of storage for applications. The only limitation is the box itself.

I'd like to set up a compiler environment for my desktop environment to build applications for mips and to run them on my WRT box. I have some ideas to make it run different kind of applications. However first I'd like to set up a web server on it and make my primary router to forward them to the WRT box. Which one would hit first, the power or the memory limit? How about to set up a swap over the Samba share? To be seen...