Skip to content

OpenMoko Emulator ready for general use

The MokoMakefile now has support for automatically building, flashing, and running the new OpenMoko emulator (which is based on QEMU).

“make qemu” will build qemu-neo1973, download the latest official openmoko images, flash the images into the virtual NAND flash, and run the emulator.

Other targets are “make download-images” (to download the latest official images), “make flash-qemu-official” (to flash those images) and “make flash-qemu-local” (which will flash your latest locally built images), which can then be followed by “make run-qemu” or “make run-qemu-snapshot” to run the emulator with the most recently flashed images.

Make sure you have the “lynx” and “netpbm” packages installed on your build host first.

MokoMakefile – automated development environment setup for OpenMoko

MokoMakefile is a fully automated way of setting up an OpenMoko development environment. It is an invaluable tool for getting new developers up and running with a build environment which is configured the same as all the other existing developers. It brings the same repeatability to build environment creation and maintenance as that which OpenEmbedded brings to the main task of actually building embedded software distributions.

Note that MokoMakefile does *not* replace bitbake, or svn, or monotone, or openembedded, or qmake, or anything else. It is a wrapper around all that to make it easy to set up and maintain a development environment that fully complies with the setup instructions published by OpenMoko.

Here are the steps to use it:

1/ Make sure your build host is set up according to:

http://www.openembedded.org/wiki/OEandYourDistro

2/ Create your $OMDIR directory

mkdir /home/moko ; cd /home/moko

3/ Grab MokoMakefile

wget http://www.rwhitby.net/files/openmoko/Makefile

4/ Start building

make openmoko-devel-image

This will set up the recommended directory structure as described in http://wiki.openmoko.org/wiki/Building_OpenMoko_from_scratch, will download all the required software (from the right places with the right versions), and will immediately start building an image.

Once you have done this, you can choose to continue using the MokoMakefile to initiate your subsequent builds, or you can go into the build directory and run bitbake commands manually. The choice is yours.

The nslu2-linux project has successfully used a similar MasterMakefile for more than two years, and we have found it to be an invaluable tool for getting new developers up and running with a build environment which is configured the same as all the other existing developers. It brings the same repeatability to build environment creation and maintenance as that which OpenEmbedded brings to the main task of actually building embedded software distributions.

Since this MokoMakefile is what runs my personal build environment, it will always be kept up to date with the latest build instructions. I will also be extending it to support building other OpenMoko stuff.

I would be happy for the OpenMoko core team to put this in a repository somewhere where I (and they) can update and maintain it. Alternatively, I could start a MokoMakefile project at projects.openmoko.org if they don’t want to pick it up and use it internally.

MokoMakefile is recommended by 1 out of 1 new developer on #openmoko, who said “For some reason last night I couldn’t get my manual install of everything to work (bb complained about my bbpath I think) … but with your makefile, it works great!”

MokoSlug Custom Firmware for the NSLU2

The NSLU2 is a good low-cost companion server for the Neo 1973 (the initial hardware platform for OpenMoko). It has one 10/100 ethernet port, two USB 2.0 ports, and easily supports connectivity with the Neo via Bluetooth (using a low-cost USB Bluetooth dongle).

I am creating a MokoSlug firmware distribution for the NSLU2 for this purpose. It will be based on the Angstrom distribution, which is built using the OpenEmbedded build system (the same build system which is used for the OpenMoko software).

Like the SlugOS firmware distribution for the NSLU2, it will initially run from internal flash but will allow you to boot from an external USB disk or flash key if you need more storage for installation of additional software packages.