Alternative way to generate .deb packages for Maemo

Thanks to Mohammed Hassan now I know an alternative (alternative to the official howto) way to generate a .deb package for Maemo.

If the package already exist in the Debian repositories, you can get the .dsc file (for example in an ftp like this: http://ftp.debian.org/debian/pool/non-free/s/spim/ ) and execute the following commands:

dget -x DSC_FILE_URL

It will download the package and will unpack it in the current folder. You have to enter in the created folder and edit the debian/* files to personalize settings, mantainer data, add deps ecc…

When you’re done, you can generate the package with the usual command:

dpkg-buildpackage -rfakeroot

The UNOFFICIAL way to get Os2008 into Nokia N800

Since Os2008 for N810 is out, a lot of people were asking about the possibility to install it on their N800. Nokia will relase Os2008 for N800 too, but at the moment they don’t offer the possibility to download it since the N810 firmware it’s not 100% compatible with the old N800.

The only way to download a Nokia tablet firmware is being the owner of a tablet. The user has to enter it’s own MAC-address to be able to download the file. To download a N810 firmware you need to have a valid N810 MAC-address.

A post on News.com describes the exact procedure to follow if you want to try this in your N800:

  1. Go to the N810 software download page.
  2. Enter the serial number for a valid N810 device. To get one of these, pick any number between 001d6e9c0000 to 001d6e9cffff. Pick any random 4 digits (between 0-9 and a-f hex) as the last 4 digits.
  3. Download the file named RX-44_2008SE_1.2007.42-18_PR_COMBINED_MR0_ARM.bin
  4. Download the latest firmware-upgrading software, “flasher-3.0”.
  5. Now that you have the firmware flasher and the 2008 N800 software update in the same directory, open up a terminal (on a Linux desktop/laptop), and type:chmod a+x ./flasher-3.0
    ./flasher-3.0 -u -F RX-44_2008SE_1.2007.42-18_PR_COMBINED_MR0_ARM.bin
  6. That will unpack the software, and it may take a few seconds. Once that is done, plug the N800 into your computer, using the included USB cable, then reboot the Nokia device while holding the home button. Now execute the following commands: sudo ./flasher-3.0 --enable-rd-mode
    sudo ./flasher-3.0 -k zImage -f
    sudo ./flasher-3.0 -n initfs.jffs2 -f
    sudo ./flasher-3.0 -r rootfs.jffs2 -f -R
  7. That should be it. Your device should now boot up with the new 2008 version of the Nokia Maemo operating system.

Note: Nokia DOESN’T SUPPORT this procedure in ANY way. You can follow this procedure at your own risk. Neither me or Nokia have the responsability of any damage caused to your device.

Installing qemu-arm-eabi patch into Scratchbox

Using Scratchbox and in particular the Maemo SDK with ARMEL target, very often when we try to execute some application we can get into this kind of errors (for example):

sem_post: Function not implemented

This happens because not all the functions have been implemented in the emulated environment. Lauro VenĂ¢ncio has created a patched version of qemu-arm called qemu-arm-eabi.

Thanks to Marcelo Lira, we have a simple howto to install the patch into the Scratchbox environment. Note: you have to execute these commands from outside the Scratchbox environment and you should not be logged into the environment at the same time.

1. You need gcc 3.4, SDL dev library and Zlib dev:

sudo apt-get install gcc-3.4 libsdl1.2-dev zlib1g-dev

2. Get the patched qemu-arm. Notice that the patches are already applied, everything is here, and you don’t need to get the qemu sources.


svn co https://qemu-arm-eabi.svn.sourceforge.net/svnroot/qemu-arm-eabi qemu-arm-eabi
cd qemu-arm-eabi
./configure --target-list=arm-linux-user --static
make

3. Copy qemu to the cputransp dir on scratchbox

sudo cp arm-linux-user/qemu-arm /scratchbox/devkits/cputransp/bin/qemu-arm-eabi-sb2

4. Add it to the list of cputransp methods. Open the file

sudo vim /scratchbox/devkits/cputransp/etc/cputransp-methods

and add this line:

qemu-arm-eabi-sb2

5. Configure the target to use the patched qemu as transparency method. Edit the file:

vim /scratchbox/users/USERNAME/targets/CHINOOK_ARMEL.config

and change this line:

SBOX_CPUTRANSPARENCY_METHOD=/scratchbox/devkits/cputransp/bin/qemu-arm-eabi-sb2

That’s all! You’re now ready to log again into your Scratchbox environment.

Upgrading Maemo SDK 4 Beta to Maemo SDK 4 final release

The final version of Maemo SDK 4 is out. Like most other people I couldn’t wait for the final release and I installed the beta version. The big question, when I did read about the final version was “how can I upgrade to the final version without installing it from scratch?!”. Luckly one kind person helped me on maemo-developer mailing list, and suggested me to do a dist-upgrade from inside the Scratchbox environment. So, login into tour Scratchbox environment and execute this:

[sbox-SDK_BETA_X86: ~] > fakeroot apt-get update
[sbox-SDK_BETA_X86: ~] > fakeroot apt-get dist-upgrade

That’s all! I don’t know if this is the official method to do the upgrade, but it worked for me. I checked, after the upgrade, if I had the right packages installed, using this page: http://tablets-dev.nokia.com/4.0/4.0b_vs_4.0_content_comparison.html
and they were right.