No X BeagleBone Black MAME image available

I’ve been working at removing the dependencies on X to get MAME to function correctly and finally at a point where I’m able to share. This image boots straight to advmenu and allows running games either from the internal storage or from an external USB drive. I cant say I’m 100% pleased with how I had to get the games menu to work, but removing X games that would play slow or choppy before should be much better now.

If you load this image and have any problems or questions please let me know. Grab it from here: mamebone-1.2.rar

MD5sum: 3ddf301a966ec9313db60e68f1b7a339

 

 

Build Advmame and Advmenu on a Beagle Bone Black

You must be running a Debian or Ubuntu distribution for these steps to work.
Install required packages
apt-get install apt-file build-essential zlib1g-dev libexpat1-dev x11proto-video-dev libxv-dev libsdl-gfx1.2-dev libsdl1.2-dev
Advmame
  1. wget http://sourceforge.net/projects/advancemame/files/advancemame/1.2/advancemame-1.2.tar.gz/download -O advancemame-1.2.tar.gz
  2. tar -xzvf  advancemame-1.2.tar.gz
  3. cd advancemame-1.2
  4. ./configure –enable-static
  5. make
  6. make install
 Advmenu
  1. wget http://prdownloads.sourceforge.net/advancemame/advancemenu-2.7.tar.gz?download -O advancemenu-2.7.tar.gz
  2. tar -xzvf  advancemenu-2.7.tar.gz
  3. cd advancemenu-2.7
  4. ./configure –enable-static
  5. make
  6. make install

Updated BeagleBone Black MAME image available

I just rolled a new and improved BBB MAME image. This version is a minor update and includes the latest version of Debian and some tweaks to the MAME config that should improve game play. Special thanks to user berzerking for the desktop background.

Grab it from here: http://gencarelle.com/public_files/mamebone/mamebone-0.7.rar

Next build will hopefully see an improved front-end… pyrharckade looks very promising.

 

Updated Ubuntu 13.04 Image

I’ve created an updated Ubuntu 13.04 image suitable for the BeagleBone Black that includes a number of useful packages and fixes. Most notable are:

  • Hamachi is installed and working
  • USB network is working
  • Fixed Realtek RTL8188CUS driver
  • Using 3.8.13 kernel
  • Fix for USB power added
  • Deb packages updated to latest

Login name is ubuntu/temppwd

You can download it from here. If you find any problems with this image please let me know.

*Update 1 – USB network is in fact not working by default. The wrong kernel module is being loaded. To correct rmmod the g_cdc module and modprobe g_ether module. Once thats done you and ifup usb0 and it should work.

*Update 2 – If you plan on using Hamachi there is one additional step that should be done. Hamachi is fully configured and already has a IP and ID assigned. This will need to be reset. The fix is pretty easy. Just stop Hamachi , remove /var/lib/logmein-hamachi and start Hamachi again.

Problems with Realtek RTL8188CUS

The Miniature WiFi module from Adafruit does not work with Ubuntu 13.04 on the BeagleBone Black. Wish I knew that before I purchased it. Would have saved me many hours of work. Strap in, this one is a bit ugly.

814_MED

The instructions are for the ubuntu-13.04-armhf-minfs-3.8.12-bone17.img.xz image. If you use a different image it should still work. Just make sure you have the correct kernel headers installed.

1. Grab the modified driver from here:
wget https://realtek-8188cus-wireless-drivers-3444749-ubuntu-1304.googlecode.com/files/rtl8192cu-tjp-dkms_1.6_all.deb

2. Update the available package information
apt-get update

3. Grab the kernel headers and install
wget http://rcn-ee.net/deb/raring-armhf/v3.8.12-bone17/linux-headers-3.8.12-bone17_1.0raring_armhf.deb
dpkg -i linux-headers-3.8.12-bone17_1.0raring_armhf.deb

5. install the dkms package and all its dependencies
apt-get install dkms

6. Install the rtl8192cu-tjp-dkms_1.6_all.deb package. Its going to fail, dont be concerned. We aren’t done yet!
dpkg -i rtl8192cu-tjp-dkms_1.6_all.deb

7. Fix the missing arch type
cd /usr/src/linux-headers-3.8.12-bone17/arch/
ln -s arm armv7l

8. Fix a problem with the timex.h header
vi /usr/src/linux-headers-3.8.12-bone17/arch/armv7l/include/asm/timex.h

change line 18 from

#include <mach/timex.h>

to

#include </usr/src/linux-headers-3.8.12-bone17/arch/arm/include/asm/timex.h>

9. Run make to build the driver

cd /usr/src/rtl8192cu-tjp-1.6
make

10. Copy the new module in to the kernel modules directory
cp 8192cu.ko /lib/modules/3.8.12-bone17/kernel/drivers/net/wireless/

11. Update the module deps
depmod

12. Blacklist the native drivers.
vi /etc/modprobe.d/blacklist.conf

add this to the end:

# Blacklist native RealTek 8188CUs drivers
blacklist rtl8192cu
blacklist rtl8192c_common
blacklist rtlwifi

13. reboot

Its OK to now remove the driver source under /usr/src/rtl8192cu-tjp-1.6 if you need to free up some disk space.

That’s it. Hopefully all the steps worked for you. If not leave me a message. Enjoy!

USB power fix for BeagleBone Black running Ubuntu

If you power your BBB using USB power you’ve probably found the board will power off unexpectedly and/or not boot from the SD. This change allows > 500mA through the mini-USB port.

Edit the uEnv.txt (located in /boot) and add this: i2c mw 0x24 1 0x3e

Your uEnv.txt fill will end up looking something like this:

uenvcmd=run findfdt; if test $board_name = A335BNLT; then i2c mw 0x24 1 0x3e; setenv mmcde…

To give credit where its due I found the fix here: http://archlinuxarm.org/forum/viewtopic.php?f=28&t=5486#p32325

Running Hamachi on a Beaglebone Black

*** I have created an updated Ubuntu image with Hamachi baked right in. Grab it from here ***

After hunting around for a long time I wasn’t able to find instruction on getting Logmein Hamachi working on the Beaglebone Black running Ubuntu 13.04. It turns out Ubuntu dropped support for a armel package that’s required to install some for the necessary dependencies to run armel on armhr hardware. Here is how I finally got it running.

If you want to save some time I have posted all the files to: http://www.gencarelle.com/public_files

1. Download Ubuntu 13.04 image.
http://s3.armhf.com/debian/raring/bone/ubuntu-13.04-armhf-minfs-3.8.12-bone17.img.xz

2. Download and install 7-zip.
http://www.7-zip.org/download.html

3. Uncompress Ubuntu image file using 7-zip.

4. Download and install Image Writer for Windows.
http://sourceforge.net/projects/win32diskimager/files/latest/download

5. Write the Ubuntu image to the SD memory module.

6. If the SD module is larger than 2 Gigs you should expand the root partition. I used gparted on Linux.

7. Boot the beaglebone with the boot button pressed – required to boot from SD. Login name and password is ubuntu. Use “sudo su” to switch to the root user. Password is ubuntu.

8. Update the Ubuntu package repository.
apt-get update

9. Install packages (and package requirements).
apt-get install –fix-missing –no-install-recommends lsb lsb-core aptitude libc6-armel libc6-armel-cross linux-libc-dev-armel-cross

11. Make a directory to hold the downloaded packages.
mkdir /root/packages

12. Change to the new package directory.
cd /root/packages

13. Download the armel libs.
aptitude download libstdc++6-armel-cross libgcc-4.7-dev-armel-cross  libgcc1-armel-cross libgomp1-armel-cross libc6-dev-armel-cross

14. There is no gcc-4.7-arm-linux-gnueabi-base package for this version of Ubuntu. Force Install the armel libs we have.
dpkg -i –force-all *.deb

15. Tell the system where to find the libs hamachi needs. Edit the /etc/ld.so.conf and add this path at the bottom.
/usr/arm-linux-gnueabi/lib

16. Update the library cache.
ldconfig

17. Download the hamachi package.
wget https://secure.logmein.com/labs/logmein-hamachi_2.1.0.101-1_armel.deb

18. Install the hamachi package. I got a python error during the install but it didnt seem to cause a problem.
dpkg –force-architecture -i logmein-hamachi_2.1.0.86-1_armel.deb

 You can now safely remove the /root/packages directory.

Beaglebone Black

I’ve been running an Ubuntu server in a VM at home for some time. The host system is a older XPS laptop running Windows 7. I can’t speak to quality of other XPS systems, but this one has not held up very well. Its now on it’s 4th and final motherboard. I believe most of (all?) the problems have been related to the system overheating.

The main thing I’ve been using this system for is to run a Hamachi VPN and a Squid proxy. Its a nice setup that allows me to browse the web and not have to worry about someone snooping in. However, its only a matter of time  before it dies again and a bit overkill.

Sooo, in my quest to find a small low power standalone Linux server I came across the Beaglebone Black. Its a bit more expensive than the Raspberry PI but the specs (see for a side by side comparison: http://roboteurs.com/beaglebone-black-vs-raspberry-pi/)  are slightly better suited for what I want to use it for.

For anyone who cares I ordered it from Adafruit. I’ve had good luck with them in the past and was able to order everything with no problems. Here is my parts and price list.

  • 1 x Miniature WiFi (802.11b/g/n) Module: For Raspberry Pi and more[ID:814]  = $11.95
  • 1 x Adafruit Bone Box – Enclosure for Beagle Bone/Beagle Bone Black[ID:699] = $19.95
  • 1 x Micro HDMI to HDMI Cable – 2 meter[ID:1322] = $9.95
  • 1 x BeagleBone Black[ID:1278] = $45.00

My first task will be to replace the OS with Ubuntu and then get Hamachi working.