Ubiboot

(Movement of Files using Filebox Root)
(Install and Prepare Filebox and Filebox Root)
 
(92 intermediate revisions not shown)
Line 1: Line 1:
== Introduction ==
== Introduction ==
-
Ubiboot is a boot manager for N9(50) devices. Useing the example configuration it is fairly easy to triple-boot the device between Harmattan/Nitdroid/Nemo Operating Systems, and change kernels at will.
+
[http://www.swagman.org/juice/ubiboot/ Ubiboot] is a boot manager for N9(50) devices. Using the example configuration it is fairly easy to hexa-boot the device between Harmattan/NITdroid/Nemo/Firefox/Leste/Sailfish 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).
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).
Line 11: Line 11:
# 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.
# 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.
# You have integrated repair/maintanance mode on the device, where you can export all partitions for backup/restore to a PC automatically.
# You have integrated repair/maintanance mode on the device, where you can export all partitions for backup/restore to a PC automatically.
-
# You can telnet to the device in maintanance mode, to do any desired repair operations.
+
# You can telnet and ssh to the device in maintanance mode, to do any desired repair operations. You can transfer backup archives to / from the device via sftp
-
== Download Needed Files ==
+
== Prerequisites ==
 +
 
 +
To ensure that most of your efforts are focused on actual Ubiboot installation/setting up of a Hex Boot system, please make sure to fulfill the following prerequisites:
 +
 
 +
=== Flash the device (for a fresh start/clean state) ===
 +
 
 +
{{ambox
 +
|type=delete
 +
|text=It is assumed that you have backed up your important files (messages, contacts, pictures, videos, music, etc.) before flashing the device.
 +
}}
 +
 
 +
'''TIP''': The sequence of flashing commands below combines the usual flashing steps found in the [http://wiki.maemo.org/Flashing_N9 N9 Flashing Wiki], plus actual flashing of the Open-Mode Kernel so that upon first boot, the device will already be in "Open-Mode". This is called Back-to-Back Closedmode/Openmode flashing. If you follow this style of flashing the device, you will no longer need to delete some folders (.accounts/, ./aegis, and ./activesync) for the device to store passwords correctly. The additional benefits of the Back-to-Back flashing is that you get rid of a lot of unstability in the device caused by some parts still being accessed with closed-mode aegis keys.
 +
 
 +
'''TIP''': If you want to be rid of the "Scary Warranty Warning", which a device displays when booting in Open Mode you have to remove that '''Before entering open mode'''.
 +
 
 +
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
 +
 
 +
or "Zeroize Method" of flashing, which "wipes" user data and EMMC. Note that this command flashes the eMMC twice and takes many hours to complete the process. You will see a notification/warning of eMMC "unnecessarily being flashed twice") in the Terminal when flashing via this method.
 +
 
 +
sudo flasher -f -F <yourmainfirmware.bin> --erase-user-data=secure -F <youremmc.bin> --erase-mmc=secure
 +
 
 +
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
 +
 
 +
