The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)
Nemo/Installing
(→Nokia N950) |
m (→N9/N950: Added direct link for 2014-02-24 since it's up there.) |
||
(128 intermediate revisions by 24 users not shown) | |||
Line 3: | Line 3: | ||
== Images == | == Images == | ||
− | + | ||
+ | === Wayland/Qt5 === | ||
+ | ====Changelog==== | ||
+ | * 2014-02-24 fixed ohm-* missing dependency | ||
+ | * 2013-12-06 N9/N950: Frozen homescreen fix 2/2 - done :) | ||
+ | * 2013-12-05 N9/N950: Frozen homescreen fix 1/2 | ||
+ | * 2013-11-19 Homescreen rotation support | ||
+ | * 2013-11-13 Glacier UI virtual keyboard skin | ||
+ | * 2013-11-07 Glacier UI lockscreen background | ||
+ | * 2013-11-01 Glacier UI homescreen icons | ||
+ | |||
+ | ====N9/N950==== | ||
+ | 2014-02-24 [http://images.formeego.org/n950/nemo/nemo-n950-rnd-20140224.tar.bz2 direct link] [http://mgnet.me/dtqD9H torrent]<br /> | ||
+ | 2013-12-06 [http://images.formeego.org/n950/nemo/nemo-n950-rnd-20131206.tar.bz2 direct link] [http://mgnet.me/ivwB4 torrent]<br/> | ||
+ | <span style=color:red>'''As of 2013-10-23, boot might get stuck on splash screen (or black screen). Just reboot and then run `ssu ur` on your first completed boot.<br/>We are working on the fix</span> | ||
+ | |||
+ | ====i486-vm==== | ||
+ | 2013-10-30 [http://images.formeego.org/virtual-x86/nemo/nemoWayland-20131030.vdi direct link] [http://mgnet.me/irV0d torrent]<br/> | ||
+ | <span style=color:red>'''As of 2013-10-30, i486 VM IMAGE HAS AN OPACITY GLITCH: all apps appear transparent. Temporary solution:</span> | ||
+ | zypper ar http://repo.merproject.org/obs/home:/sledge:/mer:/qt:/devel/mer_qt_i486/ opaqueme | ||
+ | zypper ref opaqueme | ||
+ | zypper dup --from=opaqueme | ||
+ | sync | ||
+ | reboot | ||
+ | <span style=color:red>'''We are working on the fix.'''</span> | ||
+ | |||
+ | ====Old images==== | ||
+ | [[Nemo/Old_Images|Find them here, including obsolete X11 ones]] | ||
== The First Boot == | == The First Boot == | ||
− | The first boot of Nemo on your N900/N950 is likely to be quite slow, so be patient for it to load completely, once loaded, reboot the phone and Nemo should be far more responsive. | + | The first boot of Nemo on your N900/N950 is likely to be quite slow, so be patient for it to load completely, once loaded, reboot the phone and Nemo should be far more responsive. "Quite slow" meaning potentially several minutes with a black screen, and it may be you need to reboot anyhow (graphics may not get initialized properly on first boot) - however USB networking should be alive during the time if you reattach the cable. |
== Root Password == | == Root Password == | ||
Line 12: | Line 39: | ||
== Raw Image Write == | == Raw Image Write == | ||
− | Some devices use raw images that are written to SD card and then device is booted by | + | Some devices use raw images that are written to SD card and then device is booted by inserting the sd card to the device. Here is instructions how to write raw disk images to the sdcards on different host OS. |
=== Linux Host === | === Linux Host === | ||
− | The process of installing the Nemo image to your MicroSD card is quite straight forward. | + | The process of installing the Nemo image to your MicroSD card is quite straight forward. First, downloaded an image and put it somewhere easy to remember. Insert the card into the card reader, your distribution will probably automatically mount it, so we must first find where it is mounted with: |
sudo mount | sudo mount | ||
'''NOTE: Below /dev/sdX is used as an example and may vary, so use the mount point listed from the mount output, can be also /dev/mmcblkX when using some build-in card readers''' | '''NOTE: Below /dev/sdX is used as an example and may vary, so use the mount point listed from the mount output, can be also /dev/mmcblkX when using some build-in card readers''' | ||
Line 27: | Line 54: | ||
'''NOTE: "of=" is the output file/location, since we are copying it to the MicroSD card, we put its location here, and since it contains a partition table, we don't specify which partition it is written to. e.g. /dev/sdX, not /dev/sdX1''' | '''NOTE: "of=" is the output file/location, since we are copying it to the MicroSD card, we put its location here, and since it contains a partition table, we don't specify which partition it is written to. e.g. /dev/sdX, not /dev/sdX1''' | ||
− | DD will not show any output until the image has been completely written, so please be patient. | + | DD will not show any output until the image has been completely written, so please be patient. NOTE: You can, however, press Ctrl+t or pipe trough 'pv' [http://www.ivarch.com/programs/pv.shtml] to get information about the progress. |
− | + | ||
− | Example: | + | Example with pv: |
bzcat '''directory/file_goes_here.bz2''' | dd bs=4096 | pv -s 3816M | sudo dd bs=4096 of=/dev/sdX | bzcat '''directory/file_goes_here.bz2''' | dd bs=4096 | pv -s 3816M | sudo dd bs=4096 of=/dev/sdX | ||
Line 58: | Line 84: | ||
**A MicroSD card with a capacity of at least 4GiB (more notes on this below) | **A MicroSD card with a capacity of at least 4GiB (more notes on this below) | ||
**U-Boot (installed on the phone[more on this below]) | **U-Boot (installed on the phone[more on this below]) | ||
− | **Either a Windows or Linux PC | + | **Either a working Windows or Linux PC or n900 with Maemo |
**And '''the image''', for N900, the filename of the file you will want will look like: | **And '''the image''', for N900, the filename of the file you will want will look like: | ||
nemo-handset-armv7hl-n900-X.XXXXXXXX.X.NEMO.XXXX-XX-XX.X-mmcblk0p.raw.bz2 | nemo-handset-armv7hl-n900-X.XXXXXXXX.X.NEMO.XXXX-XX-XX.X-mmcblk0p.raw.bz2 | ||
Line 67: | Line 93: | ||
**If reading reviews/benchmarks of cards before buying, look at the ones with the highest random read/write, not sequential. | **If reading reviews/benchmarks of cards before buying, look at the ones with the highest random read/write, not sequential. | ||
'''Update''' | '''Update''' | ||
− | with the current latest Nemo kernel (Jan 26 2012) there are issues with proper initialization of the SD card due to a potential kernel bug (race condition) together with the Pali version of u-boot. This has been confirmed on at least Samsung cards (8 GB class 6 and CLass 10 by Netweaver and Flocke000), also on others (unknown brand, by Pali and plipp). Bug report is entered. [https://bugs. | + | with the current latest Nemo kernel (Jan 26 2012) there are issues with proper initialization of the SD card due to a potential kernel bug (race condition) together with the Pali version of u-boot. This has been confirmed on at least Samsung cards (8 GB class 6 and CLass 10 by Netweaver and Flocke000), also on others (unknown brand, by Pali and plipp). Bug report is entered. [https://bugs.nemomobile.org/show_bug.cgi?id=92] Seems to be fixed in kernel-adaptation-n900-2.6.37-12.1.Nemo.Adaptation.N900 (2012-08-12). |
− | *U-boot | + | *For U-boot there are 2 options: |
− | + | * 1.) If you use the Nokia Linux Kernel on your N900, install U-Boot through the Hildon Application Manager. [https://wiki.maemo.org/Extras-devel#How_to_activate_Extras-devel Enable the extras-devel repository]. In the Hildon Application Manager, install the U-Boot package, found in "System" category. (The package is 'uboot-pr13' at the time of writing). | |
− | + | * 2.) !WARNING! In case you use the power kernel for Maemo, the U-Boot package found in Extras-devel will replace it with Nokia kernel! If you want to install U-Boot alongside kernel-power, you need to use a different version of U-Boot written by Pali Rohar, it's found here: [http://talk.maemo.org/showthread.php?t=81613 U-Boot by Pali] . This will still replace your power kernel, but you can boot it from a bootimage. For detailed instructions, see [http://talk.maemo.org/showthread.php?t=85665&highlight=u-boot the power kernel thread on talk.maemo.org] | |
− | **Verify the package has been installed correctly by rebooting your N900, at start-up there will be mention of U-Boot and possibly a penguin logo. | + | * Verify the package has been installed correctly by rebooting your N900, at start-up there will be mention of U-Boot and possibly a penguin logo. |
− | * | + | * After verifying the install, you may want to disable the extras-devel repository to prevent applications being updated to development versions. |
− | Next thing is to write | + | *Next thing is to write an image to sd card. For this follow the [[#Raw Image Write|Raw image write guide]]. |
− | Once it has been copied to the MicroSD card, you can remove it from your card reader and put it in your N900. | + | *Once it has been copied to the MicroSD card and your installing from a host PC, you can remove it from your card reader and put it in your N900. |
+ | |||
+ | * 1.) If you have "uboot-pr13" by Carsten Munk installed from the Extras-devel repository, booting the N900 with the card present, the rear cover in place, the MicroSD card inserted and U-Boot correctly installed should result in Nemo Mobile booting. | ||
+ | * 2.) If you are using U-Boot 2012.04-2 (or other version) from Pali, with the MicroSD card in place etc., you need to power up N900 ''with the keyboard opened''. From the bootmenu, select "U-Boot console". Possible commands are listed, enter "run sdboot" to boot Nemo from the MicroSD card. | ||
+ | |||
+ | == Troubleshooting == | ||
+ | |||
+ | In case something went wrong during u-boot installation and you end up with an unbootable maemo system, you can follow this [http://kicherer.org/joomla/index.php/en/blog/liste/32-recovering-a-non-booting-nokia-n900-from-u-boot-console guide] to boot maemo with a maemo kernel from the SD card. | ||
= Nokia N950 = | = Nokia N950 = | ||
+ | |||
'''IT IS RECOMMENDED YOU READ THIS THOROUGHLY BEFORE YOU FLASH YOUR DEVICE''' | '''IT IS RECOMMENDED YOU READ THIS THOROUGHLY BEFORE YOU FLASH YOUR DEVICE''' | ||
+ | |||
+ | == Ubiboot == | ||
+ | |||
+ | Ubiboot is a boot manager for N9(50) devices. Follow this tutorial http://wiki.maemo.org/Ubiboot to multi-boot the device between Nemo/Harmattan/Sailfish/Nitdroid and other supported Operating Systems. | ||
== Single boot/loading == | == Single boot/loading == | ||
*You will need: | *You will need: | ||
− | ** | + | ** Harmattan Flasher: [http://tablets-dev.nokia.com/maemo-dev-env-downloads.php tablets-dev.nokia.com] (mirror: tablets-dev/maemo-dev-env-downloads/ dir on http://skeiron.org/), alternative for 'bb5_rdc_cert_read failed' error: [http://www.martindengler.com/proj/n950-flasher-beta1/ beta 1 flasher] |
− | ** | + | ** MOSLO bootloader rootfs: [http://tablets-dev.nokia.com/moslo.php tablets-dev.nokia.com] (mirror: tablets-dev/moslo/ dir on http://skeiron.org/) |
**An N950 that can flash the MOSLO, 34 and 39 work. | **An N950 that can flash the MOSLO, 34 and 39 work. | ||
**Adequate knowledge/skills for what you are doing as '''THESE INSTRUCTIONS ARE OFFERED WITHOUT WARRANTY'''. | **Adequate knowledge/skills for what you are doing as '''THESE INSTRUCTIONS ARE OFFERED WITHOUT WARRANTY'''. | ||
Line 93: | Line 131: | ||
nemo-handset-armv7hl-n950-X.XXXXXXXX.X.NEMO.XXXX-XX-XX.X.tar.bz2 | nemo-handset-armv7hl-n950-X.XXXXXXXX.X.NEMO.XXXX-XX-XX.X.tar.bz2 | ||
− | '''If you want to keep your Harmattan installation, you should check the dual- | + | '''If you want to keep your Harmattan installation, you should check the dual-boot method below.''' |
'''NOTE: Before you begin, assure that the device lock is disabled on the Harmattan installation (Settings>Security>Device Lock>Autolock)''' | '''NOTE: Before you begin, assure that the device lock is disabled on the Harmattan installation (Settings>Security>Device Lock>Autolock)''' | ||
Line 111: | Line 149: | ||
*Your OS may automount the drive, unmount it [''do not 'eject' it from the OS''] with cmd: | *Your OS may automount the drive, unmount it [''do not 'eject' it from the OS''] with cmd: | ||
sudo umount mount_point_here_eg_/dev/sdX | sudo umount mount_point_here_eg_/dev/sdX | ||
+ | |||
+ | '''If you get a 'bb5_rdc_cert_read failed' error or similar during flashing, you should try downloading [http://www.martindengler.com/proj/n950-flasher-beta1/ The Beta 1 flasher tool] and try flashing your device with that version.''' | ||
After this reformat the device (Here we say device because moslo export partition in such way that host os sees it as a full device node): | After this reformat the device (Here we say device because moslo export partition in such way that host os sees it as a full device node): | ||
Line 129: | Line 169: | ||
Get modified MOSLO | Get modified MOSLO | ||
− | wget -r -l1 -nd --no-parent -Amoslo-0.*.rpm http:// | + | wget -r -l1 -nd --no-parent -Amoslo-0.*.rpm http://releases.nemomobile.org/snapshots/repos/hw/ti/omap3/n950-n9/latest/armv7hl/armv7hl/ |
and extract the contents | and extract the contents | ||
Line 154: | Line 194: | ||
==== Removing the modified MOSLO ==== | ==== Removing the modified MOSLO ==== | ||
+ | |||
Now you're ready to remove the modified MOSLO. Create empty file (on your host PC) | Now you're ready to remove the modified MOSLO. Create empty file (on your host PC) | ||
$ touch empty.img | $ touch empty.img | ||
Line 162: | Line 203: | ||
If the flashing succeeds, MOSLO is removed and the device should boot to Harmattan. | If the flashing succeeds, MOSLO is removed and the device should boot to Harmattan. | ||
− | (Source for this information: http://wiki.meego.com/User:Marquiz/N950) | + | ( Source for this information: http://wiki.meego.com/User:Marquiz/N950 ) |
+ | |||
= Nokia N9 = | = Nokia N9 = | ||
Line 176: | Line 218: | ||
''' YOU HAVE BEEN WARNED! ''' | ''' YOU HAVE BEEN WARNED! ''' | ||
− | + | == Ubiboot == | |
− | + | Ubiboot is a boot manager for N9(50) devices. Follow this tutorial http://wiki.maemo.org/Ubiboot to multi-boot the device between Nemo/Harmattan/Sailfish/Nitdroid and other supported Operating Systems. | |
− | + | == Older methods below == | |
− | After this the N9 is booted with moslo and you see warning about warranty, after which green text comes up that says the N9 is being repartitioned for AlternateOS. This takes a moment after which the newly created fs is exported via USB. | + | Each of them will consist of these steps: |
+ | * Download a Nemo (or other suitable) image (see [[#Images|Images]] section) | ||
+ | * Get flasher (see [[#Single_boot.2Floading|N950 instructions]]) | ||
+ | * Get moslo | ||
+ | * Get kernel | ||
+ | * Flash moslo and kernel | ||
+ | * Mount N9 partition and copy image to fs | ||
+ | * Boot device into Nemo | ||
+ | |||
+ | == Single Boot by Loading The Kernel (TRY THIS FIRST) == | ||
+ | |||
+ | This is least intrusive method, no kernel is physically flashed (though you will start getting the warranty nag splash screen anyhow), but to boot to Nemo you will have to have a Linux PC with USB cable nearby for every N9 reboot (otherwise it will boot to Harmattan). | ||
+ | |||
+ | 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 | ||
+ | # on 26/8/2013 MOSLO kernel was proved broken, getting working one from: | ||
+ | curl https://raw.github.com/ruedigergad/nemo-n9-blobs/master/zImage-kernel-moslo-n9 -o usr/share/moslo/zImage-moslo | ||
+ | sudo flasher -k usr/share/moslo/zImage-moslo -n usr/share/moslo/initrd-moslo -l -b | ||
+ | |||
+ | After this the N9 is booted with moslo and you see warning about warranty, after which green text comes up that says the N9 is being repartitioned for AlternateOS. This takes a moment after which the newly created fs is exported via USB. If it doesn't, try the [[#Troubleshooting|Troubleshooting]] section | ||
Next thing is to move the rootfs to the device with [[#Nokia N950 & Nokia N9 Rootfs Installation|Nokia N950 & Nokia N9 Rootfs Installation]] guide. | Next thing is to move the rootfs to the device with [[#Nokia N950 & Nokia N9 Rootfs Installation|Nokia N950 & Nokia N9 Rootfs Installation]] guide. | ||
After this is done disconnect the USB cable and press volumedown key when asked whether to boot to Alternate OS or to Harmattan. In subsequent boots, device will boot directly to Harmattan. To get Alternate OS booting you need to run the above flasher command again. | After this is done disconnect the USB cable and press volumedown key when asked whether to boot to Alternate OS or to Harmattan. In subsequent boots, device will boot directly to Harmattan. To get Alternate OS booting you need to run the above flasher command again. | ||
+ | |||
+ | == Persistent Single Boot by Flashing the Dual Boot == | ||
+ | |||
+ | This will always boot to Nemo. You can forget using Harmattan if you choose this method. | ||
+ | |||
+ | NOTE: There is the possibility to dual boot also via this guide. This was, however, not thoroughly tested. Dual boot was only tested briefly with the open mode kernel. If you want to enable dual boot later you need to get the kernel command line for Harmattan, e.g., as reported by dmesg. If you want to dual boot, get the kernel command line and store it for later use. | ||
+ | |||
+ | First get the packages and extract the needed files. | ||
+ | |||
+ | wget -r -l1 -nd --no-parent -Amoslo-0*.armv7hl.rpm http://releases.nemomobile.org/snapshots/repos/hw/ti/omap3/n950-n9/latest/armv7hl/armv7hl/ | ||
+ | |||
+ | rpm2cpio moslo-*.armv7hl.rpm | cpio -vidu | ||
+ | # on 26/8/2013 MOSLO kernel was proved broken, getting working one from: | ||
+ | curl https://raw.github.com/ruedigergad/nemo-n9-blobs/master/zImage-kernel-moslo-n9 -o usr/share/moslo/zImage-moslo | ||
+ | |||
+ | After we have the moslo we need to get also a fiasco image from which the ape algorithm is retrieved. This fiasco image location is mentioned in the [[#Recovering_your_N9_firmware|N9 Firmware recovery guide]]. After you have downloaded a fiasco image you can flash the kernel to the device with following command. | ||
+ | sudo flasher -a <FIASCO_IMG> -k ./usr/share/moslo/zImage-moslo -f -R | ||
+ | |||
+ | After the flashing is done, the device will automatically reboot. You will see warning about warranty (if you did not take the necessary steps to remove it prior) and after that, green text that should appear that inform you the device is repartitioning for the alternative os. If you see error try the[[#Troubleshooting|Troubleshooting]] setion. | ||
+ | |||
+ | When the repartitioning is done the device exports the new partition via usb (when ever the device is booted with usb cable attached) and you can follow the [[#Nokia N950 & Nokia N9 Rootfs Installation|Root filesystem installation guide]] to get the Nemo installed to the device. | ||
+ | |||
+ | === Dual Boot (Optional) === | ||
+ | NOTE: This had so far only been tested with the open mode kernel. | ||
+ | |||
+ | You need to have the Harmattan kernel command line and the Harmattan kernel bzImage for this to work. You should have gotten these '''before''' you installed the boot loader (MOSLO). | ||
+ | |||
+ | The functionality to get dual boot working is already included in the MOSLO as provided by marquiz. The trick to enable is to create a directory named "/boot-orig" in the Nemo root. The Harmattan kernel and the kernel command line need to be put into this directory. The Harmattan kernel has to be named "bzImage" (a link should also do) in "/boot-orig". The Harmattan kernel command line needs to be stored in a file named "cmdline" in "/boot-orig". | ||
+ | |||
+ | That's it. If you have everything in place you can reboot. This time the MOSLO should show instructions on how to select either Harmattan or Nemo via the volume keys. | ||
== Removing Nemo rootfs and the Alternative OS partition == | == Removing Nemo rootfs and the Alternative OS partition == | ||
Line 207: | Line 299: | ||
If you have installed moslo and repartitioned the device see [[#Removing Nemo rootfs and the Alternative OS partition|Remove Aternative OS partition]] guide. | If you have installed moslo and repartitioned the device see [[#Removing Nemo rootfs and the Alternative OS partition|Remove Aternative OS partition]] guide. | ||
− | + | <span style="color:gray">You might want to use this more detailed guide: http://talk.maemo.org/showthread.php?t=82693'''</span> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | NaviFirm no longer works! Choose your firmware from the "firmware/" directory on http://skeiron.org/ | |
After the download is done it is time to flash the device. Remember to detach the USB cable from your device before starting the flasher. | After the download is done it is time to flash the device. Remember to detach the USB cable from your device before starting the flasher. | ||
After the file has been downloaded you can reflash your device. | After the file has been downloaded you can reflash your device. | ||
− | sudo flasher -F | + | sudo flasher -F DFL61_HARMATTAN_40.2012.21-3_PR_LEGACY_001-OEM1-958_ARM.bin -f --no-preserve |
When following text appears | When following text appears | ||
Line 235: | Line 313: | ||
When the flasher outputs ''Success'' you can detach the USB cable from your PC and your N9 should reboot to Harmattan. | When the flasher outputs ''Success'' you can detach the USB cable from your PC and your N9 should reboot to Harmattan. | ||
+ | |||
+ | == Troubleshooting == | ||
+ | |||
+ | === FATAL: Re-partitioning failed! You might be in trouble! === | ||
+ | |||
+ | This means that partition 4 was not created. | ||
+ | |||
+ | This can be due to several reasons, find them below, most frequent first. | ||
+ | |||
+ | Now do the prerequisites: | ||
+ | * Telnet into the device (if you cannot telnet, non-persistently flash ubiboot's kernel which will export your whole /dev/mmcblk0 via USB : sudo flasher -k ubiboot-zImage -l -b) | ||
+ | * Check the exact problem by `cat /var/log/repartition.log` | ||
+ | * Execute `fdisk /dev/mmcblk0`, it will start with: | ||
+ | Disk /dev/mmcblk0: 15.8 GB, 15896412160 bytes | ||
+ | 4 heads, 16 sectors/track, 485120 cylinders | ||
+ | Units = cylinders of 64 * 512 = 32768 bytes | ||
+ | * Press 'p' and Enter | ||
+ | * If you see big numbers (>1,000,000) for Start and End, press 'u' | ||
+ | * Match your problem below (see below for [[Nemo/Installing#Nokia_N9_64GB|Nokia N9 <b>64GB</b>]]): | ||
+ | |||
+ | ==== Nokia N9 16GB ==== | ||
+ | |||
+ | ===== Only partition 1 and 3 are seen ===== | ||
+ | |||
+ | Device Boot Start End Blocks Id System | ||
+ | /dev/mmcblk0p1 17 160512 5135872 c W95 FAT32 (LBA) | ||
+ | /dev/mmcblk0p3 419585 485120 2097152 83 Linux | ||
+ | |||
+ | Remedy: | ||
+ | * Create partition 2 (start cyl:288513 end:419584) | ||
+ | * Write partitions, fdisk will quit | ||
+ | * Ensure you can mount partition 2 (it should display Harmattan's rootfs): | ||
+ | mount /dev/mmcblk0p3 /mnt; ls /mnt/; umount /mnt | ||
+ | * go back to fdisk | ||
+ | * Create partition 4 (start cyl:160513 end:288512) | ||
+ | * Write partitions, type `sync` and `reboot` back into MOSLO | ||
+ | * From your host Linux PC, format the exported partition 4: | ||
+ | mkfs.ext4 /dev/sd? | ||
+ | (yes, it is exported as whole disk, double check it's not your main HDD and go ahead ;P) | ||
+ | |||
+ | ===== MyDocs (partition 1) expanded for some reason ===== | ||
+ | |||
+ | Device Boot Start End Blocks Id System | ||
+ | /dev/mmcblk0p1 17 <b>288512</b> 9231872 c W95 FAT32 (LBA) | ||
+ | /dev/mmcblk0p2 288513 419584 4194304 0 Empty | ||
+ | /dev/mmcblk0p3 419585 485120 2097152 83 Linux | ||
+ | |||
+ | Remedy: | ||
+ | * Delete partition 1 | ||
+ | * Re-create partition 1 with 17 (start) and 208512 (end) cylinders | ||
+ | * Set partition 2 type to Linux (83) | ||
+ | * Perform [[Nemo/Installing#Finalising_step|finalising step here]] | ||
+ | * Format the adjusted partition 1 `mkfs.vfat /dev/mmcblk0p1` | ||
+ | |||
+ | ===== Partition 2 points to partition 4 space ===== | ||
+ | |||
+ | Device Boot Start End Blocks Id System | ||
+ | /dev/mmcblk0p1 17 208512 6671872 c Win95 FAT32 (LBA) | ||
+ | /dev/mmcblk0p2 <b>208513 288512</b> 2560000 83 Linux | ||
+ | /dev/mmcblk0p3 419585 485120 2097152 83 Linux | ||
+ | |||
+ | Remedy: | ||
+ | * Delete partition 2 | ||
+ | * Restore the valid partition 2 (start cyl:288513 end:419584) | ||
+ | * Perform [[Nemo/Installing#Finalising_step|finalising step here]] | ||
+ | |||
+ | ===== Finalising step ===== | ||
+ | |||
+ | * Create partition 4 (start cyl:208513 end:288512) | ||
+ | * The final layout should be: | ||
+ | Device Boot Start End Blocks Id System | ||
+ | /dev/mmcblk0p1 17 208512 6671872 c Win95 FAT32 (LBA) | ||
+ | /dev/mmcblk0p2 288513 419584 4194304 83 Linux | ||
+ | /dev/mmcblk0p3 419585 485120 2097152 83 Linux | ||
+ | /dev/mmcblk0p4 <b>208513 288512</b> 2560000 83 Linux | ||
+ | |||
+ | To finish the job of autopartition.sh you'll have to do this manually: | ||
+ | mkfs.ext4 -L 'Alt_OS' /dev/mmcblk0p4 | ||
+ | backup_kernel.sh /dev/mmcblk0p4 boot-orig | ||
+ | |||
+ | Sync and reboot, flash into MOLSO again, this time it should get you to the Alt_OS partition exported via USB. | ||
+ | |||
+ | ==== Nokia N9 64GB ==== | ||
+ | |||
+ | ===== Partition 2 points to partition 4 space ===== | ||
+ | Disk /dev/mmcblk0: 64.1 GB, 64130908160 bytes | ||
+ | 4 heads, 16 sectors/track, 1957120 cylinders | ||
+ | Units = cylinders of 64 * 512 = 32768 bytes | ||
+ | |||
+ | Device Boot Start End Blocks Id System | ||
+ | /dev/mmcblk0p1 17 1632512 52239872 c Win95 FAT32 (LBA) | ||
+ | /dev/mmcblk0p2 1632513 1760512 4096000 83 Linux | ||
+ | /dev/mmcblk0p3 1891585 1957120 2097152 83 Linux | ||
+ | |||
+ | Remedy: | ||
+ | * Delete partition 2 | ||
+ | * Write changes (w) and quit fdisk | ||
+ | * Run and setup parted (YOU WON'T BE ABLE TO RESTORE PARTITON 2 VIA FDISK, AS IT ENDS ON SECTOR BOUNDARY): | ||
+ | parted /dev/mmcblk0 | ||
+ | (parted) unit s | ||
+ | (parted) print | ||
+ | * Create partition 2: | ||
+ | (parted) mkpart | ||
+ | Partition type? primary/extended? primary | ||
+ | File system type? [ext2]? ext4 | ||
+ | Start? 112672768s | ||
+ | End? 121061375s | ||
+ | quit | ||
+ | * Re-enter fdisk | ||
+ | * Create partition 4 with 1632513 (start) and 1760512 (end) cylinders | ||
+ | * Format the created partition 4 `mkfs.ext4 /dev/mmcblk0p4 -L Alt_OS` | ||
+ | |||
+ | ===== Final layout ===== | ||
+ | Device Boot Start End Blocks Id System | ||
+ | /dev/mmcblk0p1 17 1632512 52239872 c Win95 FAT32 (LBA) | ||
+ | /dev/mmcblk0p2 1760513 1891584 4095968 83 Linux | ||
+ | /dev/mmcblk0p3 1891585 1957120 2097152 83 Linux | ||
+ | /dev/mmcblk0p4 1632513 1760512 4096000 83 Linux | ||
+ | |||
+ | ==== Can't find your case? ==== | ||
+ | Come to our [[Nemo#Communications|IRC channel]] for help. | ||
+ | You will need to partition manually for table to look like Nokia N9 [[Nemo/Installing#Finalising_step|16GB]] and [[Nemo/Installing#Final_layout|64GB]] variants. Ensure that resizing was completed successfully, by checking that partitions are mountable and with data (to be able to still boot Harmattan): | ||
+ | Partition 1 - Harmattan MyDocs | ||
+ | Partition 2 - Harmattan rootfs | ||
+ | Partition 3 - Harmattan /home/ | ||
+ | Partition 4 - Nemo rootfs (Alt_OS) | ||
+ | |||
+ | === Nemo still does not boot === | ||
+ | |||
+ | It's when device shuts down, screen remains black. | ||
+ | |||
+ | Apparently if you reboot once again and repeat the procedure, it will boot. Now it looks like it's strictly 50% chance. | ||
= Nokia N950 & Nokia N9 Rootfs Installation = | = Nokia N950 & Nokia N9 Rootfs Installation = | ||
Line 259: | Line 469: | ||
= i586 (e.g., Lenovo Ideapad, ExoPC) = | = i586 (e.g., Lenovo Ideapad, ExoPC) = | ||
− | * Get the nemo-handset-i586-*.img from | + | * Get the nemo-handset-i586-*.img from the [[#Images|Images]] repository. |
* Write to a USB stick, using your favourite tool(eg. mic-image-writer). | * Write to a USB stick, using your favourite tool(eg. mic-image-writer). | ||
* Insert USB stick, and boot the machine from there (you might need to configure your BIOS settings to do that.) | * Insert USB stick, and boot the machine from there (you might need to configure your BIOS settings to do that.) | ||
Line 271: | Line 481: | ||
Now when the device powers off you can remove the usb stick and restart the device. | Now when the device powers off you can remove the usb stick and restart the device. | ||
− | = | + | = i486 Virtual Machine = |
== VirtualBox == | == VirtualBox == | ||
− | + | === Wayland/Qt5 === | |
+ | Read [[Wayland_Nemo_VM_Image|<b>here</b>]] | ||
− | + | === X11/Qt4 === | |
+ | '''Note:''' it is currently recommended that CPU on your host system supports at least '''SSSE3''' extensions (triple-S!, see http://en.wikipedia.org/wiki/SSSE3 ). | ||
+ | If you are able to see the Nemo boot up screen but then when it switches to graphical mode you only get a black screen (and probably high CPU load), the CPU may lack some capabilities. | ||
+ | To verify what your CPU supports, on Linux system you can run the command: | ||
+ | grep flags /proc/cpuinfo | ||
+ | Alternatively you can try i486 images from the repository. | ||
− | After downloading change the extension of the image from .img to .iso and start VirtualBox. | + | === Setting up VirtualBox === |
− | + | * First install VirtualBox on your host OS https://www.virtualbox.org/. | |
− | In VirtualBox click '''New''' and set following values: | + | * From the [[#Images|Images]] repository select the latest release and download the image named nemo-handset-i486-vm-*.img |
+ | * After downloading change the extension of the image from .img to .iso and start VirtualBox. | ||
+ | * In VirtualBox click '''New''' and set following values: | ||
Name: Nemo Mobile | Name: Nemo Mobile | ||
Operating System: Linux | Operating System: Linux | ||
Version: Linux 2.6 | Version: Linux 2.6 | ||
− | Base Memory Size: | + | Base Memory Size: 512 MB |
− | Next comes Startup disk, you can either leave it out, create e.g. | + | Next comes Startup disk, you can either leave it out, create e.g. 4 GB disk (recommended), or use an existing disk. |
Start-up Disk: Create new disk | Start-up Disk: Create new disk | ||
File type: VDI (VirtualBox Disk Image) | File type: VDI (VirtualBox Disk Image) | ||
Storage details: Dynamically allocated or Fixed size | Storage details: Dynamically allocated or Fixed size | ||
Location: Where you want it | Location: Where you want it | ||
− | Size: | + | Size: 4 GB is recommended |
− | After this the basic settings are there, but we need to edit some of them a bit more, so select the "Nemo Mobile" VM and click | + | After this the basic settings are there, but we need to edit some of them a bit more, so select the "Nemo Mobile" VM and click Settings: |
System->Processor->Extended Features: Check 'Enable PAE/NX' | System->Processor->Extended Features: Check 'Enable PAE/NX' | ||
Storage->IDE Controller->Empty and then "Setup Virtual CD/DVD drive": Select the .iso file that was renamed earlier | Storage->IDE Controller->Empty and then "Setup Virtual CD/DVD drive": Select the .iso file that was renamed earlier | ||
− | Now you are ready to boot the image. This is done by selecting the "Nemo Mobile" VM and clicking ''Start'' | + | ==== SSH Port Forwarding (optional) ==== |
+ | |||
+ | To add port forwarding to get SSH connection to the VM you need to change also | ||
+ | Network->Adapter 1->Advanced->Port Forwarding | ||
+ | And add there | ||
+ | Name: SSH | ||
+ | Protocol: TCP | ||
+ | Host Port: 4022 | ||
+ | Guest Port: 22 | ||
+ | This will make it possible to connect to the VM through port 4022 on the host. | ||
+ | |||
+ | You can connect later to the device with | ||
+ | ssh -o port=4022 nemo@localhost | ||
+ | |||
+ | === Finalizing the installation === | ||
+ | |||
+ | * Now you are ready to boot the image. This is done by selecting the "Nemo Mobile" VM and clicking ''Start'' | ||
+ | |||
+ | * After booting the image open a virtual terminal in text mode by pressing ''<Host>-F2'' (''<Host>'' key is typically mapped to ''RightCtrl'') or [[#SSH_Port_Forwarding|ssh]] | ||
+ | Note: for now do not use FingerTerm to login, due to [https://bugs.nemomobile.org/show_bug.cgi?id=680 NEMO#680] | ||
+ | * Login as root, or as ''nemo'' user (password is ''nemo'') and become root via su | ||
+ | * Start the installer (due to [https://bugs.nemomobile.org/show_bug.cgi?id=509 NEMO#509] a PATH variable needs to be modified): | ||
+ | PATH=$PATH:/sbin installer-shell | ||
+ | * Answer the questions in a way that suits your needs best. When the installation is done, shut down the VM with: | ||
+ | halt -p | ||
+ | * After the VM powers off go back to Settings->Storage->IDE Controller and remove the .iso image. | ||
+ | * Now you are ready to boot Nemo Mobile. | ||
− | + | =Help= | |
− | + | More help on IRC chatrooms @irc.freenode.net on [http://webchat.freenode.net/?channels=Mer #Mer] and | |
− | + | [http://webchat.freenode.net/?channels=nemomobile #nemomobile] channels and on our [[Mailing lists]]. |
Latest revision as of 06:35, 26 June 2014
[edit] Generic Notes
These instructions should guide you through installing Nemo Mobile on your desired device.
[edit] Images
[edit] Wayland/Qt5
[edit] Changelog
- 2014-02-24 fixed ohm-* missing dependency
- 2013-12-06 N9/N950: Frozen homescreen fix 2/2 - done :)
- 2013-12-05 N9/N950: Frozen homescreen fix 1/2
- 2013-11-19 Homescreen rotation support
- 2013-11-13 Glacier UI virtual keyboard skin
- 2013-11-07 Glacier UI lockscreen background
- 2013-11-01 Glacier UI homescreen icons
[edit] N9/N950
2014-02-24 direct link torrent
2013-12-06 direct link torrent
As of 2013-10-23, boot might get stuck on splash screen (or black screen). Just reboot and then run `ssu ur` on your first completed boot.
We are working on the fix
[edit] i486-vm
2013-10-30 direct link torrent
As of 2013-10-30, i486 VM IMAGE HAS AN OPACITY GLITCH: all apps appear transparent. Temporary solution:
zypper ar http://repo.merproject.org/obs/home:/sledge:/mer:/qt:/devel/mer_qt_i486/ opaqueme zypper ref opaqueme zypper dup --from=opaqueme sync reboot
We are working on the fix.
[edit] Old images
Find them here, including obsolete X11 ones
[edit] The First Boot
The first boot of Nemo on your N900/N950 is likely to be quite slow, so be patient for it to load completely, once loaded, reboot the phone and Nemo should be far more responsive. "Quite slow" meaning potentially several minutes with a black screen, and it may be you need to reboot anyhow (graphics may not get initialized properly on first boot) - however USB networking should be alive during the time if you reattach the cable.
[edit] Root Password
By default, the root password for Nemo is "nemo" (it used to be "meego" in the older images). Password can also be found in the .ks file, in the same directory you downloaded the image from.
[edit] Raw Image Write
Some devices use raw images that are written to SD card and then device is booted by inserting the sd card to the device. Here is instructions how to write raw disk images to the sdcards on different host OS.
[edit] Linux Host
The process of installing the Nemo image to your MicroSD card is quite straight forward. First, downloaded an image and put it somewhere easy to remember. Insert the card into the card reader, your distribution will probably automatically mount it, so we must first find where it is mounted with:
sudo mount
NOTE: Below /dev/sdX is used as an example and may vary, so use the mount point listed from the mount output, can be also /dev/mmcblkX when using some build-in card readers
Then, unmount it with:
sudo umount /dev/sdX
Once you have confirmed which device it is, and unmounted it, it is time to copy the image to the MicroSD card using the command below. The command contains two parts first bzcat that uncompresses the image after which the output is redirected to dd which writes it to the card:
bzcat directory/file_goes_here.bz2 | sudo dd bs=4096 of=/dev/sdX
NOTE: "of=" is the output file/location, since we are copying it to the MicroSD card, we put its location here, and since it contains a partition table, we don't specify which partition it is written to. e.g. /dev/sdX, not /dev/sdX1
DD will not show any output until the image has been completely written, so please be patient. NOTE: You can, however, press Ctrl+t or pipe trough 'pv' [1] to get information about the progress.
Example with pv:
bzcat directory/file_goes_here.bz2 | dd bs=4096 | pv -s 3816M | sudo dd bs=4096 of=/dev/sdX
[edit] Windows Host
The process of installing the Nemo image to your MicroSD card on windows is also quite straight forward.
- First, extract the .bz2 image, if you don't have any software to do so, you can use Bzip2 for Windows.
- Download Bzip2 for Windows from here, choosing the first option, to download the setup without the sources.
- Install Bzip2 for Windows
- Open run by pressing 'Windows Key + R' and type cmd, press enter to open the command prompt.
- Navigate to where bzip2.exe was installed and run the command 'bzip2.exe directory/file_goes_here.bz2 '
- The extracted image file will have the extension .raw, but the program we use to write the image doesn't associate with this extension, so right click the file and choose rename, and replace the .raw with .img
- Download the image writer from here, choosing the latest release of the binary [the first download link].
- Extract the contents of the .zip to a known directory.
- Run the .exe labled 'W32DiskImager.exe'
- Select the Nemo Image file
- Select the drive letter/mount point for the MicroSD card [please verify this is the correct device]
- Click 'Write' to begin writing the image to the MicroSD card.
[edit] Nokia N900
IT IS RECOMMENDED YOU READ THIS THOROUGHLY BEFORE YOU FLASH YOUR DEVICE
Installing Nemo Mobile on the N900 is relatively simple, in nearly all cases it is installed on the external MicroSD card, so that will be what this guide will be focusing on.
- What you will need:
- A Nokia N900, updated to PR 1.3.
- A MicroSD card with a capacity of at least 4GiB (more notes on this below)
- U-Boot (installed on the phone[more on this below])
- Either a working Windows or Linux PC or n900 with Maemo
- And the image, for N900, the filename of the file you will want will look like:
nemo-handset-armv7hl-n900-X.XXXXXXXX.X.NEMO.XXXX-XX-XX.X-mmcblk0p.raw.bz2
- Nemo generally runs well off the MicroSD card, probably better than from the internal eMMC, depending on some of the following factors:
- Speed/Class of the MicroSD card; a class 10 card should provide adequate performance, though note that the classes aren't a guarantee of performance.
- Quality/brand of the card; some cards have issues with the N900 and offer slow performance due to I/O errors.
- If reading reviews/benchmarks of cards before buying, look at the ones with the highest random read/write, not sequential.
Update with the current latest Nemo kernel (Jan 26 2012) there are issues with proper initialization of the SD card due to a potential kernel bug (race condition) together with the Pali version of u-boot. This has been confirmed on at least Samsung cards (8 GB class 6 and CLass 10 by Netweaver and Flocke000), also on others (unknown brand, by Pali and plipp). Bug report is entered. [2] Seems to be fixed in kernel-adaptation-n900-2.6.37-12.1.Nemo.Adaptation.N900 (2012-08-12).
- For U-boot there are 2 options:
- 1.) If you use the Nokia Linux Kernel on your N900, install U-Boot through the Hildon Application Manager. Enable the extras-devel repository. In the Hildon Application Manager, install the U-Boot package, found in "System" category. (The package is 'uboot-pr13' at the time of writing).
- 2.) !WARNING! In case you use the power kernel for Maemo, the U-Boot package found in Extras-devel will replace it with Nokia kernel! If you want to install U-Boot alongside kernel-power, you need to use a different version of U-Boot written by Pali Rohar, it's found here: U-Boot by Pali . This will still replace your power kernel, but you can boot it from a bootimage. For detailed instructions, see the power kernel thread on talk.maemo.org
- Verify the package has been installed correctly by rebooting your N900, at start-up there will be mention of U-Boot and possibly a penguin logo.
- After verifying the install, you may want to disable the extras-devel repository to prevent applications being updated to development versions.
- Next thing is to write an image to sd card. For this follow the Raw image write guide.
- Once it has been copied to the MicroSD card and your installing from a host PC, you can remove it from your card reader and put it in your N900.
- 1.) If you have "uboot-pr13" by Carsten Munk installed from the Extras-devel repository, booting the N900 with the card present, the rear cover in place, the MicroSD card inserted and U-Boot correctly installed should result in Nemo Mobile booting.
- 2.) If you are using U-Boot 2012.04-2 (or other version) from Pali, with the MicroSD card in place etc., you need to power up N900 with the keyboard opened. From the bootmenu, select "U-Boot console". Possible commands are listed, enter "run sdboot" to boot Nemo from the MicroSD card.
[edit] Troubleshooting
In case something went wrong during u-boot installation and you end up with an unbootable maemo system, you can follow this guide to boot maemo with a maemo kernel from the SD card.
[edit] Nokia N950
IT IS RECOMMENDED YOU READ THIS THOROUGHLY BEFORE YOU FLASH YOUR DEVICE
[edit] Ubiboot
Ubiboot is a boot manager for N9(50) devices. Follow this tutorial http://wiki.maemo.org/Ubiboot to multi-boot the device between Nemo/Harmattan/Sailfish/Nitdroid and other supported Operating Systems.
[edit] Single boot/loading
- You will need:
- Harmattan Flasher: tablets-dev.nokia.com (mirror: tablets-dev/maemo-dev-env-downloads/ dir on http://skeiron.org/), alternative for 'bb5_rdc_cert_read failed' error: beta 1 flasher
- MOSLO bootloader rootfs: tablets-dev.nokia.com (mirror: tablets-dev/moslo/ dir on http://skeiron.org/)
- An N950 that can flash the MOSLO, 34 and 39 work.
- Adequate knowledge/skills for what you are doing as THESE INSTRUCTIONS ARE OFFERED WITHOUT WARRANTY.
- A Linux OS
- The Nemo image for the N950, the filename of the file you will want will look like:
nemo-handset-armv7hl-n950-X.XXXXXXXX.X.NEMO.XXXX-XX-XX.X.tar.bz2
If you want to keep your Harmattan installation, you should check the dual-boot method below.
NOTE: Before you begin, assure that the device lock is disabled on the Harmattan installation (Settings>Security>Device Lock>Autolock)
NOTE: Additionally, before installing the bootloader, boot into Harmattan at least once and wait for it to fully load (2-4 mins).
- Make sure your device is fully charged before beginning.
- Power off your N950, disconnecting the USB/Charger cable.
- Run the flasher, pointing it at your MOSLO image:
sudo flasher -F moslo-rootfs-X.XXXX.XX-X_RM680-OEM1-XX_X.X.XX-XX.X.bin -f
The flasher will now be ready to program your device, waiting for it to be connected.
- Connect your N950, it should begin flashing, wait for it to finish flashing. DO NOT DISCONNECT WHILE FLASHING
- Do not disconnect. Read next steps.
- After flashing MOSLO, boot the device by disconnecting, then immediately re-connecting the USB cable. You will see a warning, then the MOSLO welcome screen (green text). Wait for the text "Rootfs now exported via USB"
- If your device doesn't proceed to the MOSLO screen after flashing MOSLO, let it proceed into Harmattan then power down the device, waiting a short time before reconnecting it to the USB.
- Your OS may automount the drive, unmount it [do not 'eject' it from the OS] with cmd:
sudo umount mount_point_here_eg_/dev/sdX
If you get a 'bb5_rdc_cert_read failed' error or similar during flashing, you should try downloading The Beta 1 flasher tool and try flashing your device with that version.
After this reformat the device (Here we say device because moslo export partition in such way that host os sees it as a full device node):
sudo mkfs.ext4 /dev/sdX
You will see a warning about it being the entire device, not just one partition, check you have the correct device, then proceed, this is expected.
Next thing is to move the rootfs to the device Nokia N950 & Nokia N9 Rootfs Installation.
The device should automatically boot to Nemo after removing the USB cable, however, if it doesn't, hold the power button and turn it on. You will be shown a disclaimer, then briefly the MOSLO screen, after this, wait until the desktop appears.
[edit] Dual-boot method
This method allows you to keep both Harmattan and alternative OS such as Nemo on the device, and select which OS to boot when powering the device up.
It's highly adviced to have the latest available Harmattan release for N950. OCF (one-click-flasher) installers can be found here: http://harmattan-dev.nokia.com/release/N950/firmware/.
Get modified MOSLO
wget -r -l1 -nd --no-parent -Amoslo-0.*.rpm http://releases.nemomobile.org/snapshots/repos/hw/ti/omap3/n950-n9/latest/armv7hl/armv7hl/
and extract the contents
rpm2cpio moslo-*.armv7hl.rpm | cpio -vidu
Flash modified MOSLO to NAND. (You need to grab the original MOSLO binary from http://tablets-dev.nokia.com/moslo.php, in order to be able to flash.)
sudo flasher -a moslo-rootfs-1.2011.34-2_RM680-OEM1-916_0.0.13-12.1.bin -L usr/share/moslo/moslo.img -f -R
The device is flashed and rebooted to the modified MOSLO. Next thing is to move the rootfs to the device Nokia N950 & Nokia N9 Rootfs Installation.
After removing the USB cable, you will be shown a selection to boot Harmattan or the alternative OS (Nemo). NOTE: if Harmattan fails to boot, plug in charger/USB cable right after selecting Harmattan in MOSLO screen and keep it connected.
[edit] Uninstalling the dual boot
[edit] Removing Nemo rootfs and the Alternative OS partition
Boot the device with USB cable connected so that it stays in the modified MOSLO screen. Then, telnet in the device in order to get to modified MOSLO console. Note you may have to setup the network interface on your host PC (e.g. ifconfig usb0 192.168.2.14 up).
$ telnet 192.168.2.15
Run the following in the modified MOSLO console (which you get after successful telnet):
/ # autopartition.sh delete /dev/mmcblk0
On the last line of the printout (in modified MOSLO console), you should see "Removal of Alt_OS partition completed successfully!". Now, you can turn off your device. Do not turn it on, before the next steps (i.e. wiping out modified MOSLO) are done, because otherwise the modified MOSLO will re-partition your device, again, in the next boot.
[edit] Removing the modified MOSLO
Now you're ready to remove the modified MOSLO. Create empty file (on your host PC)
$ touch empty.img
Flash the empty file
$ flasher -a moslo-rootfs-1.2011.34-2_RM680-OEM1-916_0.0.13-12.1.bin -L empty.img -f -R
If the flashing succeeds, MOSLO is removed and the device should boot to Harmattan.
( Source for this information: http://wiki.meego.com/User:Marquiz/N950 )
[edit] Nokia N9
DISCLAIMER: These instructions are provided without any warranty what so ever and will break the warranty of your device. Following these instructions is done totally on your own risk. Because of the previously mentioned the instructions are only targetted for hackers/developers only.
By following these instructions you are being aware of following facts:
- You may brick your device to state where it can't be returned to usage
- You may not be able to reinstall Harmattan to your device
- You may lose all the data from your device
- You lose your device warranty
YOU HAVE BEEN WARNED!
[edit] Ubiboot
Ubiboot is a boot manager for N9(50) devices. Follow this tutorial http://wiki.maemo.org/Ubiboot to multi-boot the device between Nemo/Harmattan/Sailfish/Nitdroid and other supported Operating Systems.
[edit] Older methods below
Each of them will consist of these steps:
- Download a Nemo (or other suitable) image (see Images section)
- Get flasher (see N950 instructions)
- Get moslo
- Get kernel
- Flash moslo and kernel
- Mount N9 partition and copy image to fs
- Boot device into Nemo
[edit] Single Boot by Loading The Kernel (TRY THIS FIRST)
This is least intrusive method, no kernel is physically flashed (though you will start getting the warranty nag splash screen anyhow), but to boot to Nemo you will have to have a Linux PC with USB cable nearby for every N9 reboot (otherwise it will boot to Harmattan).
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 # on 26/8/2013 MOSLO kernel was proved broken, getting working one from: curl https://raw.github.com/ruedigergad/nemo-n9-blobs/master/zImage-kernel-moslo-n9 -o usr/share/moslo/zImage-moslo sudo flasher -k usr/share/moslo/zImage-moslo -n usr/share/moslo/initrd-moslo -l -b
After this the N9 is booted with moslo and you see warning about warranty, after which green text comes up that says the N9 is being repartitioned for AlternateOS. This takes a moment after which the newly created fs is exported via USB. If it doesn't, try the Troubleshooting section
Next thing is to move the rootfs to the device with Nokia N950 & Nokia N9 Rootfs Installation guide.
After this is done disconnect the USB cable and press volumedown key when asked whether to boot to Alternate OS or to Harmattan. In subsequent boots, device will boot directly to Harmattan. To get Alternate OS booting you need to run the above flasher command again.
[edit] Persistent Single Boot by Flashing the Dual Boot
This will always boot to Nemo. You can forget using Harmattan if you choose this method.
NOTE: There is the possibility to dual boot also via this guide. This was, however, not thoroughly tested. Dual boot was only tested briefly with the open mode kernel. If you want to enable dual boot later you need to get the kernel command line for Harmattan, e.g., as reported by dmesg. If you want to dual boot, get the kernel command line and store it for later use.
First get the packages and extract the needed files.
wget -r -l1 -nd --no-parent -Amoslo-0*.armv7hl.rpm http://releases.nemomobile.org/snapshots/repos/hw/ti/omap3/n950-n9/latest/armv7hl/armv7hl/
rpm2cpio moslo-*.armv7hl.rpm | cpio -vidu # on 26/8/2013 MOSLO kernel was proved broken, getting working one from: curl https://raw.github.com/ruedigergad/nemo-n9-blobs/master/zImage-kernel-moslo-n9 -o usr/share/moslo/zImage-moslo
After we have the moslo we need to get also a fiasco image from which the ape algorithm is retrieved. This fiasco image location is mentioned in the N9 Firmware recovery guide. After you have downloaded a fiasco image you can flash the kernel to the device with following command.
sudo flasher -a <FIASCO_IMG> -k ./usr/share/moslo/zImage-moslo -f -R
After the flashing is done, the device will automatically reboot. You will see warning about warranty (if you did not take the necessary steps to remove it prior) and after that, green text that should appear that inform you the device is repartitioning for the alternative os. If you see error try theTroubleshooting setion.
When the repartitioning is done the device exports the new partition via usb (when ever the device is booted with usb cable attached) and you can follow the Root filesystem installation guide to get the Nemo installed to the device.
[edit] Dual Boot (Optional)
NOTE: This had so far only been tested with the open mode kernel.
You need to have the Harmattan kernel command line and the Harmattan kernel bzImage for this to work. You should have gotten these before you installed the boot loader (MOSLO).
The functionality to get dual boot working is already included in the MOSLO as provided by marquiz. The trick to enable is to create a directory named "/boot-orig" in the Nemo root. The Harmattan kernel and the kernel command line need to be put into this directory. The Harmattan kernel has to be named "bzImage" (a link should also do) in "/boot-orig". The Harmattan kernel command line needs to be stored in a file named "cmdline" in "/boot-orig".
That's it. If you have everything in place you can reboot. This time the MOSLO should show instructions on how to select either Harmattan or Nemo via the volume keys.
[edit] Removing Nemo rootfs and the Alternative OS partition
You can remove the Alternative OS partition with the modified MOSLO. Thus, you get all the space reserved Nemo back to use for Harmattan.
Load the modified MOSLO for N9, as described above, and keep the USB cable connected:
$ sudo flasher -k usr/share/moslo-n9/zImage-moslo -n usr/share/moslo-n9/initrd-moslo -l -b
Wait until the modified MOSLO is loaded - until you see the green text saying "You can telnet into 192.168.2.15"). Then, telnet in the device in order to get to modified MOSLO console. Note you may have to setup the network interface on your host PC, see Nemo/USBNetworking.
$ telnet 192.168.2.15
Run the following in the modified MOSLO console (which you get after successful telnet):
/ # autopartition.sh delete /dev/mmcblk0
On the last line of the printout (in modified MOSLO console), you should see "Removal of Alt_OS partition completed successfully!". Now, the partition is removed and you can turn off your device.
[edit] Recovering your N9 firmware
This will completely erase your device
If you have installed moslo and repartitioned the device see Remove Aternative OS partition guide.
You might want to use this more detailed guide: http://talk.maemo.org/showthread.php?t=82693
NaviFirm no longer works! Choose your firmware from the "firmware/" directory on http://skeiron.org/
After the download is done it is time to flash the device. Remember to detach the USB cable from your device before starting the flasher.
After the file has been downloaded you can reflash your device.
sudo flasher -F DFL61_HARMATTAN_40.2012.21-3_PR_LEGACY_001-OEM1-958_ARM.bin -f --no-preserve
When following text appears
Suitable USB interface (bootloader/phonet) not found, waiting...
Attach the USB cable between your N9 and host PC and the flashing begins.
When the flasher outputs Success you can detach the USB cable from your PC and your N9 should reboot to Harmattan.
[edit] Troubleshooting
[edit] FATAL: Re-partitioning failed! You might be in trouble!
This means that partition 4 was not created.
This can be due to several reasons, find them below, most frequent first.
Now do the prerequisites:
- Telnet into the device (if you cannot telnet, non-persistently flash ubiboot's kernel which will export your whole /dev/mmcblk0 via USB : sudo flasher -k ubiboot-zImage -l -b)
- Check the exact problem by `cat /var/log/repartition.log`
- Execute `fdisk /dev/mmcblk0`, it will start with:
Disk /dev/mmcblk0: 15.8 GB, 15896412160 bytes 4 heads, 16 sectors/track, 485120 cylinders Units = cylinders of 64 * 512 = 32768 bytes
- Press 'p' and Enter
- If you see big numbers (>1,000,000) for Start and End, press 'u'
- Match your problem below (see below for Nokia N9 64GB):
[edit] Nokia N9 16GB
[edit] Only partition 1 and 3 are seen
Device Boot Start End Blocks Id System /dev/mmcblk0p1 17 160512 5135872 c W95 FAT32 (LBA) /dev/mmcblk0p3 419585 485120 2097152 83 Linux
Remedy:
- Create partition 2 (start cyl:288513 end:419584)
- Write partitions, fdisk will quit
- Ensure you can mount partition 2 (it should display Harmattan's rootfs):
mount /dev/mmcblk0p3 /mnt; ls /mnt/; umount /mnt
- go back to fdisk
- Create partition 4 (start cyl:160513 end:288512)
- Write partitions, type `sync` and `reboot` back into MOSLO
- From your host Linux PC, format the exported partition 4:
mkfs.ext4 /dev/sd?
(yes, it is exported as whole disk, double check it's not your main HDD and go ahead ;P)
[edit] MyDocs (partition 1) expanded for some reason
Device Boot Start End Blocks Id System /dev/mmcblk0p1 17 288512 9231872 c W95 FAT32 (LBA) /dev/mmcblk0p2 288513 419584 4194304 0 Empty /dev/mmcblk0p3 419585 485120 2097152 83 Linux
Remedy:
- Delete partition 1
- Re-create partition 1 with 17 (start) and 208512 (end) cylinders
- Set partition 2 type to Linux (83)
- Perform finalising step here
- Format the adjusted partition 1 `mkfs.vfat /dev/mmcblk0p1`
[edit] Partition 2 points to partition 4 space
Device Boot Start End Blocks Id System /dev/mmcblk0p1 17 208512 6671872 c Win95 FAT32 (LBA) /dev/mmcblk0p2 208513 288512 2560000 83 Linux /dev/mmcblk0p3 419585 485120 2097152 83 Linux
Remedy:
- Delete partition 2
- Restore the valid partition 2 (start cyl:288513 end:419584)
- Perform finalising step here
[edit] Finalising step
- Create partition 4 (start cyl:208513 end:288512)
- The final layout should be:
Device Boot Start End Blocks Id System /dev/mmcblk0p1 17 208512 6671872 c Win95 FAT32 (LBA) /dev/mmcblk0p2 288513 419584 4194304 83 Linux /dev/mmcblk0p3 419585 485120 2097152 83 Linux /dev/mmcblk0p4 208513 288512 2560000 83 Linux
To finish the job of autopartition.sh you'll have to do this manually:
mkfs.ext4 -L 'Alt_OS' /dev/mmcblk0p4 backup_kernel.sh /dev/mmcblk0p4 boot-orig
Sync and reboot, flash into MOLSO again, this time it should get you to the Alt_OS partition exported via USB.
[edit] Nokia N9 64GB
[edit] Partition 2 points to partition 4 space
Disk /dev/mmcblk0: 64.1 GB, 64130908160 bytes 4 heads, 16 sectors/track, 1957120 cylinders Units = cylinders of 64 * 512 = 32768 bytes Device Boot Start End Blocks Id System /dev/mmcblk0p1 17 1632512 52239872 c Win95 FAT32 (LBA) /dev/mmcblk0p2 1632513 1760512 4096000 83 Linux /dev/mmcblk0p3 1891585 1957120 2097152 83 Linux
Remedy:
- Delete partition 2
- Write changes (w) and quit fdisk
- Run and setup parted (YOU WON'T BE ABLE TO RESTORE PARTITON 2 VIA FDISK, AS IT ENDS ON SECTOR BOUNDARY):
parted /dev/mmcblk0 (parted) unit s (parted) print
- Create partition 2:
(parted) mkpart Partition type? primary/extended? primary File system type? [ext2]? ext4 Start? 112672768s End? 121061375s quit
- Re-enter fdisk
- Create partition 4 with 1632513 (start) and 1760512 (end) cylinders
- Format the created partition 4 `mkfs.ext4 /dev/mmcblk0p4 -L Alt_OS`
[edit] Final layout
Device Boot Start End Blocks Id System /dev/mmcblk0p1 17 1632512 52239872 c Win95 FAT32 (LBA) /dev/mmcblk0p2 1760513 1891584 4095968 83 Linux /dev/mmcblk0p3 1891585 1957120 2097152 83 Linux /dev/mmcblk0p4 1632513 1760512 4096000 83 Linux
[edit] Can't find your case?
Come to our IRC channel for help. You will need to partition manually for table to look like Nokia N9 16GB and 64GB variants. Ensure that resizing was completed successfully, by checking that partitions are mountable and with data (to be able to still boot Harmattan):
Partition 1 - Harmattan MyDocs Partition 2 - Harmattan rootfs Partition 3 - Harmattan /home/ Partition 4 - Nemo rootfs (Alt_OS)
[edit] Nemo still does not boot
It's when device shuts down, screen remains black.
Apparently if you reboot once again and repeat the procedure, it will boot. Now it looks like it's strictly 50% chance.
[edit] Nokia N950 & Nokia N9 Rootfs Installation
You should see now /media/Alt_OS if your Linux Host OS has automatic mount enabled. If the device is not shown then you need to mount it manually with following commands:
sudo mkdir -p /media/Alt_OS/ sudo mount /dev/sdX /media/Alt_OS/
Now when the device is mounted, the next thing is to extract the selected Nemo release to the device.
sudo tar --numeric-owner -xf nemo-handset-armv7hl-n950-*.tar.bz2 -C /media/Alt_OS/
When the extract is ready you should umount the device
sudo umount /media/Alt_OS
[edit] PandaBoard
The installation for PandaBoard is very simple.
Download the nemo image (see: #Images), it is named nemo-handset-armv7l-pandaboard and the disk image has extension .raw.
After downloading the image follow the Raw image write guide how to put the image to the sd card. After the image is written put the sdcard to PandaBoard and turn on the power.
[edit] i586 (e.g., Lenovo Ideapad, ExoPC)
- Get the nemo-handset-i586-*.img from the Images repository.
- Write to a USB stick, using your favourite tool(eg. mic-image-writer).
- Insert USB stick, and boot the machine from there (you might need to configure your BIOS settings to do that.)
- After booting the image start Terminal from the application menu (should be on the second page).
- When in terminal change user to root with su cmd (password is nemo by default)
su
Next it is time to start installer:
installer-shell
Next answer to the questions in a way that suits your needs best. When the installation is done type
halt -p
Now when the device powers off you can remove the usb stick and restart the device.
[edit] i486 Virtual Machine
[edit] VirtualBox
[edit] Wayland/Qt5
Read here
[edit] X11/Qt4
Note: it is currently recommended that CPU on your host system supports at least SSSE3 extensions (triple-S!, see http://en.wikipedia.org/wiki/SSSE3 ). If you are able to see the Nemo boot up screen but then when it switches to graphical mode you only get a black screen (and probably high CPU load), the CPU may lack some capabilities. To verify what your CPU supports, on Linux system you can run the command:
grep flags /proc/cpuinfo
Alternatively you can try i486 images from the repository.
[edit] Setting up VirtualBox
- First install VirtualBox on your host OS https://www.virtualbox.org/.
- From the Images repository select the latest release and download the image named nemo-handset-i486-vm-*.img
- After downloading change the extension of the image from .img to .iso and start VirtualBox.
- In VirtualBox click New and set following values:
Name: Nemo Mobile Operating System: Linux Version: Linux 2.6 Base Memory Size: 512 MB
Next comes Startup disk, you can either leave it out, create e.g. 4 GB disk (recommended), or use an existing disk.
Start-up Disk: Create new disk File type: VDI (VirtualBox Disk Image) Storage details: Dynamically allocated or Fixed size Location: Where you want it Size: 4 GB is recommended
After this the basic settings are there, but we need to edit some of them a bit more, so select the "Nemo Mobile" VM and click Settings:
System->Processor->Extended Features: Check 'Enable PAE/NX' Storage->IDE Controller->Empty and then "Setup Virtual CD/DVD drive": Select the .iso file that was renamed earlier
[edit] SSH Port Forwarding (optional)
To add port forwarding to get SSH connection to the VM you need to change also
Network->Adapter 1->Advanced->Port Forwarding
And add there
Name: SSH Protocol: TCP Host Port: 4022 Guest Port: 22
This will make it possible to connect to the VM through port 4022 on the host.
You can connect later to the device with
ssh -o port=4022 nemo@localhost
[edit] Finalizing the installation
- Now you are ready to boot the image. This is done by selecting the "Nemo Mobile" VM and clicking Start
- After booting the image open a virtual terminal in text mode by pressing <Host>-F2 (<Host> key is typically mapped to RightCtrl) or ssh
Note: for now do not use FingerTerm to login, due to NEMO#680
- Login as root, or as nemo user (password is nemo) and become root via su
- Start the installer (due to NEMO#509 a PATH variable needs to be modified):
PATH=$PATH:/sbin installer-shell
- Answer the questions in a way that suits your needs best. When the installation is done, shut down the VM with:
halt -p
- After the VM powers off go back to Settings->Storage->IDE Controller and remove the .iso image.
- Now you are ready to boot Nemo Mobile.
[edit] Help
More help on IRC chatrooms @irc.freenode.net on #Mer and #nemomobile channels and on our Mailing lists.