The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


Nemo/Installing

From Mer Wiki
< Nemo(Difference between revisions)
Jump to: navigation, search
(Nokia N9)
m (N9/N950: Added direct link for 2014-02-24 since it's up there.)
 
(185 intermediate revisions by 31 users not shown)
Line 1: Line 1:
 
= Generic Notes =
 
= Generic Notes =
 
These instructions should guide you through installing Nemo Mobile on your desired device.  
 
These instructions should guide you through installing Nemo Mobile on your desired device.  
 +
 
== Images ==
 
== Images ==
The first thing you should do is visit our repository and download the [http://repository.maemo.org/meego/Nemo/ latest image] for your platform.
 
== 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.
 
== 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.
 
  
= Nokia N900 =
+
=== Wayland/Qt5 ===
'''IT IS RECOMMENDED YOU READ THIS THOROUGHLY BEFORE YOU FLASH YOUR DEVICE'''
+
====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
  
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.
+
====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>
  
*What you will need:
+
====i486-vm====
**A Nokia N900, updated to PR 1.3.
+
2013-10-30 [http://images.formeego.org/virtual-x86/nemo/nemoWayland-20131030.vdi direct link] [http://mgnet.me/irV0d torrent]<br/>
**A MicroSD card with a capacity of at least 4GiB (more notes on this below)
+
<span style=color:red>'''As of 2013-10-30, i486 VM IMAGE HAS AN OPACITY GLITCH: all apps appear transparent. Temporary solution:</span>
**U-Boot (installed on the phone[more on this below])
+
zypper ar http://repo.merproject.org/obs/home:/sledge:/mer:/qt:/devel/mer_qt_i486/ opaqueme
**Either a Windows or Linux PC
+
zypper ref opaqueme
**And '''the image''', for N900, the filename of the file you will want will look like:
+
zypper dup --from=opaqueme
  nemo-handset-armv7hl-n900-X.XXXXXXXX.X.NEMO.XXXX-XX-XX.X-mmcblk0p.raw.bz2
+
sync
 +
reboot
 +
<span style=color:red>'''We are working on the fix.'''</span>
  
*Nemo generally runs well off the MicroSD card, probably better than from the internal eMMC, depending on some of the following factors:
+
====Old images====
**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.
+
[[Nemo/Old_Images|Find them here, including obsolete X11 ones]]
**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.
+
== The First Boot ==
'''Update'''
+
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.
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.merproject.org/show_bug.cgi?id=150]
+
 
 +
== 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.
  
*U-boot is installed on the N900 through the Hildon Application Manager
+
== Raw Image Write ==
**Enable the extras-devel repository.
+
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.
**In the Hildon Application Manager, install the U-Boot package, found in "System" category. (The package is 'uboot-pr13' at the time of writing)
+
**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.
+
**Once verified installed, disable the extras-devel repository to prevent applications being updated to development versions.
+
  
== Linux ==
+
=== 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:  
Firstly, decompress the raw image file you have downloaded and put it somewhere easy to remember, if you do not have enough room to decompress the image, used the alternative last command.
+
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 44: Line 49:
 
  sudo umount /dev/sdX
 
  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 contains two parts first bzcat that uncompresses the image after which the output is redirected to dd which writes it to the card:
+
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
 
  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'''
 
'''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.
(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
  
Once it has been copied to the MicroSD card, you can remove it from your card reader and put it in your N900. 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.
+
=== Windows Host ===
  
== Windows ==
 
 
The process of installing the Nemo image to your MicroSD card on windows is also quite straight forward.
 
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''.
 
*First, extract the .bz2 image, if you don't have any software to do so, you can use ''Bzip2 for Windows''.
Line 72: Line 75:
 
*Click 'Write' to begin writing the image to the MicroSD card.
 
*Click 'Write' to begin writing the image to the MicroSD card.
  
Once it has been copied to the MicroSD card, you can remove it from your card reader and put it in your N900. 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.
+
= 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. [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).
 +
 
 +
*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.
 +
* 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|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.
 +
 
 +
== 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 ==
  
 
*You will need:
 
*You will need:
**Nokia Harmattan Flash Tool from [http://tablets-dev.nokia.com/maemo-dev-env-downloads.php here].
+
** 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]
**The MOSLO bootloader rootfs available [http://tablets-dev.nokia.com/moslo.php here].
+
** 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 86: 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
  
== On Linux Host ==
+
'''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 103: 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):
 
  sudo mkfs.ext4 /dev/sdX
 
  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.
+
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.
*Now mount your newly formatted partition with the following cmds:
+
sudo mkdir -p /media/_choose_your_mountpoint_here_
+
sudo mount /dev/sdX /media/_above_chosen_mountpoint_here_
+
 
+
Now it is time to extract your Nemo image to your N950 with:
+
sudo tar --numeric-owner -xf directory/nemo-handset-armv7hl-n950-testing-X.XXXXXXXX.X.NEMO.XXXX-XX-XX.X.tar.bz2 -C /media/_above_chosen_mountpoint_here_
+
  
After extraction is complete, safely unmount/eject the partition before removing the USB cable:
+
Next thing is to move the rootfs to the device [[#Nokia N950 & Nokia N9 Rootfs Installation|Nokia N950 & Nokia N9 Rootfs Installation]].
sudo umount /media/_above_chosen_mountpoint_here_
+
  
 
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.
 
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.
 +
 +
== 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|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.'''
 +
 +
=== Uninstalling the dual boot ===
 +
 +
==== 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.
 +
 +
==== 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 )
 +
  
 
= Nokia N9 =
 
= Nokia N9 =
Line 126: Line 212:
 
''' By following these instructions you are being aware of following facts: '''
 
''' 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 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 not be able to reinstall Harmattan to your device
* You may loose all the data from your device
+
* You may lose all the data from your device
* You loose your device warranty
+
* You lose your device warranty
  
 
''' YOU HAVE BEEN WARNED! '''
 
''' YOU HAVE BEEN WARNED! '''
  
TODO
+
== 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 ==
 +
 
 +
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.
 +
 
 +
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 ==
 +
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.
 +
 
 +
== Recovering your N9 firmware ==
 +
 
 +
'''This will completely erase your device'''
 +
 
 +
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 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.
 +
 
 +
== 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 =
 +
 
 +
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
 +
 
 +
= 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|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.
  
 
= i586 (e.g., Lenovo Ideapad, ExoPC) =
 
= i586 (e.g., Lenovo Ideapad, ExoPC) =
  
TODO
+
* Get the nemo-handset-i586-*.img from the [[#Images|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.
 +
 
 +
= i486 Virtual Machine =
 +
 
 +
== 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.
 +
 
 +
=== Setting up VirtualBox ===
 +
* First install VirtualBox on your host OS https://www.virtualbox.org/.
 +
* 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
 +
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
 +
 
 +
==== 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=
  
=FAQ=
+
More help on IRC chatrooms @irc.freenode.net on [http://webchat.freenode.net/?channels=Mer #Mer] and
If you have installation problems, you can post them here. More help on [http://webchat.freenode.net/?channels=Mer IRC Chatroom] @ irc.freenode.net ~ #mer and #nemomobile and on our [[Mailing lists]].
+
[http://webchat.freenode.net/?channels=nemomobile #nemomobile] channels and on our [[Mailing lists]].

Latest revision as of 06:35, 26 June 2014

Contents

[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.
  • 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.

Personal tools