Ubiboot

Contents

Introduction

Ubiboot is a boot manager for N9(50) devices. Using the example configuration it is fairly easy to triple-boot the device between Harmattan/Nitdroid/Nemo Operating Systems, and change kernels at will.

Ubiboot is mainly aimed at developers and advanced users, so be warned. The procedures in this guide require understanding of the structure of an *nix filesystem and knowledge to work on a shell prompt (i.e. Terminal/Command Line).

Benefits of Ubiboot N9

  1. You can have multiple boot Operating Systems, each with multiple optional kernels on the device.
  2. Selecting the boot kernel is quick and easy with the graphical touchscreen menus.
  3. You will not need to flash the device to install and test a new kernel, just copying the kernel and modules to the device is enough.
  4. You have integrated repair/maintanance mode on the device, where you can export all partitions for backup/restore to a PC automatically.
  5. You can telnet to the device in maintanance mode, to do any desired repair operations.

Download Needed Files

Ubiboot Files

Find the latest versions at http://www.swagman.org/juice/ubiboot/ Files are also mirrored at http://juiceme.cloud-7.de/ubiboot/

  1. preinits.tar: this is a compressed file, like Zip (Windows users: use 7zip application). We will extract this later on once this is copied to the device.
  2. zImage_2.6.32.54-openmode_l2fix: this is used for flashing your device to “Open-Mode” (Windows users: save this in the same location as your flasher application and files...usually C:\Program Files\Nokia\Flasher).
  3. zImage-2.6.32.54-dfl61-20121301 from http://maemo.cloud-7.de/HARM/N9/1.3/openmode-kernel/: this is the “default” or “plain Open-Mode” kernel. Including this to your ubiboot-02 setup is optional.
  4. zImage_2.6.32.54-ubiboot-02_040613: this is used for flashing ubiboot to your device (Windows users: save this in the same location as your flasher application and files, usually C:\Program Files\Nokia\Flasher).
  5. ubiboot-02_040613.tar: this is a compressed file, like Zip. After downloading, extract the contents of this file (Windows users: use 7zip application). This compressed file contains 2 files that you will need to extract and copy to the “/home/user/MyDocs/boot” folder of your device (you should create the boot folder inside MyDocs before):
ubiboot.conf
ubiboot-02.menus.cpio

NITDroid Files

Find the latest versions at http://downloads.nitdroid.com/e-yes/n9/

  1. nitdroid_n9_jellybean_alpha5.tar.bz2: latest “Jelly Bean” version available as of this writing.
  2. apps2sd_fix_alpha5.tar.bz2: this fix allow apps to install into the sdcard.
  3. zImage: (recommended) this is the “new version” of zImage.pr13, which is tailored for use with ubiboot. IMPORTANT: Rename this to “zImage_e-yes_nitdroid+l2fix” (without the quotes).
  4. zImage.pr13: (not recommended) this was the latest zImage being used for dual-booting or multi-booting NITDroid before Ubiboot was published.

Nemo Files

Find the latest versions at http://releases.nemomobile.org/snapshots/images/

  1. nemo-armv7hl-n950-0.20130411.1.NEMO.2013-04-26.1.tar.bz2: this contains the actual Nemo OS image.
  2. moslo-0.0.13.2-1.5.Nemo.Adaptation.N9xx.armv7hl.rpm: this is the MOSLO file needed for flashing when installing Nemo. In the official Nemo Wiki, getting/downloading this file is done by a command in the Terminal, which is:
wget -r -l1 -nd --no-parent -Amoslo-0.*.rpm http://releases.nemomobile.org/snapshots/repos/hw/ti/omap3/n950-n9/latest/armv7hl/armv7hl/

Prepare the Device

Flash the device (for a fresh start/clean state)

TIP: aside from following the steps in the N9 Flashing Wiki, you may also do flashing plus enabling Open-Mode in one go, like so:


Flash your device with rootfs, omit the parameter "-R" (which means "reboot")

sudo flasher -F <yourmainfirmware.bin> -f

or

sudo flasher -F <yourmainfirmware.bin> -F <youremmc.bin> -f


Next, take care to directly flash the open mode kernel (do NOT boot up, nor pull USB cable, do not wait too long) with

