Software:Introduction

From BUGwiki

Jump to: navigation, search

Contents

Introduction

BUG Y.T. runs a customized version of Openembedded's Angstrom distribution. As of September 2010, BUG runs on top of the 2.6.31 omap branch of the linux kernel. On top of the OS, BUG runs openjdk, with OSGi bundles providing programmatic hooks into controlling and accessing the BUG hardware. We provide an SDK and host community-written applications.

JVM OSGi stack.jpg

Linux kernel

As of September 25th 2010 BUG Y.T.'s kernel is based on the 2.6.31-omap branch of the linux kernel. Sources are hosted at github: http://github.com/buglabs/bug20-2.6.31-omap. You can check the sources out anonymously:

git clone git://github.com/buglabs/bug20-2.6.31-omap.git

If you find that you'd like to contribute back to our driver tree, please email the bug-developers email list with a patch, or contact us via our github account.

For instructions on how to manually build the BUG kernel, see Software:Manually_Compile_the_Kernel.

For instructions on how to build the kernel as part of our build system, see Software:Openembedded_Build_System#BUG_Kernel

Operating System

BUG Y.T. runs a debian-like Linux distribution called Ångström. We use bitbake to generate our distribution from "scratch". All sources for packages that end up on BUG Y.T. are downloaded, compiled, and deployed. To learn more about our build system, have a look at Software:Openembedded_Build_System.

JVM

As of September 25th 2010 BUG Y.T. ships with openjdk-6, which is an implementation of the Zero assembly version of Hotspot. Its large classpath and speed make it a significant improvement over BUG Y.T.'s predecessors.

OSGi

On top of openjdk-6-zero, we run an R4 compliant OSGi framework called Apache Felix. This allows us to benefit from the features of OSGi, which include "principles of modularity, component-orientation, and/or service-orientation." Being that BUG Y.T. is modular and mobile, OSGi is a good fit with our programming model.

BUG (core) bundles

BUG Y.T.'s core bundles are designed by developers at BUG Labs to enable java-proficient developers to quickly design and deploy applications intended for the BUG Y.T. device. All of these bundles are open source, and we even have a BUG Simulator, rolled into our SDK, to allow developers to develop locally, test their program on a BUG Simulator, then deploy.

BUG applications

We have a wide variety of BUG Applications hosted at http://buglabs.net/applications. Some of the applications have been designed as HOWTOs for new developers or customers interested in what BUG is capable of, and some have been contributed by our community. These applications rest on top of the BUG core bundles, and act as OSGi bundles as well.

See Also

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Print/export