Maemo

From openSUSE

(Difference between revisions)
Revision as of 10:44, 22 July 2008
Hmacht (Talk | contribs)
Installation
� Previous diff
Revision as of 10:45, 22 July 2008
Hmacht (Talk | contribs)
Installation
Next diff →
Line 26: Line 26:
<pre> <pre>
-root@zimtstern:~> linux32 sh install-maemo-sdk-4.0.sh user+root@zimtstern:~> linux32 sh install-maemo-sdk-4.0.sh -u user -s /scratchbox
</pre> </pre>

Revision as of 10:45, 22 July 2008

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:

user@zimtstern:~> su - root
root@zimtstern:~> wget --quiet http://www.nouse.net/install-maemo-sdk-4.0.sh
root@zimtstern:~> sh install-maemo-sdk-4.0.sh -u user -s /scratchbox

If you are running the x86_64 version of openSUSE, replace the last line with:

root@zimtstern:~> linux32 sh install-maemo-sdk-4.0.sh -u user -s /scratchbox

The script will install everything automatically. Replace the parameter user with your own login.

Note: It seems the file names have changed; the script needs some editing (http://repository.maemo.org/stable/chinook/ currently has versions 4.0.1 instead of 4.0).

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, 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 two 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 such as cvs or subversion available. Just checkout, compile, adjust and build:

$ dpkg-buildpackage -rfakeroot

You can even edit files from outside your scratchbox, this was 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.
dpkg-query -W --showformat='${Installed-Size;10}\t${Package}\n' | sort -k1,1n
List packages by size (reverse)

Ad Blocking (OS2008/microb)

Ad blocking with the ABP browser addon is a pain as it slows down the browser. Here's another approach which blocks most ads and does not drain down the ressources:

That's all.

Misc