(All credits to [http://maemo.org/profile/view/rainisto jonni/rainisto])
 +
 
 +
--[[User:Peterleinchen|peterleinchen]] 16:27, 25 June 2013 (UTC)
 +
 
 +
==== When Not Starting From A Fresh Flash ====
 +
# Open Terminal on the device.
 +
# Type the following commands and press Enter after typing each command ('''NOTE:''' this will delete all configured Accounts):
 +
disclaimer-cal remove View-openmode
 +
rm -rf /home/user/.accounts/
 +
rm -rf /home/user/.aegis/
 +
rm -rf /home/user/.activesync/
 +
 
 +
Shut down the device, plug to a USB cable and to a computer, and proceed with flashing the Open-Mode kernel as mentioned above:
 +
 
 +
sudo flasher -a <yourmainfirmware.bin> -k zImage_2.6.32.54-openmode_l2fix --flash-only=kernel -f -R
 +
 
 +
Upon first boot, you may set up your Accounts (email, social media accounts, i.e. Facebook etc.) once again.
 +
 
 +
'''REMINDERS:'''
 +
 
 +
# In MS Windows, just omit the word “sudo” from the command.
 +
# 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.
 +
# For Linux users, usual “best practice” is to save the FIASCO, eMMC, and whatever Kernels at the main directory (/home/yourusername).
 +
# "Device Lock Request" should be disabled when you are using Open-Mode.
 +
 
 +
 
 +
=== 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/
-
=== Ubiboot Files: find the latest versions at http://www.swagman.org/juice/ubiboot/ ===
 
# '''[http://www.swagman.org/juice/ubiboot/other/preinits.tar 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.
# '''[http://www.swagman.org/juice/ubiboot/other/preinits.tar 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.
# '''[http://www.swagman.org/juice/ubiboot/other/zImage_2.6.32.54-openmode_l2fix 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).
# '''[http://www.swagman.org/juice/ubiboot/other/zImage_2.6.32.54-openmode_l2fix 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).
# '''[http://maemo.cloud-7.de/HARM/N9/1.3/openmode-kernel/zImage-2.6.32.54-dfl61-20121301 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.
# '''[http://maemo.cloud-7.de/HARM/N9/1.3/openmode-kernel/zImage-2.6.32.54-dfl61-20121301 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.
-
# '''[http://www.swagman.org/juice/ubiboot/ubiboot-02/zImage_2.6.32.54-ubiboot-02_040613 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).
+
# '''http://www.swagman.org/juice/ubiboot/ubiboot-02/ubiboot-02_0.3.9_230318.tar''': this is the latest ubiboot archive (v.0.3.9) that contains the files needed for Ubiboot. TAR file is a compressed file, like ZIP. After downloading, extract the contents of this file (Windows users: use 7-zip). This compressed file contains 3 files and a checksum file.
-
# '''[http://www.swagman.org/juice/ubiboot/ubiboot-02/ubiboot-02_040613.tar 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 copy to the “MyDocs” folder of your device:
+
## '''ubiboot.conf''' this is the configuration file that contains all the changeable options and tunables for your boot, including the list of bootable OS'es and kernels. You need to copy this into MyDocs/boot/ directory of your device.
-
ubiboot.conf
+
## '''ubiboot-02.menus.cpio''': this is the kernel extension file which contains the graphical menu system presented to user on boot. You need to copy this into MyDocs/boot/ directory of your device.
-
ubiboot-02.menus.cpio
+
## '''zImage_2.6.32.54-ubiboot-02_23032018''': This is the ubiboot kernel that you need to flash to your device. (Windows users: save this in the same location as your flasher application and files, usually C:\Program Files\Nokia\Flasher).
-
=== NITDroid Files: find the latest versions at http://downloads.nitdroid.com/e-yes/n9/ ===
 
-
# '''[http://downloads.nitdroid.com/e-yes/n9/nitdroid_n9_jellybean_alpha5.tar.bz2 nitdroid_n9_jellybean_alpha5.tar.bz2]:''' latest “Jelly Bean” version available as of this writing.
 
-
# '''[http://downloads.nitdroid.com/e-yes/n9/zImage.pr13 zImage.pr13]:''' (Optional) this was the latest zImage being used for dual-booting or multi-booting NITDroid before Ubiboot was published.
 
-
# '''[http://downloads.nitdroid.com/e-yes/n9/ubiboot/zImage zImage]:''' 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).
 
-
# '''[http://downloads.nitdroid.com/e-yes/n9/apps2sd_fix_alpha5.tar.bz2 apps2sd_fix_alpha5.tar.bz2]:''' not sure if there is still required at this time for JellyBean.
 
-
=== Nemo Files: find the latest versions at http://releases.nemomobile.org/snapshots/images/ ===
+
You should create the boot folder inside MyDocs before copying the ubiboot.conf and ubiboot-02.menus.cpio to the device.
-
# '''[http://releases.nemomobile.org/snapshots/images/0.20130411.1.NEMO.2013-04-26.1/nemo-armv7hl-n950/nemo-armv7hl-n950-0.20130411.1.NEMO.2013-04-26.1.tar.bz2 nemo-armv7hl-n950-0.20130411.1.NEMO.2013-04-26.1.tar.bz2]:''' this contains the actual Nemo OS image.
+
 
-
# '''[http://releases.nemomobile.org/snapshots/repos/hw/ti/omap3/n950-n9/latest/armv7hl/armv7hl/moslo-0.0.13.2-1.5.Nemo.Adaptation.N9xx.armv7hl.rpm moslo-0.0.13.2-1.5.Nemo.Adaptation.N9xx.armv7hl.rpm] from http://releases.nemomobile.org/snapshots/repos/hw/ti/omap3/n950-n9/latest/armv7hl/armv7hl:''' this is the MOSLO file needed for flashing when installing Nemo. In the [https://wiki.merproject.org/wiki/Nemo/Installing#Single_Boot_by_Loading_The_Kernel_.28Not_recommended.29 official Nemo Wiki], getting/downloading this file is done by a command in the Terminal, which is:
+
 
 +
==== NITDroid Files ====
 +
 
 +
Find the latest versions at http://downloads.nitdroid.com/e-yes/n9/
 +
 
 +
# '''[https://archive.org/download/NitdroidNokiaN9/nitdroid_n9_jellybean_alpha5.tar.bz2 nitdroid_n9_jellybean_alpha5.tar.bz2]:''' latest “Jelly Bean” version available as of this writing.
 +
# '''[https://archive.org/download/NokiaN9NITdroid/apps2sd_fix_alpha5.tar.bz2 apps2sd_fix_alpha5.tar.bz2]:''' this fix allow apps to install into the SD Card.
 +
# '''[https://archive.org/download/NokiaN9NITdroid/zImage_e-yes_nitdroid+l2fix zImage_e-yes_nitdroid+l2fix]:''' ('''recommended''') this is the “new version” of zImage.pr13, which is tailored for use with ubiboot.
 +
# '''[https://archive.org/download/NokiaN9NITdroid/zImage.pr13 zImage.pr13]:''' ('''not recommended''') before Ubiboot was published, this was the latest zImage being used for dual-booting or multi-booting NITDroid.
 +
 
 +
 
 +
==== Nemo Files ====
 +
 
 +
Find the latest versions at http://releases.nemomobile.org/snapshots/images/
 +
 
 +
# '''[http://releases.nemomobile.org/releases/0.20130620.0.1/images/nemo-armv7hl-n950/nemo-armv7hl-n950-0.20130620.0.1.tar.bz2 nemo-armv7hl-n950-0.20130620.0.1.tar.bz2]:''' this contains the actual Nemo OS image as of this writing.
 +
# '''[http://releases.nemomobile.org/snapshots/repos/hw/ti/omap3/n950-n9/latest/armv7hl/armv7hl/moslo-0.0.13.2-1.5.Nemo.Adaptation.N9xx.armv7hl.rpm moslo-0.0.13.2-1.5.Nemo.Adaptation.N9xx.armv7hl.rpm]:''' this is the MOSLO file needed for flashing when installing Nemo. You may alternatively download this file via the "wget" Terminal Command in Linux, as outlined in the [https://wiki.merproject.org/wiki/Nemo/Installing#Single_Boot_by_Loading_The_Kernel_.28Not_recommended.29 official Nemo Wiki]:
  wget -r -l1 -nd --no-parent -Amoslo-0.*.rpm http://releases.nemomobile.org/snapshots/repos/hw/ti/omap3/n950-n9/latest/armv7hl/armv7hl/
  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 ==
 
-
=== [http://wiki.maemo.org/Flashing_N9 Flash the device] (for a fresh start/clean slate). ===
+
==== FirefoxOS Files ====
 +
 
 +
'''https://disk.yandex.com/d/RYVu63jxewBk3w'''
 +
 
 +
 
 +
==== SailfishOS Files ====
 +
 
 +
Find the latest versions at '''http://n9.araya.su/images/mic_images/'''
 +
 
 +
== Prepare the Device ==
-
=== Enable Developer Mode and Installation of non-store sources: ===
+
=== Enable Developer Mode and Installation of non-store sources ===
# Enable “Allow installations from non-store sources (Settings → Applications → Installations).
# Enable “Allow installations from non-store sources (Settings → Applications → Installations).
# Enable “Developer Mode” (Setitngs → Security → Developer mode)...your device will restart. Upon restart, you will now see Terminal being available for use.
# 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 ===
+
=== Install and Prepare FileCase and FileCase Root ===
-
# Install Filebox.
+
# Install [http://wunderwungiel.pl/MeeGo/Repository/Applications/FileCase%20v0.2.0.deb FileCase]
-
# Install [http://wiki.maemo.org/N9QTweak N9 Quick Tweak]. Upon installation, run N9 Quick Tweak and enable “Root Filebox” (as of the latest version, this is under [http://wiki.maemo.org/N9QTweak#Tweak_H:_Enable_ROOT-SSH_Access_.26_Root_Filebox Tweak H].
+
# Install [http://wunderwungiel.pl/MeeGo/Repository/Applications/N9%20QTweak%20v9.8.8.deb N9QTweak]. Upon installation, run N9QTweak and enable “Root FileCase” (as of the latest version, this is under [http://wiki.maemo.org/N9QTweak#Tweak_H:_Enable_ROOT-SSH_Access_.26_Root_Filebox].
-
# 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.
+
# You should now have FileCase Root. Open FileCase Root and navigate to “MyDocs” (usually at first use of FileCase, you are already at “MyDocs”) and create a new folder called “boot” (without the quotes).
# In the “Settings” (the gear icon at the lower-right), enable the following:
# In the “Settings” (the gear icon at the lower-right), enable the following:
-
Show root filesystem
+
#* Show root filesystem
-
Show hidden filesystem
+
#* Show hidden filesystem
-
Show thumbnails
+
 
 +
=== Moving files using FileCase Root ===
 +
 
 +
This section guides you on where to move/copy the files that were downloaded in the [http://wiki.maemo.org/index.php?title=Ubiboot&action=submit#Download_Needed_Files Download Needed Files] section above.
-
=== Movement of Files using Filebox Root ===
 
Place/move/copy the following files inside the newly-created “boot” folder under “MyDocs”:
Place/move/copy the following files inside the newly-created “boot” folder under “MyDocs”:
Line 59: Line 141:
  ubiboot-02.menus.cpio
  ubiboot-02.menus.cpio
-
Go to “MyDocs” folder in Filebox Root and copy the following:
+
Next is to move the "zImage..." files.
 +
 
 +
# Go up three (3) levels by pressing the “up” arrow (found at the lower-left of FileCase Root) . You should be at the “root” folder (you can confirm this when you see that the blue banner at the top of FileCase Root shows only a forward-slash “/”).
 +
# Find the “/boot” folder...we are looking for the "/boot" under root directory, '''not the “/home/user/MyDocs/boot” folder (i.e. that we created inside “MyDocs”)''' and go inside that folder.
 +
# Paste the three (or four) "zImage..." files:
  zImage_2.6.32.54-openmode_l2fix
  zImage_2.6.32.54-openmode_l2fix
  zImage.pr13
  zImage.pr13
-
  zImage
+
  zImage_e-yes_nitdroid+l2fix
-
  zImage-2.6.32.54-dfl61-20121301 (Optional)
+
  zImage-2.6.32.54-dfl61-20121301 '''(Optional)'''
-
 
+
-
# 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 “/”).
+
-
# Find the “boot” folder there (this is /boot...not the “boot” folder that we created inside “MyDocs”) and go inside that folder.
+
-
# Paste the three (or four) files that we have copied earlier (the “zImage...” files).
+
-
 
+
'''REVIEW/RECAP:''' These are the locations where the "needed files" are to be moved/pasted/located.
-
'''RECAP/REVIEW:'''
+
/home/user/MyDocs should contain:
/home/user/MyDocs should contain:
  preinits.tar
  preinits.tar
  nitdroid_n9_jellybean_alpha5.tar.bz2
  nitdroid_n9_jellybean_alpha5.tar.bz2
-
  apps2sd_fix_alpha5.tar.bz2 (optional)
+
  apps2sd_fix_alpha5.tar.bz2
 +
b2g_n9_droid_hal_fs.tar.gz
/home/user/MyDocs/boot should contain:
/home/user/MyDocs/boot should contain:
  ubiboot.conf
  ubiboot.conf
Line 83: Line 165:
  zImage_2.6.32.54-openmode_l2fix
  zImage_2.6.32.54-openmode_l2fix
  zImage.pr13
  zImage.pr13
-
  zImage (which by now, has been renamed to “zImage_e-yes_nitdroid+l2fix”, without the quotes)
+
  zImage_e-yes_nitdroid+l2fix
-
  zImage-2.6.32.54-dfl61-20121301 (if you decided to still include this to your ubiboot setup)
+
  zImage-2.6.32.54-dfl61-20121301 '''(Optional)'''
-
=== Prepare for Open-Mode ===
+
=== Extract preinits.tar, the NITDroid and the FirefoxOS files ===
-
# Open Terminal on the device.
+
-
# 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 is still open at this point.
+
'''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):
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)
+
  devel-su '''(default password is "rootme", without quotes)'''
-
  mkdir /home/nitroid (creates the “nitdroid” directory under the /home directory)
+
  mkdir /home/nitdroid '''(creates the “nitdroid” directory under the /home directory)'''
-
  cd /home/user/MyDocs (navigates to the directory where the NITDroid image is located)
+
  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 -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)
+
  tar xjvf nitdroid_n9_jellybean_alpha5.tar.bz2 -C /home/nitdroid '''(extracts the NITDroid image to /home/nitdroid)'''
 +
tar xjvf apps2sd_fix_alpha5.tar.bz2 -C /home/nitdroid '''(extracts the Apps2SD fix to /home/nitdroid)'''
 +
mkdir /home/firefox_os '''(creates the “firefox_os” directory under the /home directory)'''
 +
tar xvzf b2g_n9_droid_hal_fs.tar.gz -C /home/firefox_os '''(extracts the FirefoxOS image to /home/firefox_os)'''
-
== Flash the Device with Open-Mode Kernel ==
+
== Install Nemo Mobile OS ==
-
# 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.
+
{{ambox|text=Many users reported that this procedure breaks partitions on Nokia N9, mostly in 16GB versions. Better don't proceed, unless you know what you're doing..}}
-
sudo flasher -a <yourmainfirmware.bin> -k zImage_2.6.32.54-openmode_l2fix --flash-only=kernel -f -R
+
{{ambox|text=At this point, it is highly recommended that you are using a Linux-based Operating System (Ubuntu will work fine). It is still okay to continue using MS Windows, however in order to use the "maintenance mode" feature of Ubiboot, such as viewing the contents of partitions via a File Manager you will need to install a 3rd party application that allows you to view the contents of Linux-based Filesystems. '''Note that for installing Nemo, this guide focuses on using Linux to ensure conformity of a default, fool-proof procedure of a quadru-boot system with Harmattan, NITDroid, FirefoxOS, and Nemo.'''
 +
}}
-
'''REMINDERS:'''
+
In Linux, enter the following commands as per the [https://wiki.merproject.org/wiki/Nemo/Installing#Single_Boot_by_Loading_The_Kernel_.28Not_recommended.29 Nemo Wiki Page]:
-
# In MS Windows, just omit the word “sudo” from the command.
+
wget -r -l1 -nd --no-parent -Amoslo-0.*.rpm http://releases.nemomobile.org/snapshots/repos/hw/ti/omap3/n950-n9/latest/armv7hl/armv7hl/
-
# 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.
+
rpm2cpio moslo-*.armv7hl.rpm | cpio -vidu
-
# For Linux users, usual “best practice” is to save the FIASCO, EMMC, and whatever Kernels at the main directory (/home/yourusername).
+
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 “[http://wiki.maemo.org/Ubiboot#Nemo_Files Download Needed Files]” section above. Then you may proceed with the second and third commands.
 +
 
 +
'''MS Windows users:''' you can install 7-Zip and use that to go inside the '''moslo-0.0.13.2-1.5.Nemo.Adaptation.N9xx.armv7hl.rpm''' file. Keep going one directory deeper until you find two files:
 +
 
 +
* initrd-moslo
 +
* zImage-moslo
 +
 
 +
Next, extract those files and place them in the same directory as the Flasher application. Once done, the command will be now modified as follows:
 +
 
 +
flasher.exe -k zImage-moslo -n initrd-moslo -l -b
 +
 
 +
[[Image:13060003.jpg|500px|]]
 +
 
 +
# 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.
 +
# 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) , you'll see the led blinking for 10min or so.
 +
# 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.
 +
# Next, we will extract the Nemo image into the newly-created partition. Enter this command in the Terminal (for Linux only):
 +
 
 +
sudo tar --numeric-owner -xf nemo-handset-armv7hl-n950-*.tar.bz2 -C /media/Alt_OS/
 +
 
 +
Now, unplug the device from the USB Cable. The screen should tell you to "push Volume Up" to boot into Harmattan, or "push Volume Down" to boot into Nemo.
 +
 
 +
 
 +
'''TIPS:'''
 +
 
 +
# 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.
 +
# Sometimes, the path of the Alt_OS partition is /media/'''yourusername'''/Alt_OS.
 +
# 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).
 +
# 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.
 +
# By experience, booting the device at this stage will result to either a reboot loop or the device not turning on at all. Sometimes, upon unplugging of the USB cable as mentioned above and selecting "Volume Down" to boot into Nemo, nothing happens (device is unresponsive and stays black). '''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 ==
 +
 
 +
'''NOTE: for this step, the device should be turned off.'''
 +
 
 +
Flash the ubiboot-02 Kernel with the command below. Replace <yourmainfirmware.bin> with the filename of your N9 FIASCO image if you have renamed it differently.
 +
 
 +
sudo flasher -a <yourmainfirmware.bin> -k zImage_2.6.32.54-ubiboot-02_23032018 --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 or partition of the Nokia N9's Harmattan OS)'''
 +
another partition with a long series of alpha-numeric '''(this is the /home/nitdroid directory/partition)'''
 +
Alt_OS '''(this is the Nemo directory/partition)'''
 +
 
 +
Double-check that the files we have moved earlier are in their correct places. Once confirmed, you can "eject" all the partitions from your File Manager. Unplug the USB Cable and the device will restart. When it restarts, you should now see the Ubiboot menu.
 +
 
 +
'''Congratulations, you now have Ubiboot completely set up with a Quatro-Boot configuration of Harmattan, NITDroid, Firefox OS and Nemo!'''
 +
 
 +
== Known Issues ==
 +
 
 +
This section attempts to document some user-reported issues and solutions with respect to Ubiboot usage, installation, etc.
 +
 
 +
 
 +
=== Charging ===
 +
Ubiboot handles rtc and usb events to boot up device from power off state:
 +
 
 +
a) to Ubiboot telnet console (when connected to PC USB), device will not be charged.
 +
 
 +
b) to configured default kernel (harmattan) to charge (when connected to wall charger).
 +
 
 +
c) to configured default kernel (harmattan) to trigger alarm.
 +
 
 +
 
 +
"Case a" works flawlessly.
 +
 
 +
"Case b" sometimes does not work, but reboots and then starts up Ubiboot console/screen (not charging).
 +
 
 +
"Case c" needs some precondition. Make sure you have shutdown your device from Harmattan. Otherwise the alarm may not be triggered in NITDroid or will not be triggered in Nemo.
 +
 
 +
=== Alarm Clocks ===
 +
 
 +
http://talk.maemo.org/showpost.php?p=1355247&postcount=374
 +
http://talk.maemo.org/showpost.php?p=1355278&postcount=377
 +
 
 +
The default behavior of the device, particularly with the default OS (Harmattan), is that clock alarms can be triggered even when the device is turned off. The posts above suggest that you need to ensure that the "last OS booted" should be Harmattan prior to turning the device off, because between Harmattan, NITDroid, and Nemo, the alarm clock system behavior of Harmattan is most stable. Based on the above posts linked, alarms of NITDroid and Nemo (when the device is turned off) don't behave as good as Harmattan does.
 +
 
 +
== References ==
 +
 
 +
# [http://talk.maemo.org/showthread.php?t=89345 Official thread at talk.maemo.org]
 +
# [http://www.swagman.org/juice/ubiboot/ Official download site of Ubiboot]
 +
# [http://downloads.nitdroid.com/e-yes/n9/ Official download site of NITDroid]
 +
# [https://wiki.merproject.org/wiki/Nemo/Installing Official Wiki Page of Nemo]
 +
 
 +
== Tutorials ==
 +
 
 +
# [http://www.mediafire.com/folder/4zuayx3h8e6cy/ubiboot-02 PDF and Document]
 +
# YouTube [http://www.youtube.com/playlist?list=PLcAjLdlFZWmC6UqdrIUz6Uqc3YtnCpqc2 (to follow/in progress)]
-
== Install Nemo Mobile OS following the steps in [https://wiki.merproject.org/wiki/Nemo/Installing#Single_Boot_by_Loading_The_Kernel_.28Not_recommended.29 Single Boot by Loading The Kernel (Not recommended)] ==
+
[[Category:N9]]
 +
[[Category:HowTo]]
 +
[[Category:Power users]]

Latest revision as of 20:33, 10 March 2023

Contents

[edit] Introduction

Ubiboot is a boot manager for N9(50) devices. Using the example configuration it is fairly easy to hexa-boot the device between Harmattan/NITdroid/Nemo/Firefox/Leste/Sailfish 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).

[edit] 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 and ssh to the device in maintanance mode, to do any desired repair operations. You can transfer backup archives to / from the device via sftp

[edit] Prerequisites

To ensure that most of your efforts are focused on actual Ubiboot installation/setting up of a Hex Boot system, please make sure to fulfill the following prerequisites:

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

Image:Ambox_speedy_deletion.png
It is assumed that you have backed up your important files (messages, contacts, pictures, videos, music, etc.) before flashing the device.

TIP: The sequence of flashing commands below combines the usual flashing steps found in the N9 Flashing Wiki, plus actual flashing of the Open-Mode Kernel so that upon first boot, the device will already be in "Open-Mode". This is called Back-to-Back Closedmode/Openmode flashing. If you follow this style of flashing the device, you will no longer need to delete some folders (.accounts/, ./aegis, and ./activesync) for the device to store passwords correctly. The additional benefits of the Back-to-Back flashing is that you get rid of a lot of unstability in the device caused by some parts still being accessed with closed-mode aegis keys.

TIP: If you want to be rid of the "Scary Warranty Warning", which a device displays when booting in Open Mode you have to remove that Before entering open mode.

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

or "Zeroize Method" of flashing, which "wipes" user data and EMMC. Note that this command flashes the eMMC twice and takes many hours to complete the process. You will see a notification/warning of eMMC "unnecessarily being flashed twice") in the Terminal when flashing via this method.

