Automatic emulation in Ubuntu

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Problems: removed old problems)
Line 1: Line 1:
This is a tutorial for getting an emulation environment on an Ubuntu system. For other systems see the [[Installation_guide]]
+
This is a tutorial for getting an emulation environment on an Ubuntu system. For other systems see the [[Installation guide]]
  
 
== Installation ==
 
== Installation ==
Line 7: Line 7:
 
To get it running, you will have to tweak your ubuntu a little bit (This will not damage other programs, everything will work as before).
 
To get it running, you will have to tweak your ubuntu a little bit (This will not damage other programs, everything will work as before).
 
* Open your terminal (Applications->Accessories->Terminal).
 
* Open your terminal (Applications->Accessories->Terminal).
* Enter following command and select NO if it ask to install dash as /bin/sh.
+
* Enter following command and select NO when it asks to install dash as /bin/sh (You will have to enter your password)
 
     sudo dpkg-reconfigure dash
 
     sudo dpkg-reconfigure dash
 
* Install the needed programs (You will have to enter your password):
 
* Install the needed programs (You will have to enter your password):
 
     sudo apt-get install monotone git-core cogito python-dev ccache m4 sed bison make cvs gawk libc6-dev g++ subversion sharutils docbook openjade quilt libmpfr-dev libpcre3-dev texinfo texi2html libboost-date-time-dev libboost-filesystem-dev libboost-regex-dev libboost-test-dev libboost-dev zlib1g-dev build-essential dh-make debhelper devscripts gcc-3.4 lynx netpbm libsdl1.2-dev dosfstools help2man python-psyco lynx
 
     sudo apt-get install monotone git-core cogito python-dev ccache m4 sed bison make cvs gawk libc6-dev g++ subversion sharutils docbook openjade quilt libmpfr-dev libpcre3-dev texinfo texi2html libboost-date-time-dev libboost-filesystem-dev libboost-regex-dev libboost-test-dev libboost-dev zlib1g-dev build-essential dh-make debhelper devscripts gcc-3.4 lynx netpbm libsdl1.2-dev dosfstools help2man python-psyco lynx
  
Voila your system is ready to get the install the openmoko.
+
Voila your system is ready to get the install Openmoko.
  
 
Now we will install Openmoko in a directory by downloading the MokeMakefile in it and build it.
 
Now we will install Openmoko in a directory by downloading the MokeMakefile in it and build it.
Line 19: Line 19:
 
     cd openmoko
 
     cd openmoko
 
* Get the MokoMakefile:
 
* Get the MokoMakefile:
     wget http://www.rwhitby.net/files/openmoko/Makefile
+
     wget <nowiki>http://www.rwhitby.net/files/openmoko/Makefile</nowiki>
 
* Make the MokoMakefile and tell it, you want to install it for qemu:
 
* Make the MokoMakefile and tell it, you want to install it for qemu:
 
     make qemu
 
     make qemu
  
This will download the necessarily files of the lastest release and build them following the MokoMakefile. After that it will start into the emulator for the first time. Voila your have now successfully installed openmoko onto your ubuntu system.
+
This will download the necessarily files of the latest release and build them following the MokoMakefile. After that it will start into the emulator for the first time. Voila you have now successfully installed openmoko onto your ubuntu system.
  
==Help with running OpenMoko in Qemu==
+
==Help with running Openmoko in Qemu==
  
If OpenMoko is not already running in Qemu, you can start it by:
+
If Openmoko is not already running in Qemu, you can start it by:
 
* Open your terminal (Applications->Accessories->Terminal).
 
* Open your terminal (Applications->Accessories->Terminal).
 
* Go to the directory:
 
* Go to the directory:
Line 34: Line 34:
 
     make run-qemu
 
     make run-qemu
  
The first screen of OpenMoko will show a nice picture of the OpenMoko logo which will be followed
+
The first screen of Openmoko will show a nice picture of the Openmoko logo which will be followed
 
