Meego Wiki
Views
From MeeGo wiki
Revision as of 14:40, 10 December 2011 by Vgrade (Talk | contribs)
Jump to: navigation, search

Contents

Dual booting Nokia N950 with "dualbooter"

DISCLAIMER: These instructions and the dualbooter binary are untested and highly experimental software! Use at you own risk - targeted for hacker/developer use only! You will void the warranty (if any) of you device if you follow this procedure! The instructions are for Linux only! You may not be able to re-install Harmattan to it's original state. And, you may lose all your data in the device! Or, in the worst you may completely brick the device (i.e. rendering it totally irreparable/unusable)!

WARNING: After following these instructions Harmattan will run in "open mode", i.e. security is disabled and some functionality may be missing.

WARNING-2: Dualbooter has no battery management (charging support). Thus, be sure to have full battery whenever writing new OS via USB mass storage (or basically doing anything when the dualbooter is running).

Functionality

Dualbooter is a simple bootloader that uses kexec to boot the final OS. It has very basic functionality and no display output, at the moment. The user basically gets no indication what is going on when dualbooter is running.

The following functionality is currently provided:

  • exports the internal eMMC as a USB mass storage device, if USB cable is connected at boot time
  • boots to Alternative OS, IF:
    • a fourth eMMC partition is found on the eMMC, AND
    • /boot/bzImage is found there (and optionally /boot/cmdline and/or /boot/initrd)
  • boots to Harmattan IF:
    • no fourth partition is found, OR
    • no /boot/bzImage is found under the fourth partition, OR
    • either volume key is pressed (continuously) during the boot

Pre-requisites

Installing dualbooter (Linux)

First, just unpack the dualbooter rpm to get the binaries.

 $ rpm2cpio ../nokia-n950-dualbooter-0.2-1.2.Nemo.Adaptation.N950.N9.armv7hl.rpm |cpio -id

Now, you will find three files under the ./boot directory:

  • vmlinuz-dualbooter-n950 - dualbooter kernel
  • initrd-dualbooter-n950 - dualbooter initrd
  • dualbooter-n950.img - combined flashable image


Just try it (without flashing)

With this method you can just try the dualbooter, without actually flashing anything to the NAND flash of the device. This doesn't guarantee that you don't destroy your device, though.

  • Turn off your device
  • Run:
 $ flasher -k vmlinuz-dualbooter-n950 -n initrd-dualbooter-n950 -l -b
  • Connect USB cable
  • The device should show a disclaimer screen and boot to 'dualbooter'

Flash dualbooter to NAND

You need to grab the moslo binary from http://tablets-dev.nokia.com/moslo.php, in order to flash.

  • Turn off your device
  • Run:
 $ flasher -a moslo-rootfs-1.2011.34-2_RM680-OEM1-916_0.0.13-12.1.bin -L dualbooter-n950.img -f -R
  • Connect USB cable
  • The device is flashed and rebooted to 'dualbooter'

Removing the dualbooter binary (if you have flashed dualbooter)

  • Create empty file
 $ touch empty.img
  • Flash the empty file
 $ flasher -a moslo-rootfs-1.2011.34-2_RM680-OEM1-916_0.0.13-12.1.bin -L empty.img -f -R
  • If the flashing succeeds, dualbooter is removed and the device should boot to Harmattan

Using

DISCLAIMER: The following instructions are cursory and for highly skilled users only! You can VERY easily mess up your device!!!

You can create a fourth eMMC partition for an alternative OS (e.g. Nemo mobile) by booting with USB cable connected: shring the 1st (vfat) partition (e.g. with parted), create a new (4th) partition and make a filesystem there with mkfs.ext4. After that you can mount the partition and untar the 2ndary rootfs there. Be sure to have a /boot/bzImage link pointing to the kernel binary (and possibly a /boot/cmdline link pointing to a file containing the correct kernel cmdline).

When rebooting you can choose between Harmattan (press volume key) and the Alternative OS (just wait).

You can remove the Alternative OS completely by deleting the 4th partition and resizing the 1st partition to its original size (with parted, for example).


Dual booting with modified MOSLO

DISCLAIMER: These instructions and the modified MOSLO are untested and highly experimental software! Use at you own risk - targeted for hacker/developer use only! You will void the warranty (if any) of you device if you follow this procedure! The instructions are for Linux only! You may not be able to re-install Harmattan to it's original state. And, you may lose all your data in the device! Or, in the worst you may completely brick the device (i.e. rendering it totally irreparable/unusable)!

Pre-requisites

Installing modified MOSLO (Linux)

First, just unpack the moslo rpm to get the binaries.

 $ rpm2cpio moslo-0.0.13.1-2.1.Nemo.Adaptation.N950.N9.armv7hl.rpm |cpio -id

Now, you will find three files under the ./usr/share/moslo directory:

  • zImage-moslo - moslo kernel
  • initrd-moslo - moslo initrd
  • moslo.img - combined flashable image

Try without flashing to NAND

With this method you can try MOSLO without actually flashing anything to the NAND flash of the device. Even this method re-partitions the eMMC of the device, though!!!

  • Turn off your device
  • Run:
 $ flasher -k zImage-moslo -n initrd-moslo -l -b
  • Connect USB cable
  • The device should show a disclaimer screen and boot to MOSLO
  • If you keep your USB cable connected, moslo will try to repartition the (internal) eMMC of your device for the Alternative OS

Flash modified MOSLO to NAND

You need to grab the original MOSLO binary from http://tablets-dev.nokia.com/moslo.php, in order to be able to flash.

  • Turn off your device
  • Run:
 $ flasher -a moslo-rootfs-1.2011.34-2_RM680-OEM1-916_0.0.13-12.1.bin -L moslo.img -f -R
  • Connect USB cable
  • The device is flashed and rebooted to the modified MOSLO

Results from 16GB N9 at http://pastie.org/2995880

flasher -F 059K755\DFL61_HARMATTAN_20.2011.40-4_PR_LEGACY_009-OEM1-958_ARM.bin -f --no-preserve 

Recovered to a booting N9 - vgrade

Personal tools