sudo flasher -f -F <yourmainfirmware.bin> --erase-user-data=secure -F <youremmc.bin> --erase-mmc=secure

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

(All credits to jonni/rainisto)

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

[edit] When Not Starting From A Fresh Flash

  1. Open Terminal on the device.
  2. Type the following commands and press Enter after typing each command (NOTE: this will delete all configured Accounts):
disclaimer-cal remove View-openmode
rm -rf /home/user/.accounts/
rm -rf /home/user/.aegis/
rm -rf /home/user/.activesync/

Shut down the device, plug to a USB cable and to a computer, and proceed with flashing the Open-Mode kernel as mentioned above:

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

Upon first boot, you may set up your Accounts (email, social media accounts, i.e. Facebook etc.) once again.

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).
  4. "Device Lock Request" should be disabled when you are using Open-Mode.


[edit] Download Needed Files

[edit] 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. http://www.swagman.org/juice/ubiboot/ubiboot-02/ubiboot-02_0.3.9_230318.tar: this is the latest ubiboot archive (v.0.3.9) that contains the files needed for Ubiboot. TAR file is a compressed file, like ZIP. After downloading, extract the contents of this file (Windows users: use 7-zip). This compressed file contains 3 files and a checksum file.
    1. ubiboot.conf this is the configuration file that contains all the changeable options and tunables for your boot, including the list of bootable OS'es and kernels. You need to copy this into MyDocs/boot/ directory of your device.
    2. ubiboot-02.menus.cpio: this is the kernel extension file which contains the graphical menu system presented to user on boot. You need to copy this into MyDocs/boot/ directory of your device.
    3. zImage_2.6.32.54-ubiboot-02_23032018: This is the ubiboot kernel that you need to flash to your device. (Windows users: save this in the same location as your flasher application and files, usually C:\Program Files\Nokia\Flasher).


You should create the boot folder inside MyDocs before copying the ubiboot.conf and ubiboot-02.menus.cpio to the device.


[edit] 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 SD Card.
  3. zImage_e-yes_nitdroid+l2fix: (recommended) this is the “new version” of zImage.pr13, which is tailored for use with ubiboot.
  4. zImage.pr13: (not recommended) before Ubiboot was published, this was the latest zImage being used for dual-booting or multi-booting NITDroid.


[edit] Nemo Files

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

  1. nemo-armv7hl-n950-0.20130620.0.1.tar.bz2: this contains the actual Nemo OS image as of this writing.
  2. moslo-0.0.13.2-1.5.Nemo.Adaptation.N9xx.armv7hl.rpm: this is the MOSLO file needed for flashing when installing Nemo. You may alternatively download this file via the "wget" Terminal Command in Linux, as outlined in the official Nemo Wiki:
wget -r -l1 -nd --no-parent -Amoslo-0.*.rpm http://releases.nemomobile.org/snapshots/repos/hw/ti/omap3/n950-n9/latest/armv7hl/armv7hl/


[edit] FirefoxOS Files

https://disk.yandex.com/d/RYVu63jxewBk3w


[edit] SailfishOS Files

Find the latest versions at http://n9.araya.su/images/mic_images/

