Thursday, April 26, 2012

Guide how to boot Nemo Mobile on Galaxy Nexus GT-i9250

I promised to publish a small guide how to boot Nemo Mobile on your own Galaxy Nexus phone instead of the default android. Here is a small guide how to do so. The process it self is quite simple and should be relatively safe as well, as you do not need to flash anything to try it out (if you don't count the possibly needed unlocking/rooting the phone).

In this guide it is assumed that one has android tools, such as adb and fastboot installed, also Linux is assumed but it should work also on windows with minor modifications.

The phone used was unlocked/rooted before I tried this, so that might also be required for following these instructions.

First thing is to download all the needed files.

mkdir -p /tmp/gt-i9250/
pushd /tmp/gt-i9250/
wget http://sage.kapsi.fi/sagestechblog/gt-i9250/2012-04-26.1/nemo-handset-armv7l-gt-i9250.img.bz2
wget http://sage.kapsi.fi/sagestechblog/gt-i9250/2012-04-26.1/vmlinuz-3.0.8-12.1.Mer-gt-i9250
wget http://sage.kapsi.fi/sagestechblog/gt-i9250/2012-04-26.1/mer-ramdisk.cpio.gz

Then push the rootfs image to the nexus.

# Create directory from which ramdisk reads the images during boot.
adb shell mkdir /sdcard/rootfs-images/
# Push image to the device adb push nemo-handset-armv7l-gt-i9250.img.bz2 /sdcard/rootfs-images/
# Lets uncompress the image before using it.
adb shell bzip2 -d /sdcard/rootfs-images/nemo-handset-armv7l-gt-i9250.img.bz2

After this is done power off your phone and load the kernel and ramdisk with fastboot to your device

sudo -i fastboot boot /tmp/gt-i9250/vmlinuz-3.0.8-12.1.Mer-gt-i9250 /tmp/gt-i9250/mer-ramdisk.cpio.gz
popd

After this the device should boot to the MTF based UX home screen.

What works:
  • USB serial "jig" works, with the right cable.
  • Touchscreen works
  • Xorg starts with standard fbdev (no 3D acceleration)
What doesn't work with this given image:
  • Applications do not start as the -software flag isn't forwarded properly
  • No window manager / application switcher (requires 3D)
  • No 3D acceleration
  • No USB networking
  • No WLAN
  • No Bluetooth
  • ...
Short video of the boot:


Happy hacking everyone.

2 comments:

  1. when I type in terminal: "adb shell bzip2 -d /sdcard/rootfs-images/nemo-handset-armv7l-gt-i9250.img.bz2"
    it gives me: "/system/bin/sh: bzip2: not found"
    please help

    ReplyDelete
    Replies
    1. There are now better instructions available at https://wiki.merproject.org/wiki/Adaptations/libhybris/Install_SailfishOS_for_maguro which installs sailfishos to the maguro hardware.

      Delete