Home
Contraption

Contraption is my project to create a GNU-based software overlay on top of Android for the Beagle Board. It simplifies porting traditional GNU-based code to a platform that otherwise omits the usual GNU infrastructure. It is definitely a work in progress, but I've had some success in porting tools like busybox, bash, strace, and dropbear (ssh/scp), as well as my Diminuto library and toolkit. I've gotten all of this working using dynamic linking by hosting the necessary shared objects from the Code Sourcery tool chain in the root file system. Traditional Linux developers may cheer. Android developers are probably appalled.

The distribution is mostly just a Makefile that builds stock software packages downloaded from various web sites then builds an SD card that will boot on the Beagle Board. The Makefile has comments identifying the URLs from where I downloaded the various source distributions.

You can find a tarball of the Contraption distribution here.

Here are blog articles that my alter-ego, Chip Overclock, has written about Contraption:

Presentation: Implications of Memory Consistency (or Lack of It) Models for Java, C++, and C Developers (more)

Seminar Review: Jack Ganssle, Better Firmware Faster, 2006 (more)

Article: Depending Upon the Kindness of Strangers: Notes on Open Source and Free Software (more)

Article: Vaster than Empires and More Slow: The Dimensions of Scalability (more)

Article: In Praise of do-while (false) (more)

Book Review: Joel Spolsky, Best Software Writing I, Apress, 2005 (more)

Presentation: Robert Austin, Measuring and Managing Performance in Organizations, Dorset House, 1996 (more)

Book Review: Joel Spolsky, Joel on Software, Apress, 2004 (more)

Presentation: James Surowiecki, The Wisdom of Crowds, Doubleday, 2004 (more)

Travelogue: China Journal: Dancing with a Sleeping Giant (more)

Unless otherwise specified, all contents copyright © 1995-2011 by the Digital Aggregates Corp., Arvada Colorado, USA.
Such copyrighted content is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License.