Copyright (C) 2008 Nokia Corporation All rights reserved. RELEASE INFORMATION Project: maemo SDK+ Version: BETA-1 Baseline: baseline neutral Date: 2008-06-19 GENERAL INFORMATION =================== This is maemo SDK+ BETA-1 release. This release contains only the core SDK components and required tools that are needed to do software development for Nokia Internet Tablets. TARGET AUDIENCE =============== This BETA-1 release is targeted to maemo developers. WHAT IS NEW IN THIS RELEASE =========================== * Scratchbox2 1.9.0.24-lta16 version upgrade. SB2 with latest patches. - Dpkg build dependency checking fix. - Use mode specific specs files for gcc fix. - Wrapper added for debconf2po-update. - Glob and Glob64 fix. - Dpkg build target architecture tag fixes. - Updates to maemo mapping modes (several patches). - Reduced unnecessary logger patch. - Several other fixes and clean ups. * Q-Emu 0.9.1 (SB2 version with patches) - Based on latest Q-Emu branch * The core maemo-sdk 0.9.0 package with maemo-rootstrap and other updates to the maemo-sdk scripts. - Updates to the content of the maemo build tools distribution - Error checking added to maemo-rootstrap when build environment has not yet been installed. * Updated documentation that reflects the changes in the scripts and environment. WHAT IS MAEMO SDK+ ? ==================== Maemo SDK+ BETA-1 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 m ix 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 Chinook or maemo Bora 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+ BETA-1 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. - GCC toolchains: 4.2.1 and 3.4.4 are both included. Gnu Compiler Collection ARM cross-compilation toolchain. Mandatory to do cross-compilations. - QEMU v 0.9.1: included. QEMU is used in user-mode emulation mode to run ARM-binaries during compilation and package building stage. Part of CPU-transparency support. - Anjuta IDE maemo plugin: included. Requires Anjuta IDE v2.3.0. This includes maemo code skeleton that provides lots of ready code to start maemo application development. - 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). - Remote screen mirroring from Tablet to Host using native X11 protocol (X11 is faster than using VNC). - MAEMO-ROOTSTRAP manager to manage installation and configuration of maemo rootstraps. - MAEMO-TOOLS manager to manage build tools distribution. - MAEMO-SDK-TABLET: included. Helper utility for developers to set/unset various parameters. Note: this release does not contain any rootstraps. SOFTWARE REQUIREMENTS ===================== This release was tested on Ubuntu Gutsy Server Linux distribution, 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 =========================== - Only ARM-target compilation is supported. - Limited X86 runtime support. Getting af-sb-init.sh running requires still a lot of manual work like creating directories and patching rootstrap /etc files. - 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. - Limited support when debugging ARM-binaries with gdb in ARM-rootstrap environment (some binaries may not be possible to debug). - This Beta-1 is only available for Ubunty Gutsy and Hardy. 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