How Canonical automates Linux package compilation


What do you do when it’s time to port the most popular Linux distribution to a completely different architecture? Canonical employee [David Mandalla] works on their ARM development team and recently shared the answer to that question with his fellow Dallas Makerspace members.

Canonical needed a way to compile about 20,000+ packages for the ARM platform, however they did not want to cross-compile, which is quite time consuming. Instead, they opted to build a native solution that could handle the load while ensuring that all packages were compiled securely. To tackle this immense task, [David] and his team constructed a 4U server that runs 20 fully-independent ARM development platforms simultaneously.

The server is composed of 21 PandaBoards, small OMAP development boards featuring a dual-core ARM cortex processor with just about all the connectivity options you could possibly ask for. One board operates as the server head, keeping track of the other 20 modules. When someone requests server time to build a package, the main board checks for unused server, triggering a relay to reboot it before the server is automatically reimaged. Once the pristine, secure environment is ready to go, it’s handed off to the customer who requested it.

If you’re interested in learning more about the build process, [David] has put together a blog with additional details.

[Thanks Leland]

Ubuntu Laika – an Android phone pen testing platform


Once [Ruan] over at AndroidClone heard that Android devices were capable of running a full Linux environment, he started contemplating all of the things he might be able to do with a full Linux OS in his pocket.

He decided that a portable penetration testing platform would be great to have on hand, so he got busy installing Ubuntu 10.10 on his Lenovo LePhone. Once he had it up and running, he stripped out all of the unnecessary fluff and added some common tools such as Wireshark, Nmap, and Kismet, among others. He says it easily runs side by side with Android, allowing you to switch between the Ubuntu install and your standard Android applications with ease.

While this all started out as a proof of concept, he has continued to refine the project, releasing several new versions along the way. If you are interested in giving it a try, he has installation instructions available in the AndroidClone forums.

[thanks Stephen]

The basics of controlling an Arduino with PHP

You can easily add Internet-based control for your Arduino if it is close enough to your server to be connected via USB. This tutorial will give the basics you need to get it working.

The gist of this method involves a webpage that includes PHP elements. When one of those elements is manipulated, a command is sent via serial connection to the Arduino which then reacts based on what it received. This example uses an Ubuntu box that is running an Apache server. The Arduino sketch sets up the serial connection and then listens for incoming traffic. Whenever it receives a non-zero character an LED will blink. On the server side of things you’ll need to make sure that the system user that runs Apache (www-data) has permission to write to a serial port.

This base example may seem extremely simple, but there’s no end to what you can build on top of it. Different PHP events can be added to push new commands over the serial connection with matching test conditions added to the sketch.

[Thanks Jarryd]

TI Evalbot development under Linux

We have some beefs about how Texas Instruments does things, the biggest of which is their lack of support for development under Linux operating systems. But if they build it, someone will try to get Linux involved in one form or another. This time around, [BLuRry] put together a guide to developing for the Evalbot under Linux. He got a shove in the right direction from the code package that went along with that nunchuck-controlled Evalbot. Picking apart that example to the bare essentials he wrote up the process of setting up the cross-compiling toolchain in a virtual machine so as not to clutter your system. From there he details how to set up and use Eclipse when starting a new project. What what did he choose for a Hello World experience? Well a plain “Hello World” was first but right on its heels is the “Hello Hack-A-Day” seen above. So if you’ve got one of these on hand get out there and start coding for it.

Open Source Your Rave with OpenLase

Without a doubt, Laser Projectors are a great way to project large, bright images on any surface you can imagine. With a high enough quality projector and software package, excellent images and visualizations can be displayed in real time. [marcan], of the openkinect project, decided that there were not any open source laser projection packages out there that suited his wants or needs, so logically he decided to write his own. Because home-made laser projectors often use the audio out port of a PC, building the framework on top of the JACK unix sound software to control the hardware made perfect sense. OpenLase includes plugins for audio visualizations, 2D and 3D gaming, as well as converting video streams into laser format in real time.

Be sure to check out the Chaos Communication Congress presentation [marcan] gave after the break, as well as all the extra demo videos on his website.

Continue reading “Open Source Your Rave with OpenLase”

Turning a one-armed-bandit into web slots

[Kyle Kroskey] just finished his first Arduino project, adding web control to a slot machine. He started with an IGT S+ model which were extremely popular in Vegas and Atlantic City casinos for years, but are now being replaced with more modern versions. His grand idea was to modify the machine so that it can be controlled from a PC, then unleash a live stream so that the Internets can play.

This turned out not to be too hard, there’s just a few controls he patched the Arduino into; the button for maxing out the wager amount, and sensors that measure coin inserts and payouts. In order to keep the peace he disconnected the speaker but rerouted the audio into a PC so that it can be played over the streaming feed. This make sure it’s quiet in the room without sacrificing the online fun. The PC is running Ubuntu and controls the video feed, a screen detailing jackpot data above the machine, and facilitates passing webpage player requests to the Arduino for machine control.

For another fun slot machine hack, check out this gaming device turned bartender.

Building Linux images for ARM architectures

Want to try your hand at building a Linux package for an embedded device? [SnowBot] decided to give it a try and set out to build Ubuntu for a GumStix. The single-board computer will cost you about $150 to get started, plus a way to connect to the device’s serial port. But once you’ve got your hands on it there is a lot of power in a tiny package.

He’s using the RootStock package to assist in the build. This is a suite of tools that generates the root file system that can be loaded onto an SD card for use with the Gumstix. It’s not quite building from the ground up, but there’s already enough hoops to jump through that this package is a welcomed shortcut.

Already rolling your own Linux packages for embedded hardware? We want to hear about it.