[edit] Prepare the Device

[edit] 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.

[edit] Install and Prepare FileCase and FileCase Root

  1. Install FileCase
  2. Install N9QTweak. Upon installation, run N9QTweak and enable “Root FileCase” (as of the latest version, this is under [1].
  3. You should now have FileCase Root. Open FileCase Root and navigate to “MyDocs” (usually at first use of FileCase, you are already at “MyDocs”) and create a new folder called “boot” (without the quotes).
  4. In the “Settings” (the gear icon at the lower-right), enable the following:
    • Show root filesystem
    • Show hidden filesystem

[edit] Moving files using FileCase Root

This section guides you on where to move/copy the files that were downloaded in the Download Needed Files section above.

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

ubiboot.conf
ubiboot-02.menus.cpio

Next is to move the "zImage..." files.

  1. Go up three (3) levels by pressing the “up” arrow (found at the lower-left of FileCase Root) . You should be at the “root” folder (you can confirm this when you see that the blue banner at the top of FileCase Root shows only a forward-slash “/”).
  2. Find the “/boot” folder...we are looking for the "/boot" under root directory, not the “/home/user/MyDocs/boot” folder (i.e. that we created inside “MyDocs”) and go inside that folder.
  3. Paste the three (or four) "zImage..." files:
zImage_2.6.32.54-openmode_l2fix
zImage.pr13
zImage_e-yes_nitdroid+l2fix
zImage-2.6.32.54-dfl61-20121301 (Optional)

REVIEW/RECAP: These are the locations where the "needed files" are to be moved/pasted/located.

/home/user/MyDocs should contain:

preinits.tar
nitdroid_n9_jellybean_alpha5.tar.bz2
apps2sd_fix_alpha5.tar.bz2
b2g_n9_droid_hal_fs.tar.gz

/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_e-yes_nitdroid+l2fix
zImage-2.6.32.54-dfl61-20121301 (Optional)

[edit] Extract preinits.tar, the NITDroid and the FirefoxOS 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/nitdroid (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)
tar xjvf apps2sd_fix_alpha5.tar.bz2 -C /home/nitdroid (extracts the Apps2SD fix to /home/nitdroid)
mkdir /home/firefox_os (creates the “firefox_os” directory under the /home directory)
tar xvzf b2g_n9_droid_hal_fs.tar.gz -C /home/firefox_os (extracts the FirefoxOS image to /home/firefox_os)

[edit] Install Nemo Mobile OS

Image:Ambox_notice.png
Many users reported that this procedure breaks partitions on Nokia N9, mostly in 16GB versions. Better don't proceed, unless you know what you're doing..
Image:Ambox_notice.png
At this point, it is highly recommended that you are using a Linux-based Operating System (Ubuntu will work fine). It is still okay to continue using MS Windows, however in order to use the "maintenance mode" feature of Ubiboot, such as viewing the contents of partitions via a File Manager you will need to install a 3rd party application that allows you to view the contents of Linux-based Filesystems. Note that for installing Nemo, this guide focuses on using Linux to ensure conformity of a default, fool-proof procedure of a quadru-boot system with Harmattan, NITDroid, FirefoxOS, and Nemo.

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.

MS Windows users: you can install 7-Zip and use that to go inside the moslo-0.0.13.2-1.5.Nemo.Adaptation.N9xx.armv7hl.rpm file. Keep going one directory deeper until you find two files:

  • initrd-moslo
  • zImage-moslo

Next, extract those files and place them in the same directory as the Flasher application. Once done, the command will be now modified as follows:

flasher.exe -k zImage-moslo -n initrd-moslo -l -b

  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) , you'll see the led blinking for 10min or so.
  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 (for Linux only):