almost immediately by the BOOT MENU, this is done by the bootloader.
 
almost immediately by the BOOT MENU, this is done by the bootloader.
  
In the BOOT MENU you can choose different options. To select an option you have to press enter (=aux) and to execute it, hit space (=power). The default selection will boot OpenMoko.
+
In the BOOT MENU you can choose different options. To select an option you have to press enter (=aux) and to execute it, hit space (=power). The default selection will boot Openmoko.
 
Thus if the BOOT MENU shows, you just have to hit the space bar and the phone software will load.
 
Thus if the BOOT MENU shows, you just have to hit the space bar and the phone software will load.
  
While booting OpenMoko the progress will be shown in text mode. Depending on your computer's performance it might take a while (some minutes even) to complete the boot. When complete you will see the graphical interface as will be shown on the phone itself (but slightly larger due to  the larger pixelsize of your screen).
+
While booting Openmoko the progress will be shown in text mode. Depending on your computer's performance it might take a while (some minutes even) to complete the boot. When complete you will see the graphical interface as will be shown on the phone itself (but slightly larger due to  the larger pixelsize of your screen).
  
A few pointers on using OpenMoko:
+
A few pointers on using Openmoko:
 
* You can select the icon that looks like "+" for a list of applications you can run.
 
* You can select the icon that looks like "+" for a list of applications you can run.
 
* You can select the icon that looks like "three gears" for a list of applications that are running now. Here you can also terminate unwanted applications when you are unable to do so from within the application itself.
 
* You can select the icon that looks like "three gears" for a list of applications that are running now. Here you can also terminate unwanted applications when you are unable to do so from within the application itself.
Line 48: Line 48:
 
* The statusbar at the top is always shown and by clicking on the top-left corner you can switch to another application that is already running. The "Home" application is always running and clicking on it will bring you back to the home screen.
 
* The statusbar at the top is always shown and by clicking on the top-left corner you can switch to another application that is already running. The "Home" application is always running and clicking on it will bring you back to the home screen.
  
See [[Qemu]] for more advanced information on running OpenMoko in Qemu.
+
See [[Qemu]] for more advanced information on running Openmoko in Qemu.
  
 
==Installing ipk packages==
 
==Installing ipk packages==
 
First you need a xxx.ipk package, see [[toolchain]] on how to compile an application for the ARM CPU and create the package.
 
First you need a xxx.ipk package, see [[toolchain]] on how to compile an application for the ARM CPU and create the package.
  
Note that if at this point you have the OpenMoko Qemu running, it is probably wise to terminate it first.
+
Note that if at this point you have the Openmoko Qemu running, it is probably wise to terminate it first.
 
Then you can install the xxx.ipk package for access by the Qemu emulator with:
 
Then you can install the xxx.ipk package for access by the Qemu emulator with:
  
Line 64: Line 64:
 
Maybe this part can be improved, or a different command can overcome the problem of creating this directory.''
 
Maybe this part can be improved, or a different command can overcome the problem of creating this directory.''
  
When above make command was succesful the next time you start OpenMoko Qemu,
+
When above make command was succesful the next time you start Openmoko Qemu,
 
you still need to make the installed application available in the application list.
 
you still need to make the installed application available in the application list.
For this you can select from within OpenMoko the terminal application
+
For this you can select from within Openmoko the terminal application
 
(Select icon that looks like "+" for the list of available applicaitons, select "Applications" and select the "Terminal").
 
(Select icon that looks like "+" for the list of available applicaitons, select "Applications" and select the "Terminal").
 
In this terminal double-click, so you can type in the commands:
 
In this terminal double-click, so you can type in the commands:
Line 98: Line 98:
  
 
and add a menu item with the following values
 
and add a menu item with the following values
Name: OpenMoko
+
Name: Openmoko
 
Command: ~/openmoko/moko.sh
 
