Installing TinyOS on Red Hat 9: Time consuming task

Matthew J. Miller's HOWTO: Installing TinyOS:

"You can try installing TinyOS from RPMs as suggested on the TinyOS website. If this works for you, I suggest that you leave the office immediately and go buy a lottery ticket. Based on my experience, the more likely scenario is that you'll be on the verge of hurling a laptop through a window after a couple of days of trying to troubleshoot via the TinyOS mailing lists"

Unfortunately I cannot perform the act of defenestration on my machine since doing so could actually kill someone at the bottom of my dorm! Imagine a 20-pound dual Xeon server crashing down on you. Indeed I am grateful that I stumbled across this page by just searching on Google for the phrase "installing tinyos on linux". Installing TinyOS on Linux is a necessary part of my Mica2 Mote project since I have to write the application layer for the motes itself.

Anyway, the instructions from the TinyOS website were deceptively simple and involved nothing more than installing a couple of RPMs. I was to discover that this is not the case. Fortunately I was using VMWare and had made snapshots of my first clean installation. The first time I installed it, the installation just decided to hang the machine and I had to reboot. After rebooting, I could not even log into the machine. The second time around I was more careful but the same mishap happened again. In the end I gave up entirely on the RPMs and ended up compiling everything almost entirely by source (with the exception of the Java RPMs of course). By the way, it seems that trying to compile the Java source files in the tinyos folder is the most elusive step, one that can permanently leave you with a non-working machine.

Anyway, the ordeal of trying, failing, rolling back to a previous snapshot and trying again took up nearly 2 days! In the end I almost gave up on installing it on Linux since I can easily install TinyOS on windows (amazingly, the installer for Windows works fine on a clean installation of XP). However, luck was on my side and I managed to solve the problem by installing the latest version of the nesC compiler as suggested by Miller above.

How did I find out that everything was working? Well, I could compile the sample application without any errors, upload it to the Mica2 Mote via a parallel cable and finally get to see the red LED blink every second. I would say that would definitely count as being successful after fiddling with it for 2 days!

Now all I have to do is become proficient enough with TinyOS and nesC


comments powered by Disqus