I was looking in the Italian Nokia official shop, and I noticed that the N800 price was decreased to 259 € instead of 289 € You can verify it on the official website.Maybe the N810 is coming closer? Who knows ;)
Maemo: the open source development platform for Nokia Internet Tablets.
I was looking in the Italian Nokia official shop, and I noticed that the N800 price was decreased to 259 € instead of 289 € You can verify it on the official website.Maemo is an opensource development platform for Linux based devices. Actually is the base for the operating system installed on Nokia N770, N800 and the upcoming N810 but it could be adopted, with few changes, even by other similar devices.
In particular, this version of Maemo SDK is the only one that allow developers to develop new applications for N810 and to start porting old application to this new platform.
The SDK is not only a set of libraries and compiler, it gives you a real environment that emulates the Nokia device, so the developer can write applications, debug them and test them. Both command line and gui application are supported in emulator.
Graphical environment is based on a real X server, a window manager and on GTK libraries, with a particular extension called Hildon.
With Maemo SDK you can:
These are the minimum requirements to work with Maemo SDK:
You need the following software packages:
Starting from 4.x version, Maemo has a simple installer script, so all you need are these two files:
The first tool you have to install is Scratchbox. I suggest you to use the script provided but you could choose also to install it manually (in this case please refer to [this site] for detailed instructions).
Before beginning the installation of Scratchbox, you have to become root.
First of all set the permission of the script file:
chmod +x maemo-scratchbox-install_4.0beta.sh
Then run it with these parameters:
./maemo-scratchbox-install_4.0beta.sh -d -u andy80
Please note that -d tells the installer to install from Debian dpkg packages while -u specifies your username (in my case is andy80, you have to change it using your local username).
Scratchbox environment will be installed in /scratchbox/
Please note that you'll have to logout and login again to be able to log into you new Scratchbox environment. To test it you simply have to start Scratchbox from your local user:
andy80@noteboontu:~/download/maemo_4.0_beta$ /scratchbox/login
Welcome to Scratchbox, the cross-compilation toolkit!
Use 'sb-menu' to change your compilation target.
See /scratchbox/doc/ for documentation.
[sbox-SDK_BETA_ARMEL: ~] >
When Scratchbox is correctly installed on your system, you can install the Maemo SDK. Please note that you have to do it from normal user (the user you specified in the installation of Scratchbox).
Simply run this command and follow instructions:
bash maemo-sdk-install_4.0beta.sh
At the end you should get this message:
Installation was successful!
----------------------------
IMPORTANT! Please read this.
You now have the maemo 4.0beta 'chinook' installed on your computer.
You can now start your maemo SDK session with /scratchbox/login and
then select your target with 'sb-conf select SDK_BETA_ARMEL' for the
armel target or 'sb-conf select SDK_BETA_X86' for the i386 target.
If you have any problems with targets' package databases, you can try
running 'fakeroot apt-get -f install' on your scratchbox target.
This command will try to fix any problems with the package database.
Happy hacking!
Xephyr is an X11 server that provides a device screen for the developer so that you can see all the maemo application windows and visuals on your computer.
To install it in a Debian based distribution, simply execute this (from root):
apt-get install xserver-xephyr
To see if all works fine, you should start Xephyr and Maemo environment. Execute this from outside the Scratchbox environment:
Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -extension Composite
Now, from another shell, log into Scratchbox and execute this:
[sbox-SDK_BETA_X86:~] > export DISPLAY=:2
[sbox-SDK_BETA_X86:~] > af-sb-init.sh start
This should start the Hildon Application Framework inside the Xephyr window. That's all!
Here you can find a list of website where I took information from to write this guide:
Maemo is an opensource development platform for Linux based devices. Actually is the base of the operating system installed on Nokia 770 and 800, but it could be adopted, with few changes, even by other similar devices.
The SDK is not only a set of libraries and compiler, it gives you a real environment that emulates the Nokia device, so the developer can write applications, debug them and test them. Both command line and gui application are supported in emulator.
Graphical environment is based on a real X server, a window manager and on GTK libraries, with a particular extension called Hildon.
With Maemo SDK you can:
These are the minimum requirements to work with Maemo SDK:
You need the following software packages:
The whole toolchain has been tested with particular versions of those two software, so you're suggested to use these packages:
Before you begin to install the SDK you need to become root on your machine and change the working directory to / before extracting files. To install Scratchbox you need to extract in / these packages:
su -
cd /
tar xfvz scratchbox-core-1.0.7-i386.tar.gz
tar xfvz scratchbox-devkit-debian-1.0.6-i386.tar.gz
tar xfvz scratchbox-libs-1.0.7-i386.tar.gz
tar xfvz scratchbox-toolchain-cs2005q3.2-glibc-arm-1.0.5-i386.tar.gz
tar xfvz scratchbox-toolchain-cs2005q3.2-glibc-i386-1.0.5-i386.tar.gz
tar xfvz scratchbox-devkit-cputransp-1.0.1-i386.tar.gz
Note: you don't have to extract the two Maemo_Dev* files. It will be explained later how to install them.
First of all you have to execute the initialization script:
root@notebuntu:/# /scratchbox/run_me_first.sh
Do you want to use sudo mode? [yes/no] (no):
Give the name of the scratchbox group (sbox):
The group 'sbox' does not seem to exist!
Would you like me to create the group 'sbox' for you? [yes/no] (yes):
Creating group "sbox"...
Stopping Scratchbox: umount, binfmt_misc.
Starting Scratchbox: binfmt_misc, mount.
Now you should add one or more users with /scratchbox/sbin/sbox_adduser
At this point you have to add your own user to Scratchbox, using this command:
/scratchbox/sbin/sbox_adduser username
where username is your user on Linux machine. It's ok if you leave the default values:
root@blackbull:/# /scratchbox/sbin/sbox_adduser andy80
Add user andy80 to group 'sbox'? [yes/no] (yes):
Adding user `andy80' to group `sbox' ...
Done.
Scratchbox user account for user andy80 added
Note: it's possible you have to logout from the current session and login again after you modify permissions/groups to make changes effective.
Scratchbox installation is complete. Open a terminal window on your Linux machine using your user and login inside Scratchbox with this command:
andy80@notebuntu:~$ /scratchbox/login
You dont have active target in scratchbox chroot.
Please create one by running "sb-menu" before continuing
Welcome to Scratchbox, the cross-compilation toolkit!
Use 'sb-menu' to change your compilation target.
See /scratchbox/doc/ for documentation.
sb-conf: No current target
[sbox-: ~] >
After you have logged into Scratchbox you have to create the file .bash_profile using vim and entering these lines:
export LANGUAGE=en_GB
export PAGER=less
Logout from Scratchbox and create this symbolic link that will initialize Scratchbox when your machine starts:
ln -s /scratchbox/sbin/sbox_ctl /etc/rc2.d/S20scratchbox
First of all you have to copy the rootstrap files into the /scratchbox/packages/ folder:
cp Maemo_Dev_Platform_v2.2_i386-rootstrap.tgz /scratchbox/packages/
cp Maemo_Dev_Platform_v2.2_armel-rootstrap.tgz /scratchbox/packages/
You have to do this outside from Scratchbox, without being logged into it. After you have copied these two files you have to login again into Scratchbox.
Latest version of Scratchbox has and utility called sb-menu that permits you to configure the available toolchains in a very easy way. These are the main functions available once you execute this utility:
To configure the i386 toolchain you need to do these simple steps:
To configure the armel toolchain you need to do these simple steps:
To run graphical applications written for Maemo you need to start a graphical interface and a mini X server that works as a box for our applications. We need Xephir to perform this job and it's already installed into Maemo rootstrap.
Per eseguirlo, occorre creare un file dall'esterno della Scratchbox, ovvero senza esserci loggati dentro. Il file deve chiamarsi start-xephyr.sh ed all'interno dobbiamo scriverci:
You need to create a script outside from Scratchbox called start-xephyr.sh, without being logged into it, and write these lines inside:
#!/bin/sh -e
prefix=/scratchbox/users/${LOGNAME}/targets/SDK_PC/usr
export LD_LIBRARY_PATH=${prefix}/lib; export LD_LIBRARY_PATH
exec ${prefix}/bin/Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac
Create this file inside the /scratchbox/ directory.
Give it the executable permission:
chmod +x start-xephyr.sh
To start it you have to execute this command outside from Scratchbox, without using your normal user:
/scratchbox/start-xephyr.sh &
you should see the Xephir window at this point.
Once Xephir is started, you have to start the Maemo graphical interface. Log into Scratchbox and execute these commands:
export DISPLAY=:2
af-sb-init.sh start
Maemo graphical interface should start. Now you can run graphical application and see them inside the Xephir window.
Note: first time you run it you could get errors about "Maemo Launcher". Restarting your PC these problems should disappear.
Here you can find a list of website where I took information from to write this guide: