Maemo

From openSUSE

(Difference between revisions)
Revision as of 14:11, 16 November 2007
Hmacht (Talk | contribs)
Project Ideas
� Previous diff
Revision as of 14:17, 16 November 2007
Thoenig (Talk | contribs)
Installation
Next diff →
Line 15: Line 15:
=== Installation === === Installation ===
-To install the scratchbox environment download [http://tablets-dev.nokia.com/4.0/maemo-scratchbox-install_4.0.sh maemo-scratchbox-install_4.0.sh] and run it as root.+Just launch a terminal, become root and run <tt>install-maemo-sdk-4.0.sh</tt>. Example:
-Follow the instructions after the script has installed the necessary files.+<pre>
 +thoenig@zimtstern:~> su - root
 +root@zimtern:~> wget --quiet http://www.nouse.net/install-maemo-sdk-4.0.sh; sh install-maemo-sdk-4.0.sh thoenig
 +</pre>
-After that you need to install the Maemo 4.0 SDK into the scratchbox environment. For that download and run the script [http://tablets-dev.nokia.com/4.0/maemo-sdk-install_4.0.sh maemo-sdk-install_4.0.sh].+The script will install everything automatically.
- +
-Once accomplished, the SDK is installed.+
=== Running the SDK === === Running the SDK ===

Revision as of 14:17, 16 November 2007

Maemo is a Linux-based development platform for handheld devices. It is used by the Nokia 770 Internet Tablet, and its successors, the Nokia N800 and N810.

This page gives an overview on how to use and develop Maemo software on the openSUSE platform.

Contents

Installing the Maemo SDK

OS2008 (Maemo 4.0 Codename "Chinook") Supported devices: Nokia N800 and Nokia N810

Nokia has published detailed installation instructions for the Maemo 4.0 Chinook SDK. The SDK basically consists of two parts

  • Scratchbox Environment
  • Maemo 4.0 SDK

Installation

Just launch a terminal, become root and run install-maemo-sdk-4.0.sh. Example:

thoenig@zimtstern:~> su - root
root@zimtern:~> wget --quiet http://www.nouse.net/install-maemo-sdk-4.0.sh; sh install-maemo-sdk-4.0.sh thoenig

The script will install everything automatically.

Running the SDK

Make sure that you have the package xorg-x11-server-extra installed on your openSUSE system. This package contains the Xephyr X server (similar to Xnest, but supports newer X extensions).

In your X session start Xephyr:

  • Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac

Now open a terminal, and "start" the scratchbox (with root privileges):

  • sudo /scratchbox/sbin/sbox_ctl start

After that, run the following command as regular user:

  • /scratchbox/login

If this is done, please run the following within the scratchbox environment:

  • export DISPLAY=:2
  • af-sb-init.sh start

Watch Xephyr, it now should show the running Maemo.

Creating Maemo packages on openSUSE

First steps

Once inside scratchbox, you have to build targets available. CHINOOK_X86 and CHINOOK_ARMEL. Switch targets with 'sb-conf select <target>. Additionally, you have most of the well known development tools like cvs or subversion available. Just checkout, compile, adjust and build:

$ dpkg-buildpackage -rfakeroot

You can even edit files from outside your scratchbox, so that you can use your favourite editor. The home directory inside scratchbox can be found at /scratchbox/users/<user>/home/<user> from outside.

Debian specific tools

dput
dput is needed to upload packages to a debian repository. It is broadminded provided by the openSUSE Buildservice
debsign
Used to sign packages before uploading. It is included in the devscripts debian package. Just download the tarball containing debsign and copy it to your favourite place (e.g. ~/bin/debsign). It can be used without dependencies.

Project Ideas

Running openSUSE on the N800/N810

Would this be feasible and sensible?

APT Cheat Sheet

It's no wonder that some openSUSE developers might not be familiar with apt-get and related tools. So here's a small Cheat Sheet to give you a starting point about the most frequent used commands.

/etc/apt/sources.list
File listing the installation repositories. A list of available repositories can be found here.
apt-get update
Update the package database. Similar to smart update
apt-get install <package>
Install a package. Similar to smart install <name>
apt-cache search <name>
Search for packages by name. Similar to smart search <name>
dpkg -L <package>
List the files belonging to a package.
dpkg -S <filename>
Find packages containing a file.

Misc