Using the flasher utility and creating the reference root file system

This document is released under the GPL license.

Introduction

This document provides information and examples on the following topics:

  • Creating and customizing of the reference root file system

  • Using the flasher utility

  • Flashing the reference root filesystem onto the target device

  • Modifying the root filesystem to make your own version of it

Modifying the root filesystem

Before you can flash the reference root file system, you need to have it installed and modified to your needs on your computer. When you create your own reference root file system, you can add tools or components to it, or remove unnecessary parts. This section provides an example on how you can build the reference filesystem and customize it.

As a prerequisite, you need to have maemo 2.2 installed on your computer. Also, you need the following scripts from the subversion repository installed into your working root reference file system directory:

  • make_rootimage.sh
  • dlocate.sh
  • droot.sh
  • conf.sh
  • strip.sh
  • tar2jffs2.sh
  • releasenotes.sh
  • gconftool-wrapper

Create symbolic links to these scripts under your Scratchbox home directory, from an empty working directory. As a side note, the same scripts can be used to create custom rootstraps.

To customize the reference root file system, perform the following steps:

  1. Log into scratchbox.

  2. Create an empty ARMEL target with the following command:

    			sbox-config -ct ROOTFS -cn cs2005q3.2-glibc-arm -cm qemu-arm --devkits=debian
    		  
  3. Switch to the new target with sbox-config -s
  4. Copy the package list rootfs.packages that is used for the reference root file system. The file can be obtained from the subversion repository: rootfs.packages

The reference root file system includes some optional binary modules that can be downloaded separately. These packages are not necessary and you can create a root file system without them, but this leads to some functionalities not being available.

You can download these packages.

After successfully downloading those packages, create a workarounds/ directory under your root file system's working directory, and copy the binary packages there.

This directory can also be used to include your own set of applications. For example, you can add a new text editor such as Vim. To do this, importthe vim package from the Debian stable ARM repository and save it into the workarounds/ directory. When performing this operation, confirm that all package dependencies are met.

If you want to pre-install Application Installer packages, create a directory called applications/ under your root file system working directory. Copy the packages you want to be pre-installed into this directory.

After this, copy the sources.list from the subversion repository: sources.list (username: guest, password: guest) and add it to your working directory. Inside your previously created new target, run the following script:

./make_rootimage.sh --rootfs --packages=rootfs.packages --srclist=sources.list

This resets the Scratchbox target. If there are any dependencies missing, you need to correct them. The easiest way to do this is to copy the needed packages under workarounds/ directory.

Now you are able to create the jffs2 file system image, by running the following command in your working directory outside of scratchbox:

./tar2jffs2.sh yyyymmdd-hhmmss-rootfs.tgz

This script requires mkfs.jffs2 and sumtool binaries from Debian package's mtd-tools. When this is completed, you have a working root file system.

Using Linux Flasher

The flasher is a command line tool which you can use to flash items to your Nokia 770 Internet Tablet. You can download the utility.

Save the flasher tool to the directory you plan to use as the working directory. After you have saved the tool, navigate to the working directory and change the file to executable withchmod. To run the flasher you need power user rights. As a power user, to list the information and parameters of the flasher, enter the following command:

./flasher-2.0

The following is an example of the output::

 		
		Usage: flasher [OPTIONS] 		
		
		Options: 		
		--fiasco, -F                  Location of a FIASCO image
		--kernel, -k                  Location of kernel image 		
		--initfs, -n                  Location of initfs image 		
		--rootfs, -r                  Location of root JFFS2 image 		
		--xloader, -x                 Location of X-Loader image 		
		--secondary, -s               Location of NOLO secondary bootloader image 		
		--2nd, -2                     Location of NOLO cold flasher ("2nd") image 		
		--unpack, -u [arg]            Unpack a FIASCO image 		
		--flash, -f                   Load and flash all supplied images 		
		--load, -l                    Only load all supplied images 		
		--boot, -b [arg]              Boot the kernel with optional cmdline 		
		--reboot, -R                  Reboot the board (e.g. after flashing NOLO) 		
		--read-board-id, -i           Print out the board type 		
		--serial-port, -S             Serial port used for cold flashing 		
		--initialize-port, -I         Only initialize the serial port 		
		--cold-flash, -c              "Cold flash" the device 		
		--enable-rd-mode              Enable R&D mode on the device 		
		--disable-rd-mode             Disable R&D mode on the device 		
		--set-rd-flags [arg]          Set R&D mode flags on the device 		
		--clear-rd-flags [arg]        Clear R&D mode flags on the device 		
		--query-rd-mode               Query the device R&D mode status and flags 		
		--set-root-device             Set the default root device 		
		--query-root-device           Query the default root device 		
		--enable-usb-host-mode        Set the device into USB host mode 		
		--disable-usb-host-mode       Set the device into USB peripheral mode 		
		--flash-only                  Flash only certain components       
	  

This list contains all the information and the necessary parameters enabled for the flasher tool.

Flashing the reference root file system into the target device

xBefore you can flash the reference root file system into the target device, you need to download the reference root file system.

Save the file system into the same directory as the flasher tool. To flash the reference root file system into the Nokia 770, perform the following steps:

  • Confirm that you are the root user on your PC.
  • Turn of the Nokia 770.
  • Connect the Nokia 770 to your PC using a USB connection. Note that the flasher tool does not work through a USB hub.
  • Enter the following command to start the flashing process:
    ./flasher-2.0 -r Maemo_Dev_Platform_rootfs.jffs2 -f -R
  • Turn on the Nokia 770. Note that the name of the root file system may vary.

After the device is flashed, it reboots automatically.



Improve this page