Booting from a flash card

(Partitioning your MMC)
(Getting root access)
Line 26: Line 26:
It is supposed that without any previous knowledge you should be able to accomplish the whole procedure. Ask for help in case something goes wrong. I'll be happy to help you at the following e-mail address: sebastian.maemo{AT}gmail.com
It is supposed that without any previous knowledge you should be able to accomplish the whole procedure. Ask for help in case something goes wrong. I'll be happy to help you at the following e-mail address: sebastian.maemo{AT}gmail.com
-
== Getting root access ==
+
== Gain root access ==
-
First of all you need to be able to get [[root access]].
+
First of all you need to be able to gain [[root access]].
== Partition your card ==
== Partition your card ==

Revision as of 20:03, 4 July 2008

Image:Ambox_content.png
This is an article from the old midgard wiki that hasn't yet been fully updated for this wiki, please update it.
Please see the talk page for discussion.


Contents

Why would we want to boot from MMC?

  • Because we'll have enough space to INSTALL as MANY applications as may fit in our (GB-size) MMC card.
  • Because we'll have an INTACT COPY of the original system. So that if something goes wrong, we'll be able to BACKUP the system without reflashing the device.
  • Because we'll still be able to mount our MMC on a Windows-based PC via USB.
  • Because the whole system won't be based on a compressed and journalized filesystem (jffs2) so the result may be faster due to lower CPU usage (no (de)compression with each read/write operation) and faster SD/MMC speed (depends on card and may require custom kernel - 770, N800)

Known working devices

This procedure has been tested on the following configurations:

Hardware Software
Nokia N770 ITOS 2006 3.2006.49-2
Nokia N800 ITOS 2007 2.2006.51-6 1
Nokia N800 ITOS 2007 4.2007.26-8

The first time I tried this on my N800 it led to continuous reboots 30-90 seconds after booting. Trying it a second time on a clean install (directly after flashing and erasing everything already on the device) worked fine.

This procedure should work with any device listed at http://fanoush.wz.cz/maemo/#initfs

It is supposed that without any previous knowledge you should be able to accomplish the whole procedure. Ask for help in case something goes wrong. I'll be happy to help you at the following e-mail address: sebastian.maemo{AT}gmail.com

Gain root access

First of all you need to be able to gain root access.

Partition your card

Follow the instructions to partition your card.

Install bootmenu

Connect your device to the charger, as running out of battery power during the flashing process could damage the device.

First, we need to install wget, so open Xterm and, as root, run:

apt-get install wget

Then run:

mkdir /home/user/local/bin
cd /home/user/local/bin
wget http://www.nmacleod.com/nokia/bin/nupgrade.sh
wget http://www.nmacleod.com/nokia/bin/tar
chmod +x nupgrade.sh tar

Now we need to download and install fanoush's initfs flasher, so, as root, run:

wget http://fanoush.wz.cz/maemo/initfs_flasher.tgz
tar zxvf initfs_flasher.tgz
cd initfs_flasher/
./initfs_flash

Follow the onscreen instructions. You can answer yes to all of these questions if you don't understand what they mean.

Now we need to load the kernel modules for ext2, so, as root, run:

insmod /mnt/initfs/lib/modules/(uname -r)/mbcache.ko
insmod /mnt/initfs/lib/modules/(uname -r)/ext2.ko

Removing the menu

If you decide you do not wish to see the menu on each boot or you do not wish to boot from mmc anymore and go back to using internal flash only, type this (as root):

# chroot /mnt/initfs cal-tool --set-root-device flash

To remove the (harmless) 'Press menu key ..." message early on boot you need to restore your initfs backup (if you decided to create one)

# cd /home/user/MyDocs/.documents/initfs_flasher/
# ./initfs_flash initfs.orig.jffs2

or you can reflash whole firmware (Windows) or restore just initfs part (Linux). Both initfs restoration steps are a bit risky and can cause data loss if something goes wrong so it may be good idea to simply live with the message until you decide to upgrade to next firmware or want to reflash whole device anyway. It does not slow down device booting or do any other harm.