Command: ~/openmoko/moko.sh
  

Revision as of 16:40, 10 April 2008

This is a tutorial for getting an emulation environment on an Ubuntu system. For other systems see the Installation guide

Contents

Installation

You have to know that there is a great tool to get it running on a linux system, namely the MokoMakefile. This is a sort of wrapper round several instructions, so it is easy to set up and maintain a development environment. If you build the whole MokoMakefile, you will need approximately 12GB, a swap+ram memory of about 1GB and minimum 5 hours time. But we will only build it for Qemu (the emulator that I will use) and that needs (on my system) only 890mb and a 15 min of your time.

To get it running, you will have to tweak your ubuntu a little bit (This will not damage other programs, everything will work as before).

  • Open your terminal (Applications->Accessories->Terminal).
  • Enter following command and select NO when it asks to install dash as /bin/sh (You will have to enter your password)
   sudo dpkg-reconfigure dash
  • Install the needed programs (You will have to enter your password):
   sudo apt-get install monotone git-core cogito python-dev ccache m4 sed bison make cvs gawk libc6-dev g++ subversion sharutils docbook openjade quilt libmpfr-dev libpcre3-dev texinfo texi2html libboost-date-time-dev libboost-filesystem-dev libboost-regex-dev libboost-test-dev libboost-dev zlib1g-dev build-essential dh-make debhelper devscripts gcc-3.4 lynx netpbm libsdl1.2-dev dosfstools help2man python-psyco lynx

Voila your system is ready to get the install Openmoko.

Now we will install Openmoko in a directory by downloading the MokeMakefile in it and build it.

  • Create a directory and go into the directory:
   mkdir openmoko
   cd openmoko
  • Get the MokoMakefile:
   wget http://www.rwhitby.net/files/openmoko/Makefile
  • Make the MokoMakefile and tell it, you want to install it for qemu:
   make qemu

This will download the necessarily files of the latest release and build them following the MokoMakefile. After that it will start into the emulator for the first time. Voila you have now successfully installed openmoko onto your ubuntu system.

Help with running Openmoko in Qemu

If Openmoko is not already running in Qemu, you can start it by:

  • Open your terminal (Applications->Accessories->Terminal).
  • Go to the directory:
   cd openmoko
  • starting with the MokoMakefile
   make run-qemu

The first screen of Openmoko will show a nice picture of the Openmoko logo which will be followed almost immediately by the BOOT MENU, this is done by the bootloader.

In the BOOT MENU you can choose different options. To select an option you have to press enter (=aux) and to execute it, hit space (=power). The default selection will boot Openmoko. Thus if the BOOT MENU shows, you just have to hit the space bar and the phone software will load.

While booting Openmoko the progress will be shown in text mode. Depending on your computer's performance it might take a while (some minutes even) to complete the boot. When complete you will see the graphical interface as will be shown on the phone itself (but slightly larger due to the larger pixelsize of your screen).

A few pointers on using Openmoko:

  • You can select the icon that looks like "+" for a list of applications you can run.
  • You can select the icon that looks like "three gears" for a list of applications that are running now. Here you can also terminate unwanted applications when you are unable to do so from within the application itself.
  • You can select the icon that looks like a "house" to get back to the first home screen.
  • The statusbar at the top is always shown and by clicking on the top-left corner you can switch to another application that is already running. The "Home" application is always running and clicking on it will bring you back to the home screen.

See Qemu for more advanced information on running Openmoko in Qemu.

Installing ipk packages

First you need a xxx.ipk package, see toolchain on how to compile an application for the ARM CPU and create the package.

Note that if at this point you have the Openmoko Qemu running, it is probably wise to terminate it first. Then you can install the xxx.ipk package for access by the Qemu emulator with:

cd openmoko
mkdir -p build/tmp/deploy/glibc/ipk/a
cp xxx.ipk build/tmp/deploy/glibc/ipk/a/xxx_a.ipk
make qemu-copy-package-xxx

