ReferencePlatforms/Imaging/Nokia N810: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 9: Line 9:
**Nokia Official firmware image
**Nokia Official firmware image


==Creating image overview==
==Creating image==
This process is designed to generate a JFFS2 file system image which flasher-3.0 can use to write a root filesystem for the n810 unit.  The Nokia firmware image (.bin) uses an archiving format called FIASCO.  Luckily, we are able to use flasher-3.0 to unpack this image (<code>sudo ./flasher-3.0 -u -F RX44-*.bin</code>).  To create an image, we need to copy the root filesystem of the configured device to the PC then generate a JFFS2 filesystem image.
This process is designed to generate a JFFS2 file system image which flasher-3.0 can use to write a root filesystem for the n810 unit.  The Nokia firmware image (.bin) uses an archiving format called FIASCO.  Luckily, we are able to use flasher-3.0 to unpack this image (<code>sudo ./flasher-3.0 -u -F RX44-*.bin</code>).  To create an image, we need to copy the root filesystem of the configured device to the PC then generate a JFFS2 filesystem image.



Revision as of 00:05, 23 July 2009

Requirements

You will need the following things:

  • Nokia N810
  • Nokia USB Cable
  • Nokia Charger
  • PC running Linux
    • Nokia's Scratchbox to compile mkfs.jffs2
    • Nokia's flasher-3.0 program
    • Nokia Official firmware image

Creating image

This process is designed to generate a JFFS2 file system image which flasher-3.0 can use to write a root filesystem for the n810 unit. The Nokia firmware image (.bin) uses an archiving format called FIASCO. Luckily, we are able to use flasher-3.0 to unpack this image (sudo ./flasher-3.0 -u -F RX44-*.bin). To create an image, we need to copy the root filesystem of the configured device to the PC then generate a JFFS2 filesystem image.

Set up device

The first step is to set up the device exactly the way you wish the imaged devices set up. It seems that everything down to which wifi connection is selected gets stored in the image.

Clone filesystem

To clone the filesystem, you need to remount the filesystem then rsync the contents to the PC. I did this by running ON N810

mkdir /media/mmc2/rootfs
sudo mount -t jffs2 /dev/mtdblock4 /media/mmc2/rootfs

ON PC

mkdir rootfs-configured
sudo rsync -a root@${N810-IP}:/media/mmc2/rootfs/. rootfs-configured

Modify files

At this stage, any nessecary modifications to the filesystem can be made. This includes /etc/hostname, /media/mmc1/buildbot/buildbot.tac and /media/mmc1/buildbot/info/host

Generate image

You will need your distributions 'mtd-utils' package which will include mkfs.jffs2 (sudo apt-get install mtd-utils). Create an image:

sudo mkfs.jffs2 -r rootfs-configured -o rootfs-moz-v1.jffs2 -e 128 -l -n

Flashing manually

A manual flash is done with the generated root filesystem image. It is a good idea to flash the complete and official firmware before our custome image as it ensures that we have a working kernel, bootloader, init filesystem and other critical images.

echo "Turn device completely off, remove battery if needed"
echo "Plug in USB cable"
sudo ./flasher-3.0 --fiasco RX-44*.bin --flash
sudo ./flasher-3.0 --rootfs rootfs-moz-v1.jffs2 --flash
echo "Plug in Power Cable"
echo "Unplug USB Cable"
echo "Turn on device"

Flashing automatically

This is a WIP.