Sailfish
(→Step 6 - Install Ubiboot) |
(→Kernels) |
||
(78 intermediate revisions not shown) | |||
Line 7: | Line 7: | ||
This guide has been compiled from numerous previous sources and credits are due to lots of individuals for their original work, methods and support to the community, including: | This guide has been compiled from numerous previous sources and credits are due to lots of individuals for their original work, methods and support to the community, including: | ||
- | [http://talk.maemo.org/member.php?u=20627 rzr], [http://talk.maemo.org/member.php?u=68697 souran], [http://martinbrook.blogspot.co.uk/2013/12/n950-and-jolla-phone-repos-ive-been.html?showComment=1386385690772 Martin Brook], [http://talk.maemo.org/member.php?u=67021 vgrade], [http://talk.maemo.org/member.php?u=60897 Nad], [http://talk.maemo.org/member.php?u=34203 mikecomputing], [http://talk.maemo.org/member.php?u=38434 TMavica], [http://talk.maemo.org/member.php?u=66860 krnlyng/liar], [http://talk.maemo.org/member.php?u=69326 max83], [http://talk.maemo.org/member.php?u=58774 flotron], [http://talk.maemo.org/member.php?u=61958 juiceme], contributors to [http://piratepad.net/nVuyI2uxrY piratepad], Nemo contributors and anyone else trying to make Sailfish run on the Nokia N9/N950. | + | [http://talk.maemo.org/member.php?u=20627 rzr], [http://talk.maemo.org/member.php?u=68697 souran], [http://martinbrook.blogspot.co.uk/2013/12/n950-and-jolla-phone-repos-ive-been.html?showComment=1386385690772 Martin Brook], [http://talk.maemo.org/member.php?u=67021 vgrade], [http://talk.maemo.org/member.php?u=57370 coderus], [http://talk.maemo.org/member.php?u=60897 Nad], [http://talk.maemo.org/member.php?u=34203 mikecomputing], [http://talk.maemo.org/member.php?u=38434 TMavica], [http://talk.maemo.org/member.php?u=66860 krnlyng/liar], [http://talk.maemo.org/member.php?u=69326 max83], [http://talk.maemo.org/member.php?u=58774 flotron], [http://talk.maemo.org/member.php?u=61958 juiceme], contributors to [http://piratepad.net/nVuyI2uxrY piratepad], Nemo contributors and anyone else trying to make Sailfish run on the Nokia N9/N950. |
Please help by contributing any information or methods you have to help make Nemo and Sailfish run better on the Nokia N9/N950. | Please help by contributing any information or methods you have to help make Nemo and Sailfish run better on the Nokia N9/N950. | ||
Line 27: | Line 27: | ||
= Notes = | = Notes = | ||
- | + | If your handset is factory SIM-locked, it [http://talk.maemo.org/showpost.php?p=1393928&postcount=494 may not] be possible to install unsigned kernels, thus Sailfish. There is currently no known work-around and unlocking the handset after purchase does not seem to alleviate this issue. | |
- | If your handset is factory SIM-locked, it may not be possible to install unsigned kernels, thus Sailfish. There is currently no known work-around and unlocking the handset after purchase does not seem to alleviate this issue. | + | |
To completely turn off the handset manually, hold the power button for ~8 seconds. | To completely turn off the handset manually, hold the power button for ~8 seconds. | ||
Line 34: | Line 33: | ||
When extracting a tarball ending with .tar, use "tar -xvf --numeric-owner". If you get a message stating "invalid tar magic", it is probably .tar.bz2 therefore use "tar -xvjf --numeric-owner". | When extracting a tarball ending with .tar, use "tar -xvf --numeric-owner". If you get a message stating "invalid tar magic", it is probably .tar.bz2 therefore use "tar -xvjf --numeric-owner". | ||
- | Lack of the package jolla-xt9 means there is no text correction engine in Sailfish. This also manifests as no Pīnyīn to Hanzi conversion for input of the Chinese language. | + | Lack of the package jolla-xt9 means there is no text correction engine in Sailfish. This also manifests as no Pīnyīn to Hanzi conversion for input of the Chinese language. This issue is addressed in itviewer and SourenAraya's later images however the legality of this remains divisive due to easy repository access to these packages even though they contain proprietary licensed software. |
If you have any installation questions or issues, please ask them in [http://talk.maemo.org/showthread.php?t=90761 this thread] on talk.maemo.org. Please refrain from asking Ubiboot related questions in this thread. Ubiboot related questions should be posted in this [http://talk.maemo.org/showthread.php?t=89345 thread]. | If you have any installation questions or issues, please ask them in [http://talk.maemo.org/showthread.php?t=90761 this thread] on talk.maemo.org. Please refrain from asking Ubiboot related questions in this thread. Ubiboot related questions should be posted in this [http://talk.maemo.org/showthread.php?t=89345 thread]. | ||
Line 43: | Line 42: | ||
==Firmwares== | ==Firmwares== | ||
- | Obtain Nokia N9 firmwares from [http://skeiron.org/firmware/N9/40.2012.21.3/ skeiron.org] or | + | Obtain Nokia N9 firmwares from [http://skeiron.org/firmware/N9/40.2012.21.3/ skeiron.org] (inaccessable) or [http://mrcrab.net/nokia/Nokia_N9.html?productID=4823499691&productType=RM-696 mrcrab.net] (inaccessable) or [https://markom.lt/n9/firmwares/ markom.lt] or [https://localhost.one/archive/2013/12/09/firmware-backup-nokia-n9-rm-696-version-402012213 localhost.one] |
- | [http://mrcrab.net/nokia/Nokia_N9.html?productID=4823499691&productType=RM-696 mrcrab.net] | + | |
+ | ==Flasher== | ||
+ | This enables you to Flash your Nokia N9. Obtain v3.12.1 from [http://skeiron.org/tablets-dev/maemo-dev-env-downloads/ skeiron.org]. (Source does not seem to work, mirror: [https://coderus.openrepos.net/flasher/ coderus.openrepos.net]) | ||
==Kernels== | ==Kernels== | ||
Line 50: | Line 51: | ||
Obtain the MOSLO kernel from: [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 nemomobile.org] or | Obtain the MOSLO kernel from: [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 nemomobile.org] or | ||
- | [http://www.multiupload.nl/WLLK09RF96 multiupload.nl] (zip file) | + | [http://www.multiupload.nl/WLLK09RF96 multiupload.nl] (zip file; Windows only users use this file) (file unavailable: mirror [https://github.com/ruedigergad/nemo-n9-blobs/blob/master/zImage-kernel-moslo-n9 here] |
==Ubiboot== | ==Ubiboot== | ||
Line 68: | Line 69: | ||
===SourenAraya's Sailfish images=== | ===SourenAraya's Sailfish images=== | ||
- | Available for download from: [http://n9.araya.su/images/mic_images/ araya.su] | + | Available for download from: [http://n9.araya.su/images/mic_images/ araya.su]. |
- | + | Has Terminal pre-installed on Sailfish v1.0.2.5. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
===vgrade's Kickstarter=== | ===vgrade's Kickstarter=== | ||
Line 83: | Line 79: | ||
Please see [https://wiki.merproject.org/wiki/Platform_SDK Mer Project Platform SDK] and [http://martinbrook.blogspot.co.uk/2013/12/n950-and-jolla-phone-repos-ive-been.html?m=1 Martin Brook's blog] for more information about creating your own image. | Please see [https://wiki.merproject.org/wiki/Platform_SDK Mer Project Platform SDK] and [http://martinbrook.blogspot.co.uk/2013/12/n950-and-jolla-phone-repos-ive-been.html?m=1 Martin Brook's blog] for more information about creating your own image. | ||
- | |||
=Additional Reading Material= | =Additional Reading Material= | ||
Line 104: | Line 99: | ||
==Step 2 - Re-flash your Nokia N9 to factory firmware== | ==Step 2 - Re-flash your Nokia N9 to factory firmware== | ||
*Note: Flashing can permanently damage or brick your Nokia N9. Do so at your own risk. | *Note: Flashing can permanently damage or brick your Nokia N9. Do so at your own risk. | ||
- | *Download the firmware you wish to use Harmattan with from [http://skeiron.org/firmware/N9/40.2012.21.3/ skeiron.org] or [http://mrcrab.net/nokia/Nokia_N9.html?productID=4823499691&productType=RM-696 mrcrab.net]. Your factory product code is printed on your SIM tray e.g. 059J245. You want the two files containing "DFL _61" e.g. A6D5F456_'''DFL61_HARMATTAN_40.2012.21-3_PR_LEGACY'''_005-OEM1-958_ARM.bin and 59BEC3BC_'''DFL61_HARMATTAN_40.2012.13-7'''.SEAP_'''EMMC'''_SEAP.bin. | + | *If you have not already, download the Flasher for your system and install it. You want v3.12.1 from [http://skeiron.org/tablets-dev/maemo-dev-env-downloads/ skeiron.org] (unavailable) or [https://coderus.openrepos.net/flasher/ coderus.openrepos.net] |
+ | *Download the firmware you wish to use Harmattan with from [http://skeiron.org/firmware/N9/40.2012.21.3/ skeiron.org] or [http://mrcrab.net/nokia/Nokia_N9.html?productID=4823499691&productType=RM-696 mrcrab.net]. '''*** Both download sources are unavailable and this manual is therefore unusable in its current shape. ***''' Your factory product code is printed on your SIM tray e.g. 059J245. You want the two files containing "DFL _61" e.g. A6D5F456_'''DFL61_HARMATTAN_40.2012.21-3_PR_LEGACY'''_005-OEM1-958_ARM.bin and 59BEC3BC_'''DFL61_HARMATTAN_40.2012.13-7'''.SEAP_'''EMMC'''_SEAP.bin. | ||
*Rename your firmware to "main.bin" and "emmc.bin" respectively and copy them to the directory where the flasher program is installed (e.g. '''"C:\Program Files\Nokia\Flasher"'''). Check the [[Flashing_N9|Maemo Community Wiki Nokia N9 Flashing Guide]] for further information. | *Rename your firmware to "main.bin" and "emmc.bin" respectively and copy them to the directory where the flasher program is installed (e.g. '''"C:\Program Files\Nokia\Flasher"'''). Check the [[Flashing_N9|Maemo Community Wiki Nokia N9 Flashing Guide]] for further information. | ||
*Ensure your handset is fully charged. Disconnect from all cables from it and turn off. | *Ensure your handset is fully charged. Disconnect from all cables from it and turn off. | ||
- | |||
- | *Open up a Root Terminal (Or Terminal and gain root/use sudo) or an elevated cmd.exe (by running it as Administrator on Windows Vista onwards) and set the directory to where flasher is located: <br> | + | *Open up a Root Terminal (Or Terminal and gain root/use sudo) or an elevated cmd.exe (by running it as Administrator on Windows Vista onwards) and set the directory to where flasher is located (for Windows): <br> |
- | + | <pre>cd /d "C:\Program Files\Nokia\Flasher"</pre> | |
*By connecting the USB cable to the computer and the turned off phone, you will initialise the Flashing Mode. | *By connecting the USB cable to the computer and the turned off phone, you will initialise the Flashing Mode. | ||
- | **This status can be checked with the command:<br> | + | **This status can be checked with the command:<br><pre>flasher -i</pre> |
- | *Flash your firmware with the command:<br> | + | *Flash your firmware with the command:<br><pre>flasher -F main.bin -F emmc.bin -f</pre> |
- | * | + | *On Linux, if flashing fails with message '''Error claiming USB interface: Device or resource busy''', the problem is the cdc_phonet, phonet and cdc_acm modules. Add the lines '''blacklist cdc_phonet''', '''blacklist phonet''' and '''blacklist cdc_acm''' to /etc/modprobe.d/modprobe.conf to blacklist these modules. |
*If flashing fails e.g. due to a Partition Mismatch, Security Code On Status or No Reply from Ping, you can try the following. There is a risk of bricking your phone and no warranty is provided by anyone! | *If flashing fails e.g. due to a Partition Mismatch, Security Code On Status or No Reply from Ping, you can try the following. There is a risk of bricking your phone and no warranty is provided by anyone! | ||
**Completely turn off the handset. | **Completely turn off the handset. | ||
- | ** | + | **First, try to flash your firmware with the command:<br><pre>flasher -F main.bin -F emmc.bin -f --no-preserve</pre><br>'''--no-preserve''' should re-flash the device. If this fails, run flasher with the following command:<br><pre>flasher -f -F main.bin --erase-user-data=secure -F emmc.bin</pre><br>This securely erases the root file system and security code, taking approximately 20 minutes to complete. To format the device completely, use:<br><pre>flasher -f -F main.bin --erase-user-data=secure -F emmc.bin --erase-mmc=secure</pre><br>This should flash the handset under nearly all circumstances and takes around 30 minutes for complete. |
- | This should flash the handset | + | |
- | If you do not wish to wait, you can stop the zeroising task and pull out the USB cable from the handset. This is a risky manoeuvre and could permanently The task can be stopped by:<br>'''Pressing CTRL + Z''' in a Linux Terminal <br>Opening Task Manager ('''CTRL+ALT+DEL''') and Ending the tasks '''cmd.exe''' and '''flasher.exe''' in Windows<br> | + | If you do not wish to wait, you can stop the zeroising task and pull out the USB cable from the handset. This is a risky manoeuvre and could permanently brick your handset. The task can be stopped by:<br>'''Pressing CTRL + Z''' in a Linux Terminal <br>Opening Task Manager ('''CTRL+ALT+DEL''') and Ending the tasks '''cmd.exe''' and '''flasher.exe''' in Windows<br> |
**Now completely turn off the phone. | **Now completely turn off the phone. | ||
**Turn it on and you will get a message asking you to "Install and Authorised Operating System" | **Turn it on and you will get a message asking you to "Install and Authorised Operating System" | ||
**Turn the phone back off. | **Turn the phone back off. | ||
- | **In flasher, run:<br> | + | **In flasher, run:<br><pre>flasher -F main.bin -F emmc.bin -f</pre> |
**The phone should proceed to flash normally. | **The phone should proceed to flash normally. | ||
==Step 3 - Flash the OpenMode!== | ==Step 3 - Flash the OpenMode!== | ||
- | + | ||
- | * | + | '''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. |
- | flasher -a | + | |
+ | '''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'''. | ||
+ | |||
+ | *(Optional) Remove the modified kernel warning before installing OpenMode. | ||
+ | - **Boot up Harmattan<br> | ||
+ | - **Enable developer mode<br> | ||
+ | - **Open terminal and type<br> | ||
+ | <pre>disclaimer-cal remove View-openmode</pre> | ||
+ | Be careful, type command as regular user, not root! | ||
+ | |||
+ | If you have troubles with flashing Ubiboot kernel read following, if not go to step 4. No need to reflash/zeroize device at this moment. | ||
+ | |||
+ | |||
+ | |||
+ | 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]) | ||
+ | |||
+ | See http://talk.maemo.org/showpost.php?p=1412084&postcount=1556 for more info. | ||
==Step 4 - Prepare Harmattan== | ==Step 4 - Prepare Harmattan== | ||
*Let Harmattan load up and run for a few minutes so you have date and time set correctly and the handset is fully functional. | *Let Harmattan load up and run for a few minutes so you have date and time set correctly and the handset is fully functional. | ||
- | *Install Developer Mode on Harmattan so Terminal is made available as it is useful later on and required if are | + | *Install Developer Mode on Harmattan so Terminal is made available as it is useful later on and required if are not using Linux. |
+ | *Install nano from Terminal:<br> | ||
+ | devel-su | ||
+ | rootme # root's password | ||
+ | apt-get install nano | ||
*(Optional) Install N9QT from [http://talk.maemo.org/showthread.php?t=80600 here] and choose Option "'''H'''", and select "'''Enable SSH for root'''". This will allow you to run commands on Harmattan from your PC and enables copying and pasting of commands and files to and from your PC easily. | *(Optional) Install N9QT from [http://talk.maemo.org/showthread.php?t=80600 here] and choose Option "'''H'''", and select "'''Enable SSH for root'''". This will allow you to run commands on Harmattan from your PC and enables copying and pasting of commands and files to and from your PC easily. | ||
+ | *(Optional) Apply the fix to prevent a bug which causes the closing of applications when installing applications. Simply follow these [http://talk.maemo.org/showthread.php?t=91825 instructions]. | ||
==Step 5 - Re-partition your handset== | ==Step 5 - Re-partition your handset== | ||
Line 144: | Line 175: | ||
*Download the MOSLO kernel from [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 nemomobile.org] or [http://www.multiupload.nl/WLLK09RF96 multiupload.nl]. Windows users must download from multiupload.nl as it is a .zip file. Extract the files using "Archive Manager" or an unzipping utility and copy them to where flasher and your firmware files are. | *Download the MOSLO kernel from [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 nemomobile.org] or [http://www.multiupload.nl/WLLK09RF96 multiupload.nl]. Windows users must download from multiupload.nl as it is a .zip file. Extract the files using "Archive Manager" or an unzipping utility and copy them to where flasher and your firmware files are. | ||
+ | * Extract the MOSLO kernel RPM package. It contains a usr/share/moslo directory, which contains the zImage-moslo and initrd-moslo files you need in the next step. (ArchLinux users can use rpmextract.sh from the rpmextract package) | ||
*Flash the MOSLO kernel using:<br> | *Flash the MOSLO kernel using:<br> | ||
- | ** | + | **<pre>flasher -k zImage-moslo -n initrd-moslo -l -b</pre> |
- | ** | + | ** Do not remove the usb cable after flashing, MOSLO kernel will boot automatically and repartition your handset. This process will be shown on the screen of your phone. |
- | *If you are a | + | *If you are a Linux user, MOSLO will now connect the "'''Alt_OS'''" partition to your PC. |
+ | *Disconnect the phone and turn it off completely. <br> | ||
- | *If you are a | + | *If you are a Windows user, note that '''you should never ever format the newly created partition''' (Windows wants to format this as FAT/NTFS as it cannot read EXT3, decline when it asks you to format!) |
- | + | ||
- | ''' | + | |
==Step 6 - Install Ubiboot== | ==Step 6 - Install Ubiboot== | ||
Line 159: | Line 190: | ||
*Download and extract the '''pre-configured''' Ubiboot from [http://www.swagman.org/juice/ubiboot/ubiboot_for_sailfish/ swagman.org] into the directory where flasher, main.bin and emmc.bin reside. | *Download and extract the '''pre-configured''' Ubiboot from [http://www.swagman.org/juice/ubiboot/ubiboot_for_sailfish/ swagman.org] into the directory where flasher, main.bin and emmc.bin reside. | ||
- | *Unpack the archive:<br> | + | *Unpack the archive:<br><pre>tar -xvf ubiboot-02_0.3.5_131213_SFOS.tar</pre> |
- | *Copy the extracted | + | *Copy the extracted '''ubiboot_035_sailfishos.tar''' to your device e.g into the "MyDocs" folder by connecting it in Mass Storage Mode. |
- | *Go to Terminal on your device, and obtain root access, then extract the archive:<br> | + | *Go to Terminal on your device, and obtain root access, then extract the archive:<br> |
- | *Power off your device and flash it in the usual way:<br> | + | devel-su |
+ | cd /home/user/MyDocs/ | ||
+ | tar -xvf ubiboot_035_sailfishos.tar -C / | ||
+ | *Power off your device and flash it in the usual way:<br><pre>flasher -a main.bin -k zImage_2.6.32.54-ubiboot-02_301013 --flash-only=kernel -f -R</pre> | ||
===If you use the non-configured Ubiboot=== | ===If you use the non-configured Ubiboot=== | ||
Line 168: | Line 202: | ||
*This method also allows Nitdroid and Firefox OS installation. | *This method also allows Nitdroid and Firefox OS installation. | ||
*Download and extract the '''latest''' Ubiboot release from [http://www.swagman.org/juice/ubiboot/ubiboot-02/ swagman.org] into the directory where flasher, main.bin and emmc.bin reside. | *Download and extract the '''latest''' Ubiboot release from [http://www.swagman.org/juice/ubiboot/ubiboot-02/ swagman.org] into the directory where flasher, main.bin and emmc.bin reside. | ||
- | *Install the ubiboot kernel with:<br> | + | *Install the ubiboot kernel with:<br><pre>flasher -a main.bin -k zImage_2.6.32.54-ubiboot-02_301013 --flash-only=kernel -f -R</pre> |
- | * | + | <br> |
- | + | *If you are a Windows user, please now proceed to '''Step W - Install Sailfish (Windows only Users)'''. If you get a prompt asking you to format the newly mounted partition, '''DO NOT FORMAT THE PARTITION'''. | |
- | + | ||
- | NB: If you format Alt_OS, it will get a random string of letters and numbers, like the "/home/" partition. Alt_OS is the 4.2GB partition. | + | *If you are a Linux user: Leave the cable plugged in and allow Ubiboot to enter maintenance mode.<br>4 Removable Partitions will be visible in Computer. These are:<br>"'''rootfs'''" (Harmattan root filesystem, mmcblk0p2),<br>"'''Alt_OS'''" (where nemo/sailfish resides, mmcblk0p4)<br> "'''x767x676x7c6'''" (a random string of letters +/- numbers. This is where you can install Nitdroid and Firefox OS if you wish. It is also the "/home/" directory in Harmattan (mmcblk0p3)(but NOT "/home/user/MyDocs")<br>"'''Nokia N9'''" (mmcblk0p1) is "/home/user/MyDocs" directory on Harmattan [EMMC/USB Mass Storage Mode]).<br><br>NB: If you format Alt_OS, it will get a random string of letters and numbers, like the "/home/" partition. Alt_OS is the 4.2GB partition.<br>You can reset the disk label to "'''Alt_OS'''" by formatting it:<br> |
+ | df #Get the disk ID of the 4.2GB partition | ||
+ | mkfs.ext4 /dev/sdXY -L "Alt_OS" # Where X and Y are your disk ID e.g. /dev/sdb2 | ||
+ | <br>This can also be used to assign '''x767x676x7c6''' a name e.g. '''Nitdroid'''. | ||
*Go to "/media/Nokia N9" on your PC (Harmattan's Mass Storage). Make a directory called "'''boot'''". | *Go to "/media/Nokia N9" on your PC (Harmattan's Mass Storage). Make a directory called "'''boot'''". | ||
**Copy "'''ubiboot.conf'''" and "'''ubiboot-02.menus.cpio'''" from the extracted '''ubiboot-02_310513.tar''' into "/media/Nokia N9"/boot". | **Copy "'''ubiboot.conf'''" and "'''ubiboot-02.menus.cpio'''" from the extracted '''ubiboot-02_310513.tar''' into "/media/Nokia N9"/boot". | ||
- | **Go to "'''/media/rootfs'''" on your PC to access Harmattan's root file system. Go to the "'''boot'''" directory ("'''/media/rootfs/boot'''"). Copy "'''zImage_2.6.32.54-openmode_l2fix'''" (which was flashed earlier) into "'''/media/rootfs/boot'''" | + | **Go to "'''/media/rootfs'''" on your PC to access Harmattan's root file system. Go to the "'''boot'''" directory ("'''/media/rootfs/boot'''"). Copy "'''zImage_2.6.32.54-openmode_l2fix'''" (which was flashed earlier) into "'''/media/rootfs/boot'''". |
*If you have boot issues, please consult for help in the [http://talk.maemo.org/showthread.php?t=89345 Ubiboot thread on talk.maemo.org] so the Sailfish thread remains for Sailfish issues! | *If you have boot issues, please consult for help in the [http://talk.maemo.org/showthread.php?t=89345 Ubiboot thread on talk.maemo.org] so the Sailfish thread remains for Sailfish issues! | ||
Line 185: | Line 221: | ||
*Now download the Sailfish image of choice, or compile your own using the Mer SDK. Rename it to '''sailfish.tar.bz2''' | *Now download the Sailfish image of choice, or compile your own using the Mer SDK. Rename it to '''sailfish.tar.bz2''' | ||
*Extract the Sailfish archive to "'''/media/Alt_OS'''" on your PC with:<br> | *Extract the Sailfish archive to "'''/media/Alt_OS'''" on your PC with:<br> | ||
- | + | <pre>tar -xvjf sailfish.tar.bz2 --numeric-owner -C /media/Alt_OS/</pre> | |
===Enable Root Access=== | ===Enable Root Access=== | ||
- | After the extraction has finished, this is a good time to enable root access in Sailfish and root login via SSH. This will allow you to remotely access your device after WLAN has been set up and avoid all the chrooting hassle! To | + | After the extraction has finished, this is a good time to enable root access in Sailfish and root login via SSH. This will allow you to remotely access your device after WLAN has been set up and avoid all the chrooting hassle! To reset root's password ([http://talk.maemo.org/showpost.php?p=1395095&postcount=678 MAX9's method]), enter the following into your PC terminal:<br> |
- | + | <pre>nano /media/Alt_OS/etc/shadow # Open the shadow file where Alt_OS is mounted</pre><br><br> | |
On the first line, you will have (where XXXXX are 5 numbers):<br> | On the first line, you will have (where XXXXX are 5 numbers):<br> | ||
- | + | <pre>root:34.random.letters.numbers.and.symbols:XXXXX:0:99999:7:::</pre><br><br> | |
Now, delete the all letters, numbers and symbols after "'''root:'''" and before ''':XXXXX:0:99999:7:::'''<br> | Now, delete the all letters, numbers and symbols after "'''root:'''" and before ''':XXXXX:0:99999:7:::'''<br> | ||
For example, change:<br> | For example, change:<br> | ||
- | + | <pre>root:$1$00Z6Bfjc$vlIKUOMHIavIABL1gNuy6/:16049:0:99999:7:::</pre> <br> | |
into:<br> | into:<br> | ||
- | + | <pre>root::16049:0:99999:7:::</pre> | |
<br><br> | <br><br> | ||
- | Save and exit the file (CTRL+X, Y to save).<br><br> | + | Save and exit the file ('''CTRL+X''', '''Y''' to save).<br><br> |
- | Now, when you boot into Sailfish, '''you will not have a password for root'''.<br><br> | + | Now, when you boot into Sailfish, '''you will not have a password for root'''. Depending on your SSH configuration, you will not be able to SSH into your handset until root has a password.<br><br> |
To set a root password, open Terminal in Sailfish and enter:<br> | To set a root password, open Terminal in Sailfish and enter:<br> | ||
- | + | su | |
- | + | passwd root | |
- | + | nemo # Enter your password for root | |
+ | nemo # Repeat your password for root | ||
===Enable Root SSH Access=== | ===Enable Root SSH Access=== | ||
This is also a good time to enable root SSH access. In your PC's root terminal, enter the following:<br> | This is also a good time to enable root SSH access. In your PC's root terminal, enter the following:<br> | ||
- | + | nano /media/Alt_OS/etc/ssh/sshd_config | |
Now, go to an empty line in the file and type in the following:<br> | Now, go to an empty line in the file and type in the following:<br> | ||
- | + | PermitRootLogin yes''' | |
- | Again, save and exit the file (CTRL+X, Y to save). | + | Again, save and exit the file ('''CTRL+X''', '''Y''' to save). |
==Step W - Install Sailfish (Windows only Users)== | ==Step W - Install Sailfish (Windows only Users)== | ||
Line 228: | Line 265: | ||
*Disconnect the phone from the PC and remove the USB cable. | *Disconnect the phone from the PC and remove the USB cable. | ||
*Launch Terminal on Harmattan (or SSH in) any type the following commands:<br> | *Launch Terminal on Harmattan (or SSH in) any type the following commands:<br> | ||
- | + | devel-su | |
- | + | rootme # Or your root password | |
- | + | cd /home/user/MyDocs/ | |
- | + | ls # Here, you should see all your MyDocs and sailfish.tar.bz2 | |
- | + | mkdir /sailfish # Mount Alt_OS in Harmattan | |
- | + | mount /dev/mmcblk0p4 /sailfish | |
- | + | tar -xvjf sailfish.tar.bz2 --numeric-owner -C /sailfish/ # This will take a while as it extracts Sailfish onto the handset | |
- | + | sync | |
- | You can now exit Terminal and reboot into Sailfish or '''Enable root SSH access on Sailfish''' | + | You can now exit Terminal and reboot into Sailfish or '''Enable root SSH access on Sailfish'''.<br><br> |
- | '''To upgrade to a new image, simply delete everything in /media/Alt_OS ( | + | '''To upgrade to a new image, simply delete everything in /media/Alt_OS (when on a Linux PC): |
+ | rm -frv /media/Alt_OS/* | ||
+ | |||
+ | Alternatively, when you have mounted Alt_OS in Harmattan: | ||
+ | rm -frv /sailfish/* | ||
+ | |||
+ | You will loose ALL your Sailfish data!<br> | ||
+ | To '''preserve user data''', '''delete everything in "Alt_OS"''' '''apart from "/home/nemo/"'''. In '''"/home/nemo/"''', '''delete''' the '''".cache"''' directory. | ||
==Step 8 - Boot into Sailfish== | ==Step 8 - Boot into Sailfish== | ||
Line 249: | Line 293: | ||
If you do not select an OS, Harmattan will boot by default. | If you do not select an OS, Harmattan will boot by default. | ||
- | To boot into Sailfish, tap the Nemo icon (3rd one down on the left, looks like a blue padlock) | + | To boot into Sailfish, tap the Sailfish icon if you are using the pre-configured ubiboot or the Nemo icon (3rd one down on the left, looks like a blue padlock) if you are using the manually configured version. Next, tap either "latest 2.6.32" or "vmlinuz-2.6.63.20120129.1-n950". For Harmattan, it is the Meego logo and then "openmode+l2 fix". |
On your first boot, select your input and display languages. Next, select a theme colour. After going forward, you may have to go back and select your theme colour again and go forward again before the page that allows you to set the date and time appears. | On your first boot, select your input and display languages. Next, select a theme colour. After going forward, you may have to go back and select your theme colour again and go forward again before the page that allows you to set the date and time appears. | ||
Line 262: | Line 306: | ||
=Bugs and Known Issues= | =Bugs and Known Issues= | ||
- | + | ||
*No Android capability as of present. | *No Android capability as of present. | ||
*Camera does not work. | *Camera does not work. | ||
+ | *Volume buttons do not work. | ||
*Accelerometer does not work. | *Accelerometer does not work. | ||
+ | *GPS does not work. | ||
+ | *Notifications and Gestures rotated 90 degrees clockwise. | ||
+ | *You must manually configure you internet access point. Long-press on the AP in Settings to enter your operator's configuration. | ||
+ | |||
+ | Full list available at [https://github.com/romu70/sailfish-for-other/issues?state=open GitHub] | ||
=Additional Guidance= | =Additional Guidance= | ||
Line 273: | Line 323: | ||
The date/time may not set correctly in Sailfish. To fix this, boot into Harmattan and fire up terminal: | The date/time may not set correctly in Sailfish. To fix this, boot into Harmattan and fire up terminal: | ||
- | + | devel-su | |
- | + | rootme # Or you root password<br> | |
- | + | date --set "2013-12-07 22:59" # YYYY-MM-DD hh:mm ISO 8601 Format | |
===Enable Root Access (Windows Users)=== | ===Enable Root Access (Windows Users)=== | ||
Line 281: | Line 331: | ||
If you are using Windows or did not enable root access earlier, the following instruction will show you how. The procedure is the same as that which was explained previously in Step 7 but takes place in Harmattan as opposed to on a Linux computer. | If you are using Windows or did not enable root access earlier, the following instruction will show you how. The procedure is the same as that which was explained previously in Step 7 but takes place in Harmattan as opposed to on a Linux computer. | ||
- | Load Harmattan and open Terminal. Type the following: | + | Load Harmattan and open Terminal. Type the following: |
- | + | devel-su | |
- | + | cd / | |
- | + | mkdir sailfish | |
- | + | mount /dev/mmcblk0p4 /sailfish | |
- | + | nano /sailfish/etc/shadow''' # Open the shadow file where Sailfish is mounted<br><br> | |
- | On the first line, you will have (where XXXXX are 5 numbers): | + | On the first line, you will have (where XXXXX are 5 numbers): |
- | + | root:34.random.letters.numbers.and.symbols:XXXXX:0:99999:7:::<br><br> | |
Now, delete the all letters, numbers and symbols after "'''root:'''" and before ''':XXXXX:0:99999:7:::'''<br> | Now, delete the all letters, numbers and symbols after "'''root:'''" and before ''':XXXXX:0:99999:7:::'''<br> | ||
- | For example, change: | + | For example, change: |
- | + | root:$1$00Z6Bfjc$vlIKUOMHIavIABL1gNuy6/:16049:0:99999:7:::''' | |
- | into: | + | into: |
- | + | root::16049:0:99999:7::: | |
<br><br> | <br><br> | ||
- | Save and exit the file (CTRL+X, Y to save).<br><br> | + | Save and exit the file ('''CTRL+X''', '''Y''' to save).<br><br> |
- | Now, when you boot into Sailfish, '''you will not have a password for root'''.<br><br> | + | Now, when you boot into '''Sailfish''', '''you will not have a password for root'''.<br><br> |
- | To set a root password, open Terminal in Sailfish and enter: | + | To set a root password, open '''Terminal in Sailfish''' and enter: |
- | + | su | |
- | + | passwd root | |
- | + | nemo # Enter your password for root | |
+ | nemo # Repeat your password for root | ||
===Enable Root SSH Access=== | ===Enable Root SSH Access=== | ||
- | + | To enable root SSH access via Harmattan's terminal, enter the following: | |
- | + | nano /sailfish/etc/ssh/sshd_config | |
- | + | If you are Sailfish's terminal with root access, enter the following: | |
- | + | nano /etc/ssh/sshd_config | |
- | + | Now, go to an empty line in the file and type in the following: | |
+ | PermitRootLogin yes | ||
+ | Again, save and exit the file ('''CTRL+X''', '''Y''' to save). | ||
- | == | + | ==chroot into Sailfish from Harmattan== |
This is based on krnlyng's (liar) method. It is useful for access to Sailfish to run terminal commands such as updating the OS. | This is based on krnlyng's (liar) method. It is useful for access to Sailfish to run terminal commands such as updating the OS. | ||
- | Open terminal in Harmattan and type: | + | Open terminal in Harmattan and type: |
- | + | devel-su | |
- | + | cd / | |
- | + | mkdir sailfish | |
- | + | mount /dev/mmcblk0p4 /sailfish | |
- | + | mount -o bind /proc /sailfish/proc | |
- | + | mount -o bind /sys /sailfish/sys | |
- | + | mount -o bind /dev /sailfish/dev | |
- | + | usr/sbin/chroot /sailfish | |
- | When you have finished in Sailfish, exit and | + | When you have finished in Sailfish, exit and un-mount with the following commands: |
- | + | exit # Exit out of Sailfish chroot | |
- | + | umount /sailfish/dev | |
- | + | umount /sailfish/proc | |
- | + | umount /sailfish/sys | |
- | + | umount /sailfish | |
- | + | exit # Exit out of devel-su | |
- | + | exit # Exit out of Terminal | |
- | + | ||
==Developer Mode frame rate issue== | ==Developer Mode frame rate issue== | ||
- | When in developer mode, do not enable "Display Framerate". It causes random colour drawings on the screen, making it impossible to disable. To fix (credits to [http://talk.maemo.org/member.php?u=66860 liar]), | + | When in developer mode, do not enable "Display Framerate". It causes random colour drawings on the screen, making it impossible to disable without editing a configuration file. |
- | + | ||
- | + | To fix open meego terminal, gain root privileges (devel-su or sudo) and execute: | |
+ | mkdir /sailfish | ||
+ | mount /dev/mmcblk0p4 /sailfish | ||
+ | mount -o bind /proc /sailfish/proc | ||
+ | mount -o bind /sys /sailfish/sys | ||
+ | mount -o bind /dev /sailfish/dev | ||
+ | /usr/sbin/chroot /sailfish | ||
+ | gconftool-2 -u /desktop/jolla/silica_framerate | ||
+ | exit | ||
+ | umount /sailfish/dev | ||
+ | umount /sailfish/proc | ||
+ | umount /sailfish/sys | ||
+ | umount /sailfish | ||
+ | |||
+ | And you can close terminal and reboot to sailfish | ||
+ | |||
+ | --- | ||
+ | |||
+ | Alternative (credits to [http://talk.maemo.org/member.php?u=66860 liar]), SSH into your handset and type: | ||
+ | nano /home/nemo/.gconf/desktop/jolla/%gconf.xml | ||
+ | |||
Ensure that that there is nothing between the '''stringvalue''' option, as below: <br> | Ensure that that there is nothing between the '''stringvalue''' option, as below: <br> | ||
- | + | <stringvalue></stringvalue> | |
- | Save and exit (CTRL + X, Y to save). Reboot the handset and it should display everything correctly again. | + | Save and exit ('''CTRL + X''', '''Y''' to save). Reboot the handset and it should display everything correctly again. It is also possible to do this from Harmattan by mounting Sailfish or using Ubiboot's Maintenance Mode and a Linux PC. |
==Proximity sensor Fix== | ==Proximity sensor Fix== | ||
- | To fix the proximity sensor (this must be done at every boot), in Sailfish terminal type: | + | To fix the proximity sensor (this must be done at every boot), in Sailfish terminal type: |
- | + | su | |
- | + | nemo # Your root password | |
- | + | echo 1 > /sys/devices/platform/i2c_omap.2/i2c-2/2-0039/prox_enable | |
==Repository Replacement== | ==Repository Replacement== | ||
Line 364: | Line 436: | ||
You cannot use the repositories provided by default in the Sailfish images. You must remove them and replace them with custom ones. | You cannot use the repositories provided by default in the Sailfish images. You must remove them and replace them with custom ones. | ||
- | This is done by editing | + | This is done by editing '''/etc/ssu/ssu.ini''', without using "zypper ar". |
- | [http://talk.maemo.org/showpost.php?p= | + | [http://talk.maemo.org/showpost.php?p=1403704&postcount=1236 This post] by coderus builds on [http://talk.maemo.org/showpost.php?p=1395790&postcount=772 csdozi]'s work has working contents for the ssu.ini file. |
- | + | ==Access Harmattan's MyDocs== | |
- | '' | + | To access your EMMC (Harmattan's MyDocs, type the following into Sailfish's Terminal. Credit to [http://talk.maemo.org/showpost.php?p=1395593&postcount=729 max83]. |
- | + | mkdir /home/nemo/MyDocs | |
- | + | chown -R nemo:nemo /home/nemo/MyDocs/ | |
- | + | chmod +w /home/nemo/MyDocs/ | |
- | + | nano /etc/fstab | |
- | + | ||
- | + | Add the following line to the end of the fstab file: | |
- | + | /dev/mmcblk0p1 /home/nemo/MyDocs vfat auto,users,rw,utf8,shortname=mixed,umask=000 0 0 | |
- | + | Now Save ('''CTRL+X''', '''Y''') and reboot Sailfish | |
+ | reboot | ||
- | + | You can also link your directories in Sailfish to those in Harmattan after rebooting by deleting the respective directory (and contents!) and using symbolic links to the corresponding Harmattan files e.g.:<br> | |
- | + | *For Documents: | |
- | + | cd /home/nemo | |
- | + | rm -frv ./Documents | |
+ | ln -s ./MyDocs/Documents ./Documents | ||
- | + | *For Downloads:<br> | |
- | + | cd /home/nemo | |
- | + | rm -frv ./Downloads | |
- | + | ln -s ./MyDocs/Downloads ./Downloads | |
- | + | *For Music:<br> | |
- | *For | + | cd /home/nemo |
+ | rm -frv ./Music | ||
+ | ln -s ./MyDocs/Music ./Music | ||
+ | |||
+ | *For Images: | ||
+ | cd /home/nemo/Pictures | ||
+ | rm -frv ./* | ||
+ | ln -s ../MyDocs/DCIM/ ./Camera | ||
+ | ln -s ../MyDocs/Pictures/ ./Pictures | ||
+ | If you also want to include your Whatsup images in Jolla's Media application: | ||
+ | ln -s ../MyDocs/Whatsup/images/ ./Whatsup.images | ||
+ | |||
+ | *For Videos: | ||
+ | cd /home/nemo/Videos | ||
+ | rm -frv ./* | ||
+ | ln -s ../MyDocs/DCIM/ ./Camera | ||
+ | ln -s ../MyDocs/Movies/ ./Movies | ||
+ | ln -s ../MyDocs/Videos/ ./Videos | ||
+ | If you also want to include your Whatsup videos in Jolla's Media application: | ||
+ | ln -s ../MyDocs/Whatsup/video/ ./Whatsup.video | ||
+ | |||
+ | Please note that '''there is an issue with Images and Videos not showing in the Gallery application following reboot'''. They show following the symlink creation. This may be a permission or tracker issue and any solution would be appreciated! | ||
+ | |||
+ | ==Battery charging== | ||
+ | === bme workaround === | ||
+ | right now the battery status / power management isn't handled by sailfish. | ||
+ | as workaround use: | ||
+ | systemctl start bme-rm-680-bin.service # starts it right now | ||
+ | bmestat # shows bat stat | ||
+ | |||
+ | The service has to be started after each reboot of Sailfish OS. | ||
+ | |||
+ | === statefs Workaround (with GUI!) === | ||
+ | Coderus has put together a statefs provider, which enables the SailfishOS battery level indicator. | ||
+ | |||
+ | The pull request has been merged into the master Nemo Mobile branch. | ||
+ | https://github.com/nemomobile/statefs-providers/pull/6 | ||
+ | |||
+ | If your image uses an older Nemo image, you can use this [https://www.dropbox.com/s/bwznwtalao9v3cq/statefs-provider-bme-1.0.0-3.armv7hl.rpm RPM] that coderus has provided to fix the issue. | ||
- | + | To install it, navigate to the directory where you downloaded this file and run the following command as root in Terminal: | |
+ | zypper install statefs-provider-bme-1.0.0-3.armv7hl.rpm | ||
- | + | It will offer you two choices. Select '''1''' to remove the other package and install this patch. You now have correct battery indicator thanks to Coderus:) | |
- | + | =Remove Sailfish= | |
+ | To remove Sailfish and restore your device back to factory settings, flash with: | ||
+ | flasher -f -F main.bin --erase-user-data=secure -F emmc.bin --erase-mmc=secure | ||
- | + | This will completely format your device, including its EMMC therefore '''backup before you flash'''! | |
- | + | [[Category:Mer]] | |
+ | [[Category:Operating system]] |
Latest revision as of 00:57, 6 April 2018
[edit] Introduction
Introduction
[edit] Credits
This guide has been compiled from numerous previous sources and credits are due to lots of individuals for their original work, methods and support to the community, including: rzr, souran, Martin Brook, vgrade, coderus, Nad, mikecomputing, TMavica, krnlyng/liar, max83, flotron, juiceme, contributors to piratepad, Nemo contributors and anyone else trying to make Sailfish run on the Nokia N9/N950.
Please help by contributing any information or methods you have to help make Nemo and Sailfish run better on the Nokia N9/N950.
[edit] Installation environment
The guide assumes some basic Linux knowledge although help can be obtained in this thread should the need arise.
A tested environment has been as follows:
- Windows 7 Host
- Debian v7.2 x64 as a Virtual Machine Running on VMware. Virtualbox is free-ware and should work fine too. Any Linux distribution shall work but the instructions that follow have been used on Debian with Root Terminal. Live ISO's are also an option however files may not be retained on following reboot therefore it is advised to store everything on a local hard disk or removable drive.
It is strongly recommended to do everything on the Linux installation as it can easily read the EXT3/4 partitions presented by the MOSLO and Ubiboot maintenance modes.
There can be a loss of Internet connectivity (until reboot) on the Linux machine when in MOSLO/Ubiboot maintenance mode therefore a second device with internet capabilities is recommended.
For a Windows only installation, please follow the guide then proceed to Step W when prompted.
[edit] Notes
If your handset is factory SIM-locked, it may not be possible to install unsigned kernels, thus Sailfish. There is currently no known work-around and unlocking the handset after purchase does not seem to alleviate this issue.
To completely turn off the handset manually, hold the power button for ~8 seconds.
When extracting a tarball ending with .tar, use "tar -xvf --numeric-owner". If you get a message stating "invalid tar magic", it is probably .tar.bz2 therefore use "tar -xvjf --numeric-owner".
Lack of the package jolla-xt9 means there is no text correction engine in Sailfish. This also manifests as no Pīnyīn to Hanzi conversion for input of the Chinese language. This issue is addressed in itviewer and SourenAraya's later images however the legality of this remains divisive due to easy repository access to these packages even though they contain proprietary licensed software.
If you have any installation questions or issues, please ask them in this thread on talk.maemo.org. Please refrain from asking Ubiboot related questions in this thread. Ubiboot related questions should be posted in this thread.
[edit] Downloadable Resources
These resources are required to get Sailfish working on your Nokia N9/N950.
[edit] Firmwares
Obtain Nokia N9 firmwares from skeiron.org (inaccessable) or mrcrab.net (inaccessable) or markom.lt or localhost.one
[edit] Flasher
This enables you to Flash your Nokia N9. Obtain v3.12.1 from skeiron.org. (Source does not seem to work, mirror: coderus.openrepos.net)
[edit] Kernels
Obtain the OpenMode kernel from swagman.org
Obtain the MOSLO kernel from: nemomobile.org or multiupload.nl (zip file; Windows only users use this file) (file unavailable: mirror here
[edit] Ubiboot
Obtain SailfishOS-preconfigured ubiboot from swagman.org
The above version is specially tailored to boot ONLY Harmattan and Sailfish. If you want to use other operating systems (Nitdroid, Nemo, Firefox OS), you should use the version below. However, please note that you need to configure it manually (advanced users only).
Obtain the un-configured Ubiboot from swagman.org
Download the latest version available. For more information on Ubiboot, please visit the Maemo Community Wiki article
[edit] Sailfish Images
There are numerous images available for download.
[edit] SourenAraya's Sailfish images
Available for download from: araya.su. Has Terminal pre-installed on Sailfish v1.0.2.5.
[edit] vgrade's Kickstarter
Available from https://github.com/martinbrook/jolla-n950-kickstart
This script allows compositions of an image using the MerSDK kit.
Please see Mer Project Platform SDK and Martin Brook's blog for more information about creating your own image.
[edit] Additional Reading Material
These are not required to be read for installation but many of the latest developments are highlighted here.
rzr's n950club
PiratePad
IRC - IRC Chat for support and discussion. Monthly meetings on the first Sunday of month at 19:00 UTC.
[edit] Installation Guide
[edit] Step 1 - Backup your N9
- Backup your Nokia N9 using Nokia Suite for PC or the phone's built-in utility in Setting. Also backup you EMMC (MyDocs) by connecting your Nokia N9 to your PC in "USB Mass Storage Mode".
- If you have used the built-in tool, connect your phone as "USB Mass Storage Mode" and ensure you have backed up the .backup folder on your PC.
- Close all your open applications on your Nokia N9. It is recommended that you backup up /home/.config, /home/.local and /home/.whatsup (or/home/.wazapp) too so you have the configurations and settings for your installed applications. This can easily be achieved by using N9QuickTweak. Install it, choose Option "H", and select "Enable SSH for root". Now, use WinSCP or Filezilla to access you phone and copy these folders to your PC.
- Backup your backups.
[edit] Step 2 - Re-flash your Nokia N9 to factory firmware
- Note: Flashing can permanently damage or brick your Nokia N9. Do so at your own risk.
- If you have not already, download the Flasher for your system and install it. You want v3.12.1 from skeiron.org (unavailable) or coderus.openrepos.net
- Download the firmware you wish to use Harmattan with from skeiron.org or mrcrab.net. *** Both download sources are unavailable and this manual is therefore unusable in its current shape. *** Your factory product code is printed on your SIM tray e.g. 059J245. You want the two files containing "DFL _61" e.g. A6D5F456_DFL61_HARMATTAN_40.2012.21-3_PR_LEGACY_005-OEM1-958_ARM.bin and 59BEC3BC_DFL61_HARMATTAN_40.2012.13-7.SEAP_EMMC_SEAP.bin.
- Rename your firmware to "main.bin" and "emmc.bin" respectively and copy them to the directory where the flasher program is installed (e.g. "C:\Program Files\Nokia\Flasher"). Check the Maemo Community Wiki Nokia N9 Flashing Guide for further information.
- Ensure your handset is fully charged. Disconnect from all cables from it and turn off.
- Open up a Root Terminal (Or Terminal and gain root/use sudo) or an elevated cmd.exe (by running it as Administrator on Windows Vista onwards) and set the directory to where flasher is located (for Windows):
cd /d "C:\Program Files\Nokia\Flasher"
- By connecting the USB cable to the computer and the turned off phone, you will initialise the Flashing Mode.
- This status can be checked with the command:
flasher -i
- This status can be checked with the command:
- Flash your firmware with the command:
flasher -F main.bin -F emmc.bin -f
- On Linux, if flashing fails with message Error claiming USB interface: Device or resource busy, the problem is the cdc_phonet, phonet and cdc_acm modules. Add the lines blacklist cdc_phonet, blacklist phonet and blacklist cdc_acm to /etc/modprobe.d/modprobe.conf to blacklist these modules.
- If flashing fails e.g. due to a Partition Mismatch, Security Code On Status or No Reply from Ping, you can try the following. There is a risk of bricking your phone and no warranty is provided by anyone!
- Completely turn off the handset.
- First, try to flash your firmware with the command:
flasher -F main.bin -F emmc.bin -f --no-preserve
--no-preserve should re-flash the device. If this fails, run flasher with the following command:flasher -f -F main.bin --erase-user-data=secure -F emmc.bin
This securely erases the root file system and security code, taking approximately 20 minutes to complete. To format the device completely, use:flasher -f -F main.bin --erase-user-data=secure -F emmc.bin --erase-mmc=secure
This should flash the handset under nearly all circumstances and takes around 30 minutes for complete.
If you do not wish to wait, you can stop the zeroising task and pull out the USB cable from the handset. This is a risky manoeuvre and could permanently brick your handset. The task can be stopped by:
Pressing CTRL + Z in a Linux Terminal
Opening Task Manager (CTRL+ALT+DEL) and Ending the tasks cmd.exe and flasher.exe in Windows
- Now completely turn off the phone.
- Turn it on and you will get a message asking you to "Install and Authorised Operating System"
- Turn the phone back off.
- In flasher, run:
flasher -F main.bin -F emmc.bin -f
- The phone should proceed to flash normally.
[edit] Step 3 - Flash the OpenMode!
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.
- (Optional) Remove the modified kernel warning before installing OpenMode.
- **Boot up Harmattan
- **Enable developer mode
- **Open terminal and type
disclaimer-cal remove View-openmode
Be careful, type command as regular user, not root!
If you have troubles with flashing Ubiboot kernel read following, if not go to step 4. No need to reflash/zeroize device at this moment.
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)
See http://talk.maemo.org/showpost.php?p=1412084&postcount=1556 for more info.
[edit] Step 4 - Prepare Harmattan
- Let Harmattan load up and run for a few minutes so you have date and time set correctly and the handset is fully functional.
- Install Developer Mode on Harmattan so Terminal is made available as it is useful later on and required if are not using Linux.
- Install nano from Terminal:
devel-su rootme # root's password apt-get install nano
- (Optional) Install N9QT from here and choose Option "H", and select "Enable SSH for root". This will allow you to run commands on Harmattan from your PC and enables copying and pasting of commands and files to and from your PC easily.
- (Optional) Apply the fix to prevent a bug which causes the closing of applications when installing applications. Simply follow these instructions.
[edit] Step 5 - Re-partition your handset
- Turn off your handset. If you have not already, start up a Linux computer/virtual machine.
- Download the MOSLO kernel from nemomobile.org or multiupload.nl. Windows users must download from multiupload.nl as it is a .zip file. Extract the files using "Archive Manager" or an unzipping utility and copy them to where flasher and your firmware files are.
- Extract the MOSLO kernel RPM package. It contains a usr/share/moslo directory, which contains the zImage-moslo and initrd-moslo files you need in the next step. (ArchLinux users can use rpmextract.sh from the rpmextract package)
- Flash the MOSLO kernel using:
flasher -k zImage-moslo -n initrd-moslo -l -b
- Do not remove the usb cable after flashing, MOSLO kernel will boot automatically and repartition your handset. This process will be shown on the screen of your phone.
- If you are a Linux user, MOSLO will now connect the "Alt_OS" partition to your PC.
- Disconnect the phone and turn it off completely.
- If you are a Windows user, note that you should never ever format the newly created partition (Windows wants to format this as FAT/NTFS as it cannot read EXT3, decline when it asks you to format!)
[edit] Step 6 - Install Ubiboot
[edit] If you use the pre-configured Ubiboot for SailfishOS
- Download and extract the pre-configured Ubiboot from swagman.org into the directory where flasher, main.bin and emmc.bin reside.
- Unpack the archive:
tar -xvf ubiboot-02_0.3.5_131213_SFOS.tar
- Copy the extracted ubiboot_035_sailfishos.tar to your device e.g into the "MyDocs" folder by connecting it in Mass Storage Mode.
- Go to Terminal on your device, and obtain root access, then extract the archive:
devel-su cd /home/user/MyDocs/ tar -xvf ubiboot_035_sailfishos.tar -C /
- Power off your device and flash it in the usual way:
flasher -a main.bin -k zImage_2.6.32.54-ubiboot-02_301013 --flash-only=kernel -f -R
[edit] If you use the non-configured Ubiboot
- This method also allows Nitdroid and Firefox OS installation.
- Download and extract the latest Ubiboot release from swagman.org into the directory where flasher, main.bin and emmc.bin reside.
- Install the ubiboot kernel with:
flasher -a main.bin -k zImage_2.6.32.54-ubiboot-02_301013 --flash-only=kernel -f -R
- If you are a Windows user, please now proceed to Step W - Install Sailfish (Windows only Users). If you get a prompt asking you to format the newly mounted partition, DO NOT FORMAT THE PARTITION.
- If you are a Linux user: Leave the cable plugged in and allow Ubiboot to enter maintenance mode.
4 Removable Partitions will be visible in Computer. These are:
"rootfs" (Harmattan root filesystem, mmcblk0p2),
"Alt_OS" (where nemo/sailfish resides, mmcblk0p4)
"x767x676x7c6" (a random string of letters +/- numbers. This is where you can install Nitdroid and Firefox OS if you wish. It is also the "/home/" directory in Harmattan (mmcblk0p3)(but NOT "/home/user/MyDocs")
"Nokia N9" (mmcblk0p1) is "/home/user/MyDocs" directory on Harmattan [EMMC/USB Mass Storage Mode]).
NB: If you format Alt_OS, it will get a random string of letters and numbers, like the "/home/" partition. Alt_OS is the 4.2GB partition.
You can reset the disk label to "Alt_OS" by formatting it:
df #Get the disk ID of the 4.2GB partition mkfs.ext4 /dev/sdXY -L "Alt_OS" # Where X and Y are your disk ID e.g. /dev/sdb2
This can also be used to assign x767x676x7c6 a name e.g. Nitdroid.
- Go to "/media/Nokia N9" on your PC (Harmattan's Mass Storage). Make a directory called "boot".
- Copy "ubiboot.conf" and "ubiboot-02.menus.cpio" from the extracted ubiboot-02_310513.tar into "/media/Nokia N9"/boot".
- Go to "/media/rootfs" on your PC to access Harmattan's root file system. Go to the "boot" directory ("/media/rootfs/boot"). Copy "zImage_2.6.32.54-openmode_l2fix" (which was flashed earlier) into "/media/rootfs/boot".
- If you have boot issues, please consult for help in the Ubiboot thread on talk.maemo.org so the Sailfish thread remains for Sailfish issues!
[edit] Step 7 - Install Sailfish
- Now download the Sailfish image of choice, or compile your own using the Mer SDK. Rename it to sailfish.tar.bz2
- Extract the Sailfish archive to "/media/Alt_OS" on your PC with:
tar -xvjf sailfish.tar.bz2 --numeric-owner -C /media/Alt_OS/
[edit] Enable Root Access
After the extraction has finished, this is a good time to enable root access in Sailfish and root login via SSH. This will allow you to remotely access your device after WLAN has been set up and avoid all the chrooting hassle! To reset root's password (MAX9's method), enter the following into your PC terminal:
nano /media/Alt_OS/etc/shadow # Open the shadow file where Alt_OS is mounted
On the first line, you will have (where XXXXX are 5 numbers):
root:34.random.letters.numbers.and.symbols:XXXXX:0:99999:7:::
Now, delete the all letters, numbers and symbols after "root:" and before :XXXXX:0:99999:7:::
For example, change:
root:$1$00Z6Bfjc$vlIKUOMHIavIABL1gNuy6/:16049:0:99999:7:::
into:
root::16049:0:99999:7:::
Save and exit the file (CTRL+X, Y to save).
Now, when you boot into Sailfish, you will not have a password for root. Depending on your SSH configuration, you will not be able to SSH into your handset until root has a password.
To set a root password, open Terminal in Sailfish and enter:
su passwd root nemo # Enter your password for root nemo # Repeat your password for root
[edit] Enable Root SSH Access
This is also a good time to enable root SSH access. In your PC's root terminal, enter the following:
nano /media/Alt_OS/etc/ssh/sshd_config
Now, go to an empty line in the file and type in the following:
PermitRootLogin yes
Again, save and exit the file (CTRL+X, Y to save).
[edit] Step W - Install Sailfish (Windows only Users)
- Download Sailfish image of choice. Rename it to sailfish.tar.bz2
- In Harmattan, install Developer Mode if you haven't already. Connect the phone to Windows in "USB Mass Storage Mode ".
- Copy sailfish.tar.bz2' to the root of your MMC (X:\, where X is the letter of your removable drive).
- Disconnect the phone from the PC and remove the USB cable.
- Launch Terminal on Harmattan (or SSH in) any type the following commands:
devel-su rootme # Or your root password cd /home/user/MyDocs/ ls # Here, you should see all your MyDocs and sailfish.tar.bz2
mkdir /sailfish # Mount Alt_OS in Harmattan mount /dev/mmcblk0p4 /sailfish
tar -xvjf sailfish.tar.bz2 --numeric-owner -C /sailfish/ # This will take a while as it extracts Sailfish onto the handset sync
You can now exit Terminal and reboot into Sailfish or Enable root SSH access on Sailfish.
To upgrade to a new image, simply delete everything in /media/Alt_OS (when on a Linux PC):
rm -frv /media/Alt_OS/*
Alternatively, when you have mounted Alt_OS in Harmattan: rm -frv /sailfish/*
You will loose ALL your Sailfish data!
To preserve user data, delete everything in "Alt_OS" apart from "/home/nemo/". In "/home/nemo/", delete the ".cache" directory.
[edit] Step 8 - Boot into Sailfish
Disconnect your USB cable and turn off the handset completely. Turn it back on. If done correctly, this should present you Ubiboot boot-manager and 6 available operating system logos. Sailfish and Harmattan shall work.
If you do not select an OS, Harmattan will boot by default.
To boot into Sailfish, tap the Sailfish icon if you are using the pre-configured ubiboot or the Nemo icon (3rd one down on the left, looks like a blue padlock) if you are using the manually configured version. Next, tap either "latest 2.6.32" or "vmlinuz-2.6.63.20120129.1-n950". For Harmattan, it is the Meego logo and then "openmode+l2 fix".
On your first boot, select your input and display languages. Next, select a theme colour. After going forward, you may have to go back and select your theme colour again and go forward again before the page that allows you to set the date and time appears.
You can then connect to the Internet if you wish to login or sign up for a Jolla account.
On Step 1 of the tutorial, you will be asked to do a edge left-right or edge right-left swipe to minimise the application. Due to an accelerometer bug, you have to swipe from the edge bottom upwards to minimise. You can then press and hold on the minimised Tutorial application view to close it.
To close an application, swipe from edge right to left. To view Notifications, swipe edge left to right. The phone cannot be turned off when the lock-screen is active.
[edit] Bugs and Known Issues
- No Android capability as of present.
- Camera does not work.
- Volume buttons do not work.
- Accelerometer does not work.
- GPS does not work.
- Notifications and Gestures rotated 90 degrees clockwise.
- You must manually configure you internet access point. Long-press on the AP in Settings to enter your operator's configuration.
Full list available at GitHub
[edit] Additional Guidance
[edit] Date/Time Fix
The date/time may not set correctly in Sailfish. To fix this, boot into Harmattan and fire up terminal:
devel-su rootme # Or you root password
date --set "2013-12-07 22:59" # YYYY-MM-DD hh:mm ISO 8601 Format
[edit] Enable Root Access (Windows Users)
If you are using Windows or did not enable root access earlier, the following instruction will show you how. The procedure is the same as that which was explained previously in Step 7 but takes place in Harmattan as opposed to on a Linux computer.
Load Harmattan and open Terminal. Type the following:
devel-su cd / mkdir sailfish mount /dev/mmcblk0p4 /sailfish nano /sailfish/etc/shadow # Open the shadow file where Sailfish is mounted
On the first line, you will have (where XXXXX are 5 numbers):
root:34.random.letters.numbers.and.symbols:XXXXX:0:99999:7:::
Now, delete the all letters, numbers and symbols after "root:" and before :XXXXX:0:99999:7:::
For example, change:
root:$1$00Z6Bfjc$vlIKUOMHIavIABL1gNuy6/:16049:0:99999:7:::
into:
root::16049:0:99999:7:::
Save and exit the file (CTRL+X, Y to save).
Now, when you boot into Sailfish, you will not have a password for root.
To set a root password, open Terminal in Sailfish and enter:
su passwd root nemo # Enter your password for root nemo # Repeat your password for root
[edit] Enable Root SSH Access
To enable root SSH access via Harmattan's terminal, enter the following:
nano /sailfish/etc/ssh/sshd_config
If you are Sailfish's terminal with root access, enter the following:
nano /etc/ssh/sshd_config
Now, go to an empty line in the file and type in the following:
PermitRootLogin yes
Again, save and exit the file (CTRL+X, Y to save).
[edit] chroot into Sailfish from Harmattan
This is based on krnlyng's (liar) method. It is useful for access to Sailfish to run terminal commands such as updating the OS.
Open terminal in Harmattan and type:
devel-su cd / mkdir sailfish mount /dev/mmcblk0p4 /sailfish mount -o bind /proc /sailfish/proc mount -o bind /sys /sailfish/sys mount -o bind /dev /sailfish/dev usr/sbin/chroot /sailfish
When you have finished in Sailfish, exit and un-mount with the following commands:
exit # Exit out of Sailfish chroot umount /sailfish/dev umount /sailfish/proc umount /sailfish/sys umount /sailfish exit # Exit out of devel-su exit # Exit out of Terminal
[edit] Developer Mode frame rate issue
When in developer mode, do not enable "Display Framerate". It causes random colour drawings on the screen, making it impossible to disable without editing a configuration file.
To fix open meego terminal, gain root privileges (devel-su or sudo) and execute:
mkdir /sailfish mount /dev/mmcblk0p4 /sailfish mount -o bind /proc /sailfish/proc mount -o bind /sys /sailfish/sys mount -o bind /dev /sailfish/dev /usr/sbin/chroot /sailfish gconftool-2 -u /desktop/jolla/silica_framerate exit umount /sailfish/dev umount /sailfish/proc umount /sailfish/sys umount /sailfish
And you can close terminal and reboot to sailfish
---
Alternative (credits to liar), SSH into your handset and type:
nano /home/nemo/.gconf/desktop/jolla/%gconf.xml
Ensure that that there is nothing between the stringvalue option, as below:
<stringvalue></stringvalue>
Save and exit (CTRL + X, Y to save). Reboot the handset and it should display everything correctly again. It is also possible to do this from Harmattan by mounting Sailfish or using Ubiboot's Maintenance Mode and a Linux PC.
[edit] Proximity sensor Fix
To fix the proximity sensor (this must be done at every boot), in Sailfish terminal type:
su nemo # Your root password echo 1 > /sys/devices/platform/i2c_omap.2/i2c-2/2-0039/prox_enable
[edit] Repository Replacement
You cannot use the repositories provided by default in the Sailfish images. You must remove them and replace them with custom ones.
This is done by editing /etc/ssu/ssu.ini, without using "zypper ar".
This post by coderus builds on csdozi's work has working contents for the ssu.ini file.
[edit] Access Harmattan's MyDocs
To access your EMMC (Harmattan's MyDocs, type the following into Sailfish's Terminal. Credit to max83.
mkdir /home/nemo/MyDocs chown -R nemo:nemo /home/nemo/MyDocs/ chmod +w /home/nemo/MyDocs/ nano /etc/fstab
Add the following line to the end of the fstab file:
/dev/mmcblk0p1 /home/nemo/MyDocs vfat auto,users,rw,utf8,shortname=mixed,umask=000 0 0
Now Save (CTRL+X, Y) and reboot Sailfish
reboot
You can also link your directories in Sailfish to those in Harmattan after rebooting by deleting the respective directory (and contents!) and using symbolic links to the corresponding Harmattan files e.g.:
- For Documents:
cd /home/nemo rm -frv ./Documents ln -s ./MyDocs/Documents ./Documents
- For Downloads:
cd /home/nemo rm -frv ./Downloads ln -s ./MyDocs/Downloads ./Downloads
- For Music:
cd /home/nemo rm -frv ./Music ln -s ./MyDocs/Music ./Music
- For Images:
cd /home/nemo/Pictures rm -frv ./* ln -s ../MyDocs/DCIM/ ./Camera ln -s ../MyDocs/Pictures/ ./Pictures
If you also want to include your Whatsup images in Jolla's Media application:
ln -s ../MyDocs/Whatsup/images/ ./Whatsup.images
- For Videos:
cd /home/nemo/Videos rm -frv ./* ln -s ../MyDocs/DCIM/ ./Camera ln -s ../MyDocs/Movies/ ./Movies ln -s ../MyDocs/Videos/ ./Videos
If you also want to include your Whatsup videos in Jolla's Media application:
ln -s ../MyDocs/Whatsup/video/ ./Whatsup.video
Please note that there is an issue with Images and Videos not showing in the Gallery application following reboot. They show following the symlink creation. This may be a permission or tracker issue and any solution would be appreciated!
[edit] Battery charging
[edit] bme workaround
right now the battery status / power management isn't handled by sailfish. as workaround use:
systemctl start bme-rm-680-bin.service # starts it right now bmestat # shows bat stat
The service has to be started after each reboot of Sailfish OS.
[edit] statefs Workaround (with GUI!)
Coderus has put together a statefs provider, which enables the SailfishOS battery level indicator.
The pull request has been merged into the master Nemo Mobile branch. https://github.com/nemomobile/statefs-providers/pull/6
If your image uses an older Nemo image, you can use this RPM that coderus has provided to fix the issue.
To install it, navigate to the directory where you downloaded this file and run the following command as root in Terminal:
zypper install statefs-provider-bme-1.0.0-3.armv7hl.rpm
It will offer you two choices. Select 1 to remove the other package and install this patch. You now have correct battery indicator thanks to Coderus:)
[edit] Remove Sailfish
To remove Sailfish and restore your device back to factory settings, flash with:
flasher -f -F main.bin --erase-user-data=secure -F emmc.bin --erase-mmc=secure
This will completely format your device, including its EMMC therefore backup before you flash!
- This page was last modified on 6 April 2018, at 00:57.
- This page has been accessed 257,897 times.