Note: for some reason qemu-copy-package-xxx looks for above source file. Maybe this part can be improved, or a different command can overcome the problem of creating this directory.

When above make command was succesful the next time you start Openmoko Qemu, you still need to make the installed application available in the application list. For this you can select from within Openmoko the terminal application (Select icon that looks like "+" for the list of available applicaitons, select "Applications" and select the "Terminal"). In this terminal double-click, so you can type in the commands:

opkg install /media/mmcblk0/xxx_a.ipk
exit

After the "exit" command you should return to the Task list, in which the newly added application should be listed under a name which was choosen when building the ipk package.

Update Openmoko

  • Open your terminal (Applications->Accessories->Terminal).
  • Go to the directory:
   cd openmoko
  • Update with the MokoMakefile
   make qemu

Extra

Create a menu item for openmoko

cd ~/openmoko gedit moko.sh

add the following

  1. !/bin/bash

cd ~/openmoko make run-qemu

then run chmod +x moko.sh alacarte

and add a menu item with the following values Name: Openmoko Command: ~/openmoko/moko.sh

Problems

If you have any problems, just add it here

After issuing the command 'make qemu' in Gutsy, the installation eventually borks with

   make[2]: Leaving directory `/usr/local/src/openmoko/build/qemu/arm-softmmu'
   make[1]: Leaving directory `/usr/local/src/openmoko/build/qemu'
   [ -e images/openmoko ] || mkdir -p images/openmoko
   ln -sf `pwd`/openmoko/trunk/src/host/qemu-neo1973/openmoko/env images/openmoko/env
   ( cd images && ../openmoko/trunk/src/host/qemu-neo1973/openmoko/download.sh )
       Retrieving available builds list...
       Kernel is... not found
   make: *** [download-images] Error 255

BioGeek 02:03, 27 March 2008 (CET)

Do you still have the problem?

Dolfje 20:54, 9 April 2008 (CEST)

Personal tools

This is a tutorial for getting an emulation environment on an Ubuntu system. For other systems see the Installation guide

Installation

You have to know that there is a great tool to get it running on a linux system, namely the MokoMakefile. This is a sort of wrapper round several instructions, so it is easy to set up and maintain a development environment. If you build the whole MokoMakefile, you will need approximately 12GB, a swap+ram memory of about 1GB and minimum 5 hours time. But we will only build it for Qemu (the emulator that I will use) and that needs (on my system) only 890mb and a 15 min of your time.

To get it running, you will have to tweak your ubuntu a little bit (This will not damage other programs, everything will work as before).

  • Open your terminal (Applications->Accessories->Terminal).
  • Enter following command and select NO when it asks to install dash as /bin/sh (You will have to enter your password)
   sudo dpkg-reconfigure dash
  • Install the needed programs (You will have to enter your password):
   sudo apt-get install monotone git-core cogito python-dev ccache m4 sed bison make cvs gawk libc6-dev g++ subversion sharutils docbook openjade quilt libmpfr-dev libpcre3-dev texinfo texi2html libboost-date-time-dev libboost-filesystem-dev libboost-regex-dev libboost-test-dev libboost-dev zlib1g-dev build-essential dh-make debhelper devscripts gcc-3.4 lynx netpbm libsdl1.2-dev dosfstools help2man python-psyco lynx

Voila your system is ready to get the install Openmoko.

Now we will install Openmoko in a directory by downloading the MokeMakefile in it and build it.

  • Create a directory and go into the directory:
   mkdir openmoko
   cd openmoko
  • Get the MokoMakefile:
   wget http://www.rwhitby.net/files/openmoko/Makefile
  • Make the MokoMakefile and tell it, you want to install it for qemu:
   make qemu

This will download the necessarily files of the latest release and build them following the MokoMakefile. After that it will start into the emulator for the first time. Voila you have now successfully installed openmoko onto your ubuntu system.

