Full Linux Distro On A Nook Color

We should have included a footnote in the title. You can say that [Thomas Polasek] installed a full version of Arch Linux on his Nook Color, but there’s one caveat. It’s running on top of the Android kernel and his proof-of-concept uses a second computer to get it up and running. But there’s potential for that to change moving forward.

Unlike previous attempts to run a Linux distro on Android, this does away with using a VNC to show the desktop. [Thomas] is commandeering Android’s frame buffer so that it can be used by the X desktop without needing to set up display drivers. To start off he installed a ROM based on CM7. A couple of Android apps give him the functionality needed to get the Arch Linux distro running from the SD card. This is accomplished by tunneling into the tablet via SSH, and using the ‘chroot’ command to make it active. The hope is that this can somehow be automated by a script.

A female to female USB coupler was used to connect the keyboard and mouse to the Nook. It looks like LXDE would be useless without them; touch control is not yet implemented. Those shortcomings aside, everything seems to be running pretty fast in the video after the break.

Continue reading “Full Linux Distro On A Nook Color”

IR Helicopter Controller Hacked Into A Linux Game Pad

syma-linux-joystick

[Mike Kohn’s] Syma S107 helicopter wasn’t flying as well as it used to due to a broken gear, he figured he might as well find some use for the toy’s controller, since it was currently sitting around collecting dust. Having done a bunch of work with Syma IR protocols earlier this year, he decided it would be pretty easy to get the remote working as a game pad for his Linux desktop.

He patched an IR receiver into an MSP430 board, which decodes the incoming IR signals, sending them to his computer over a serial connection. [Mike] dug around in the Linux source for some good joystick driver code to borrow and found something that was close enough to work. After a bit of tweaking he loaded up his driver module and fired up Mame to give [Ms. Pacman] a try.

He says that the controller worked without much trouble, though as he discovered in previous projects, there are some quirks in the controller that make it somewhat less than convenient to use full time. Check out his site if you’re interested in taking a look at the code that he used to get things running.

PS3 IR Dongle Tamed For Use With A Linux Box

So a man walks into a Radio Shack and the clerk says “Why the long face?”. No, that’s not it. [Ms3fgx] walks into a Radio Shack and says “holy crap, that PS3 IR dongle is only two bucks”. He’s been looking for an IR remote receiver to use with a Linux machine and decided to bend this PS3 dongle to his will. It’s a lot less expensive that the parts to build the simplest IR receivers like this FTDI cable version, or a microcontroller based receiver.

He plugged it in and was delighted to find that it enumerates. The kernel has PlayStation 3 controller support built-in and has no problem picking up this device. When he uses ‘cat’ to display the incoming data all he gets is repetitive garbage. This is because the dongle only supports Sony remote control codes. But after a bit of universal remote setup, he’s got unique commands for each button. The last piece of the puzzle is to map the controller commands to keyboard keys. This is done with the QJoyPad package, but there are a myriad of ways to remap these buttons so go with what you know.

Building The Worst Linux PC Ever

Linux is generally considered the go-to OS for under powered computers. Wanting to challenge the preconceived notion that Linux requires ‘a computer made in the last 20 years,’ [Dmitry] built the worst Linux PC ever around a simple 8-bit microcontroller.

The ATMega1284p [Dmitry] used doesn’t have a lot to offer as far as RAM and storage goes; just 16 kilobytes of SRAM and a paltry 128 kilobytes of Flash storage. While this may be voluminous in the embedded world, it’s peanuts compared to the gigabytes of RAM and hard drive space on even a low-end netbook. To solve this problem, [Dmitry] threw an antique 30-pin RAM SIMM at the problem. It’s wired up directly to the microcontroller, as is the 1 Gigabyte SD card that serves as the PC’s hard drive.

