Our stack roughly looks like this:/>
[Java code providing OSGi services]
[Linux Kernel Drivers]
At the lowest level, a new module plugging in shows up as a new device in the Linux kernel running on the BUGbase. Each module is basically a peripheral to the base. So all the code whether it be drivers or Java is stored on the based. The kernel is in the onboard flash memory, and everything else runs off the SD card.
The BUGbase is running our Java & OSGi stack. OSGi is the magic that makes our whole modular strategy work by handling the life cycle issues of different services being available at different times due to different modules being plugged in or different applications installed. So when a new module is plugged in the new services start running in the OSGi server, and when i