Help with running Openmoko in Qemu

If Openmoko is not already running in Qemu, you can start it by:

  • Open your terminal (Applications->Accessories->Terminal).
  • Go to the directory:
   cd openmoko
  • starting with the MokoMakefile
   make run-qemu

The first screen of Openmoko will show a nice picture of the Openmoko logo which will be followed almost immediately by the BOOT MENU, this is done by the bootloader.

In the BOOT MENU you can choose different options. To select an option you have to press enter (=aux) and to execute it, hit space (=power). The default selection will boot Openmoko. Thus if the BOOT MENU shows, you just have to hit the space bar and the phone software will load.

While booting Openmoko the progress will be shown in text mode. Depending on your computer's performance it might take a while (some minutes even) to complete the boot. When complete you will see the graphical interface as will be shown on the phone itself (but slightly larger due to the larger pixelsize of your screen).

A few pointers on using Openmoko:

  • You can select the icon that looks like "+" for a list of applications you can run.
  • You can select the icon that looks like "three gears" for a list of applications that are running now. Here you can also terminate unwanted applications when you are unable to do so from within the application itself.
  • You can select the icon that looks like a "house" to get back to the first home screen.
  • The statusbar at the top is always shown and by clicking on the top-left corner you can switch to another application that is already running. The "Home" application is always running and clicking on it will bring you back to the home screen.

See Qemu for more advanced information on running Openmoko in Qemu.

Installing ipk packages

First you need a xxx.ipk package, see toolchain on how to compile an application for the ARM CPU and create the package.

Note that if at this point you have the Openmoko Qemu running, it is probably wise to terminate it first. Then you can install the xxx.ipk package for access by the Qemu emulator with:

cd openmoko
mkdir -p build/tmp/deploy/glibc/ipk/a
cp xxx.ipk build/tmp/deploy/glibc/ipk/a/xxx_a.ipk
make qemu-copy-package-xxx

Note: for some reason qemu-copy-package-xxx looks for above source file. Maybe this part can be improved, or a different command can overcome the problem of creating this directory.

When above make command was succesful the next time you start Openmoko Qemu, you still need to make the installed application available in the application list. For this you can select from within Openmoko the terminal application (Select icon that looks like "+" for the list of available applicaitons, select "Applications" and select the "Terminal"). In this terminal double-click, so you can type in the commands:

opkg install /media/mmcblk0/xxx_a.ipk
exit

After the "exit" command you should return to the Task list, in which the newly added application should be listed under a name which was choosen when building the ipk package.

Update Openmoko

  • Open your terminal (Applications->Accessories->Terminal).
  • Go to the directory:
   cd openmoko
  • Update with the MokoMakefile
   make qemu

Extra

Create a menu item for openmoko

cd ~/openmoko gedit moko.sh

add the following

  1. !/bin/bash

cd ~/openmoko make run-qemu

then run chmod +x moko.sh alacarte

and add a menu item with the following values Name: Openmoko Command: ~/openmoko/moko.sh

Problems

If you have any problems, just add it here

After issuing the command 'make qemu' in Gutsy, the installation eventually borks with

   make[2]: Leaving directory `/usr/local/src/openmoko/build/qemu/arm-softmmu'
   make[1]: Leaving directory `/usr/local/src/openmoko/build/qemu'
   [ -e images/openmoko ] || mkdir -p images/openmoko
   ln -sf `pwd`/openmoko/trunk/src/host/qemu-neo1973/openmoko/env images/openmoko/env
   ( cd images && ../openmoko/trunk/src/host/qemu-neo1973/openmoko/download.sh )
       Retrieving available builds list...
       Kernel is... not found
   make: *** [download-images] Error 255

BioGeek 02:03, 27 March 2008 (CET)

Do you still have the problem?

Dolfje 20:54, 9 April 2008 (CEST)