Linux requires a 32-bit CPU and a memory management unit, something the puny microcontroller doesn’t have. For [Dmitry], the best course of action was emulating an ARM processor on an AVR. We’re not sure if we’re dealing with genius or madness here, but it did prove to be a valuable learning exercise in writing a modular ARM emulator.

How fast is it? [Dmitry] tells us it takes two hours to boot up to a bash prompt, and four more to load up Ubuntu and login. If you want a Megahertz rating, good luck; the effective clock speed is about 6.5 kilohertz. While the worst Linux PC ever won’t win any races, its simple construction puts it within the reach of even the klutziest of hardware builders; the entire device is just a microcontroller, RAM, SD card, a few resistors, and some wire.

If you’d like to build your own worst Linux PC, [Dmitry] has the firmware and disk image available to download. If you want to watch the time-lapse of this thing booting, check out the video after the break.

Continue reading “Building The Worst Linux PC Ever”

The First Raspberry Pi Build Is A MAME Machine

The Raspberry Pi was launched nearly a month ago, but these wonderful cheap single-board computers are still on their way from China to the workbenches of hackers and builders around the globe. Although they haven’t shipped yet, plenty of people are chomping at the bit to do something useful with the Raspi. [Nicholas] figured he should hit the ground running, so he emulated a Raspberry Pi to get everything ready for the MAME machine he’ll build when his new toy arrives.

[Nick] found a Raspi VirtualBox image on the official Raspberry Pi forums. After getting a web browser up and running with a few console keystrokes, he turned his attention to a MAME emulator. It’s a relatively simple install (although it did take six hours to compile), but we’re sure the Raspi will be featured in quite a few MAME builds so it was time well spent.

Sure, the Raspberry Pi you ordered a month ago is probably on a container ship in the middle of the ocean right now, but that doesn’t mean you can’t start planning your build. Just load up a VirtualBox image, check out a few of the tutorials, and you’re ready to go.

Android Rolled Into Linux Kernel 3.3

The latest version of the Linux kernel was just released on Sunday, and there’s a little bonus which we think is worth considering. It seems that many changes from Android made their way into version 3.3 of the Linux kernel.

This may not sound like much, but it’s a great example of the power of open source. Since device specific changes based on the Linux kernel must be released under the same license, hardware manufactures are compelled to release their sources. But normally this would only help you if you have the expertise to slog through their code and find the parts that you need for whatever purpose you have in mind. But with these changes being rolled into the main kernel you should be able to run your own distributions on Android devices relatively easy; hardware support is already in there. Of course there’s still a lot of expertise that goes into cross-compiling an OS.

This may have the potential to open up old Android hardware as a development platform. Think of how Chumby hardware has been used in robotics projects. Now what if your old Bluetooth and WiFi enable cellphone had a stock kernel that was as easy and open to use in your own projects?

[Thanks Adam]

Twiddling An LED Using The BeagleBone’s Embedded Linux

If you comfortable working with 8-bit microcontrollers, the thought of moving to a hardware platform running embedded Linux may be a bit daunting. After all, there’s a lot going on between you and the chips on a board like the BeagleBone seen above. But [Matt Richardson] shows how easy it can be to get at the pins on this device. He put together a primer on hardware control from the embedded shell.

You will remember that the BeagleBone is the newest generation of the BeagleBoard. The ARM processor and other goodies make it a powerful tool, and those already familiar with Linux will be able to get up and running in no time. Just connect the board to your network and SSH into it to get started. [Matt] outlines this setup process in the clip after the break. He then hits the reference manual to find the pinout of the female headers on either side of the board. Each available I/O pin is mapped to the /sys directory and can easily be controlled by echoing your commands to the appropriate files. But [Matt] went a step further than that, writing his own Python library that implements Arduino-style syntax like the digitalWrite() function.

This example should give you enough of a shove to start porting your own libraries over for use with the device. Don’t forget to document your projects and tip us off about them. Continue reading “Twiddling An LED Using The BeagleBone’s Embedded Linux”