Copyright (C) 2009 Nokia Corporation All rights reserved. RELEASE INFORMATION Project: maemo SDK+ Version: 1.0.0 Baseline: baseline neutral Date: 2009-05-25 GENERAL INFORMATION =================== This is maemo SDK+ 1.0 release. This release contains only the core SDK components and required tools that are needed to do software development for Nokia Internet Tablets. We recommend that you reinstall the rootstraps if you have used RC-5 or an earlier release. This release features a lot of fixes to Scratchbox 2 and enhancements to the maemo-sdk core itself. In addition, please, use export SBOX_REDIRECT_FORCE=/usr/bin/perl if you have problems with Perl libraries during package building. This is not a bug in the SDK but in the rootstraps. Also note that to run the runtime GUI you may have to set fixed color depth if your X server does not support the default depth. This is done with the following command: maemo-sdk set gui-bit-depth 24 Do this if the GUI crashes when you are starting it. TARGET AUDIENCE =============== This 1.0 release is targeted to maemo developers. WHAT IS NEW IN THIS RELEASE =========================== * Several host distributions supported: - Ubuntu Jaunty 9.04 / i386 - Ubuntu Intrepid Ibex 8.10 / i386 - Ubuntu Hardy Heron 8.04 / i386 - Ubuntu Gutsy Gibon 7.10 / i386 - Debian Lenny / i386 - Debian Etch / i386 * Scratchbox2 2.0 version upgrade. SB2 with latest patches. - Lot's of improvements, see http://cgit.freedesktop.org/sbox2/ * Q-Emu 0.10.0-maemo7 (SB2 version with patches) - Based on 0.10 Q-emu upstream version - Several bug fixes especially for runtime debugging. * The core maemo-sdk 1.0.0 package with maemo-sdk and other - Made it possible to install a rootstrap as a build environment. (not yet in use) * Updated documentation that reflects the changes in the scripts and environment. WHAT IS MAEMO SDK+ ? ==================== Maemo SDK+ provides an alternative way to do maemo application development. Unlike all previous maemo SDKs this release is based on Scratchbox-2 (=SB2) cross-compilation engine. The previous maemo SDKs were all based on Scratchbox-1 (=SB1). There are some differences between maemo SDK+ and other maemo SDKs. For example maemo SDK+ is not a "closed" development environment. You are working and developing in your native Linux PC (you could develop your maemo application under your ~/src/ directory if you like). In addition you can basically use any normal Linux tool or utility (as such) without the need to port it inside SB1 like in older releases. Maemo SDK+ is very small and compact compared to SDKs that are based on SB1. The reason for this is that the SB2 is using many tools that are already available in your host computer and there is no need to replicate the tool inside the SDK (like in SB1). Maemo SDK+ also introduces build tools distribution concept. You can set up a separate distribution to contain the specific build tools you want to use. By default, we use Debian Etch tools distribution. One of the benefits of maemo SDK+ is that you don't need to change targets, the same user can work in multiple targets at the same time (but it's better to work in separate source trees so that one does not by accident mix e.g. arm and x86 objects when building code). This release is "baseline neutral" which means that this maemo SDK+ is not targeted for any spesific Internet Tablet or OS200X release. NOTES ABOUT ROOTSTRAPS ====================== We don't ship rootstraps in this release even if these are still needed. Instead of shipping rootstraps we provide a small tool called "maemo-rootstrap" that you use to download, install and configure the rootstraps to your development machine. For further information please read the "Install.txt" and "User Guide" documents. DO I NEED TO UPGRADE TO MAEMO SDK+ ? ==================================== No. You can still continue to develop your application using the maemo Diablo or maemo Chinook SDKs. However, if you want to know how developing your application "outside of the box" feels like then you might want to try this release. Please note, that this is still a beta release and many services or functions are not yet "product level quality". Expect to have issues. In addition read carefully the "Known problems" chapter in this document. COMPONENTS ========== maemo SDK+ 1.0 contains the following components: - Scratchbox-2: included. Provides crosscompilation and debian package building with "dpkg-buildpackage" should work for most source packages for Bora or Chinook releases. - QEMU v 0.10.0-maemo7: included. QEMU is used in user-mode emulation mode to run ARM-binaries during compilation and package building stage. Part of CPU-transparency support. - SBRSH/SBRSHD: included. Supports Scratchbox Remote Shell that is used to provide CPU transparency functionality during crosscompilation. - SSHFS/FUSE: included. Supports mounting Pc filesystems from the Tablet (used to support CPU-transparency plus for other development purposes). - MAEMO-SDK tool to provide all in one. - MAEMO-ROOTSTRAP manager to manage installation and configuration of maemo rootstraps. This is used by maemo-sdk command and not intended to use direcly by developers. - MAEMO-TOOLS manager to manage build tools distribution. This is used by maemo-sdk command and not intended to use direcly by developers. - MAEMO-SDK-TABLET: included. Helper utility for developers to set/unset various parameters. This is used by maemo-sdk command and not intended to use direcly by developers. Note: this release does not contain any rootstraps. SOFTWARE REQUIREMENTS ===================== This release was tested on Ubuntu Server Linux distributions, but it is known to work also in Debian testing (Lenny) and Debian unstable (Sid). INSTALLATION INSTRUCTIONS ========================= Please see http://maemo-sdk.garage.maemo.org/install.html KNOWN ISSUES OR LIMITATIONS =========================== - During a software build you may get the following error message (while running ./configure): checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool If this occures, please, try: export SBOX_REDIRECT_FORCE=/usr/bin/perl And run the ./configure script again. This bug is in the rootstrap not in the maemo-sdk+ itself. - If Xephyr crashes when you try to start the runtime GUI, please, try with some other color depth settings than the default. The color depth to be used can be set with the following command: maemo-sdk set gui-bit-depth 24 The color depth 24 bits might be better supported than the rootstrap default color depth (which is most likely 16 bits). - If you use Fremantle ALPHA rootstraps with RC-5 you can not succesfully run command: $ sb2 -eR apt-get install maemo-sdk-runtime This will fail with error related to file "/usr/bin/scratchbox-launcher.sh" The problem is in SB1 compatibility mode that SB2 is providing. This problem is currently in the process of being fixed and fix will be included in the next release. - To remove maemo SDK+ installation completely, back up all your modifications under ~/.maemo-sdk if you have any (it is recommended not to keep any important work or data under this directory except components you can reinstall again). Then do to the following which removes all rootstraps and installed tools: $ sudo apt-get autoremove maemo-sdk $ rm -rf ~/.scratchbox2 $ rm -rf ~/.maemo-sdk $ sudo rm -rf /opt/maemo - Valgrind has to be run in 'maemo-sdk enter chroot' mode. Valgrid is supported for i386 rootstraps only and currently only command line applications can be debugged. - CPU-transparency (when using sbrsh) has limitations when requests from Pc to Tablet are coming too quickly. - When using sbrsh the Tablet must have the same user UID/GID than what is used in PC side. This is normally set automatically by maemo-device script but if the execution fails these must be set manually. - If you enable debugging option in sbrshd your /tmp directory may become full in a relatively short time. Restarting sbrshd is not possible if /tmp directory is full. RELEASE FEEDBACK ================ General feedback about this release can be send to: maemo-sdk-developers@garage.maemo.org maemo SDK+ related bug reports should be reported to the project Tracker service in: https://garage.maemo.org/projects/maemo-sdk --- END