sudo flasher -a <yourmainfirmware.bin> -k zImage_2.6.32.54-openmode_l2fix --flash-only=kernel -f -R

This way you should have an absolutely clean open mode device (all credits to jonni/rainisto). With the tip above, you do NOT need to remove .accounts/.activesync/.aegis directories and you do not need to disable disclaimer separately as mentioned in the section Preparing for Open-Mode below.

--peterleinchen 16:27, 25 June 2013 (UTC)

Enable Developer Mode and Installation of non-store sources

  1. Enable “Allow installations from non-store sources (Settings → Applications → Installations).
  2. Enable “Developer Mode” (Setitngs → Security → Developer mode)...your device will restart. Upon restart, you will now see Terminal being available for use.

Prepare Filebox and Filebox Root

  1. Install Filebox from Nokia Store on your device.
  2. Install N9 Quick Tweak. Upon installation, run N9 Quick Tweak and enable “Root Filebox” (as of the latest version, this is under Tweak H.
  3. You should now have Filebox Root. Open Filebox Root and navigate to “MyDocs” (usually at first use of Filebox, you are already at “MyDocs”) and create a new folder called “boot” (without the quotes).Open the app.
  4. In the “Settings” (the gear icon at the lower-right), enable the following:
Show root filesystem
Show hidden filesystem
Show thumbnails

Moving files using Filebox Root

Place/move/copy the following files inside the newly-created “boot” folder under “MyDocs”:

ubiboot.conf
ubiboot-02.menus.cpio

Go to “MyDocs” folder in Filebox Root and copy the following:

zImage_2.6.32.54-openmode_l2fix
zImage.pr13
zImage
zImage-2.6.32.54-dfl61-20121301 (Optional)
  1. Go up three (3) levels by pressing the “up” arrow (found at the lower-left of Filebox Root) . You should be at the “root” folder (you can confirm this when you see that the blue banner at the top of Filebox Root shows only a forward-slash “/”).
  2. Find the “boot” folder there (this is /boot, under root directory, not the “boot” folder that we created inside “MyDocs”) and go inside that folder.
  3. Paste the three (or four) files that we have copied earlier (the “zImage...” files).


RECAP/REVIEW:

/home/user/MyDocs should contain:

preinits.tar
nitdroid_n9_jellybean_alpha5.tar.bz2
apps2sd_fix_alpha5.tar.bz2 (optional)

/home/user/MyDocs/boot should contain:

ubiboot.conf
ubiboot-02.menus.cpio

/boot should contain:

zImage_2.6.32.54-openmode_l2fix
zImage.pr13
zImage (which by now, has been renamed to “zImage_e-yes_nitdroid+l2fix”, without the quotes)
zImage-2.6.32.54-dfl61-20121301 (if you decided to still include this to your ubiboot setup)

Preparing for Open-Mode

  1. Open Terminal on the device.
  2. Type the following commands and press Enter after typing each command:
disclaimer-cal remove View-openmode
rm -rf /home/user/.accounts/
rm -rf /home/user/.aegis/
rm -rf /home/user/.activesync/

Extract preinits.tar and the NITDroid files

NOTE: Terminal should still be open at this point.

Type the following commands in the Terminal and press Enter after typing each command (NOTE: do not change the order of the commands):

devel-su (default password is "rootme", without quotes)
mkdir /home/nitroid (creates the “nitdroid” directory under the /home directory)
cd /home/user/MyDocs (navigates to the directory where the NITDroid image is located)
tar -xvf preinits.tar -C / (extracts preinits to /sbin directory of the device)
tar xjvf nitdroid_n9_jellybean_alpha5.tar.bz2 -C /home/nitdroid (extracts the NITDroid image to /home/nitdroid)

Flash the Device with Open-Mode Kernel

  1. Open a Linux Terminal (or Command Line in MS Windows) and enter the command below to flash the device into Open-Mode. The device will reboot afterwards.
sudo flasher -a <yourmainfirmware.bin> -k zImage_2.6.32.54-openmode_l2fix --flash-only=kernel -f -R

REMINDERS:

  1. In MS Windows, just omit the word “sudo” from the command.
  2. In MS Windows, the “zImage_2.6.32.54-openmode_l2fix” file needs to be in the same location as the Flasher Application, FIASCO, and EMMC images. Usually you would have installed the Flasher Application to C:\Program Files\Nokia\Flasher.
  3. For Linux users, usual “best practice” is to save the FIASCO, EMMC, and whatever Kernels at the main directory (/home/yourusername).

Install Nemo Mobile OS

Image:Ambox_speedy_deletion.png
At this point, it is highly recommended that you are using a Linux-based Operating System (Ubuntu will work fine).

In Linux, enter the following commands as per the Nemo Wiki Page:

wget -r -l1 -nd --no-parent -Amoslo-0.*.rpm http://releases.nemomobile.org/snapshots/repos/hw/ti/omap3/n950-n9/latest/armv7hl/armv7hl/
rpm2cpio moslo-*.armv7hl.rpm | cpio -vidu
sudo flasher -k usr/share/moslo/zImage-moslo -n usr/share/moslo/initrd-moslo -l -b

Alternative: for the "wget" command above, you may download the MOSLO directly as I have mentioned in the “Download Needed Files” section above. Then you may proceed with the second and third commands.

Screen upon installing Nemo
  1. The Terminal will give you a message that it is waiting for a suitable USB device. Make sure your device is turned off and plug it to your computer via the USB cable. The flashing procedure should finish in a few seconds.
  2. Keep the device plugged. What happens next is that the N9 is being repartitioned for Nemo (on the device, you will see some green text/writing on the screen; just wait for it to finish).
  3. You will also notice that the File Manager of your Linux Distribution will open and will show a folder named “Alt_OS”. This is the newly-created partition.
  4. Next, we will extract the Nemo image into the newly-created partition. Enter this command in the Terminal:
sudo tar --numeric-owner -xf nemo-handset-armv7hl-n950-*.tar.bz2 -C /media/Alt_OS/

TIPS:

  1. Sometimes, the name of the partition is Alt_OS_, with a single underline/underscores after “S” instead of the default Alt_OS (without underscore). Sometimes it has two (2) underlines/underscores. In my case, it had three (3) underlines/underscores.
  2. Sometimes, the path of the Alt_OS partition is /media/yourusername/Alt_OS.
  3. To be sure, before extracting the Nemo image, you may want to check the correct name by entering the Linux command of “lsblk” (without the quotes).
  4. As a matter of “best practice” it is recommended to have a File Manager open and navigating to "Alt_OS" during the extraction command to verify that the files are being extracted to the correct location.
  5. By experience, booting the device at this stage will result to either a reboot loop or the device not turning on at all. It is highly recommend not to turn on the device until you complete the setup/process from this point onward.

Flash the Device with Ubiboot-02

Flash the ubiboot-02 Kernel with the command below. Replace “firmware.bin” with the filename of your N9 FIASCO image if you have renamed it differently.

sudo flasher -a <nameofyourfirmware.bin> -k zImage_2.6.32.54-ubiboot-02_040613 --flash-only=kernel -f -R

Once the device reboots, keep the USB cable plugged in to enter “maintenance mode”. You will notice that the File Manager of your Linux Distribution will open and will mount/show all the partitions:

Nokia N9 (this is the “MyDocs” directory)
rootfs (this is the “/” directory)
another partition with a long series of alpha-numeric (this is the /home/nitdroid directory)
Alt_OS (this is the Nemo directory/partition)

FINAL STEPS:

  1. In the Nemo (Alt_OS) partition, go to the “boot” directory. Look for a file named "vmlinuz-2.6.32.20130129.1-n950" and save a personal copy.
  2. Get another copy and rename it to “bzImage” (without the quotes).
  3. Navigate to the rootfs directory (root of the N9) and find the “boot” directory. Enter that “boot” directory and paste the now-renamed “bzImage” file.
  4. Eject all partitions and then unplug the USB cable. The device will restart and you will now see Ubiboot taking over the boot process.

Congratulations, you now have Ubiboot completely set up with a Triple-Boot configuration of Harmattan, NITDroid, and Nemo!

References

  1. Official thread at talk.maemo.org
  2. Official download site of Ubiboot
  3. Official download site of NITDroid
  4. Official Wiki Page of Nemo

Tutorials

  1. PDF and Document
  2. YouTube (to follow/in progress)