sudo tar --numeric-owner -xf nemo-handset-armv7hl-n950-*.tar.bz2 -C /media/Alt_OS/

Now, unplug the device from the USB Cable. The screen should tell you to "push Volume Up" to boot into Harmattan, or "push Volume Down" to boot into Nemo.


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. Sometimes, upon unplugging of the USB cable as mentioned above and selecting "Volume Down" to boot into Nemo, nothing happens (device is unresponsive and stays black). It is highly recommend not to turn on the device until you complete the setup/process from this point onward.

[edit] Flash the Device with Ubiboot-02

NOTE: for this step, the device should be turned off.

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

sudo flasher -a <yourmainfirmware.bin> -k zImage_2.6.32.54-ubiboot-02_23032018 --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 or partition of the Nokia N9's Harmattan OS)
another partition with a long series of alpha-numeric (this is the /home/nitdroid directory/partition)
Alt_OS (this is the Nemo directory/partition)

Double-check that the files we have moved earlier are in their correct places. Once confirmed, you can "eject" all the partitions from your File Manager. Unplug the USB Cable and the device will restart. When it restarts, you should now see the Ubiboot menu.

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

[edit] Known Issues

This section attempts to document some user-reported issues and solutions with respect to Ubiboot usage, installation, etc.


[edit] Charging

Ubiboot handles rtc and usb events to boot up device from power off state:

a) to Ubiboot telnet console (when connected to PC USB), device will not be charged.

b) to configured default kernel (harmattan) to charge (when connected to wall charger).

c) to configured default kernel (harmattan) to trigger alarm.


"Case a" works flawlessly.

"Case b" sometimes does not work, but reboots and then starts up Ubiboot console/screen (not charging).

"Case c" needs some precondition. Make sure you have shutdown your device from Harmattan. Otherwise the alarm may not be triggered in NITDroid or will not be triggered in Nemo.

[edit] Alarm Clocks

http://talk.maemo.org/showpost.php?p=1355247&postcount=374 http://talk.maemo.org/showpost.php?p=1355278&postcount=377

The default behavior of the device, particularly with the default OS (Harmattan), is that clock alarms can be triggered even when the device is turned off. The posts above suggest that you need to ensure that the "last OS booted" should be Harmattan prior to turning the device off, because between Harmattan, NITDroid, and Nemo, the alarm clock system behavior of Harmattan is most stable. Based on the above posts linked, alarms of NITDroid and Nemo (when the device is turned off) don't behave as good as Harmattan does.

[edit] 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

[edit] Tutorials

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