Userspace root image

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m (demo JFFS2 root image)
Line 17: Line 17:
 
=== demo JFFS2 root image ===
 
=== demo JFFS2 root image ===
  
At the moment there is a very basic root fs image available from http://people.gta01.hmw-consulting.de/laforge/
+
At the moment there is a very basic root fs image available from http://people.gta01.hmw-consulting.de/laforge/tmp/rootfs/rootfs.jffs2
  
 
Please note that this image will take ages to boot the first time, since this boot finishes the installation process.
 
Please note that this image will take ages to boot the first time, since this boot finishes the installation process.

Revision as of 21:03, 11 August 2006

Contents

Creating a root filesystem from scratch

To create a root file system image for storage in NAND flash, we use the mkfs.jffs2 program contained int the Debian package mtd-tools.

mkfs.jffs2 --pad=0x700000 -o rootfs.jffs2 -e 0x4000 -n -d/tmp/jffsroot/

is a typical command. It creates a FS image for our erase block size of 16k, padded to 0x700000 bytes in length from the files contained in the /tmp/jffsroot directory and stores the FS image in rootfs.jffs2.

Using pre-created root fs image

OpenEmbedded

OpenEmbedded will itself create a jffs2 image at the end of the build process.

Once the build server is running, it will create root filesystem images for us.

demo JFFS2 root image

At the moment there is a very basic root fs image available from http://people.gta01.hmw-consulting.de/laforge/tmp/rootfs/rootfs.jffs2

Please note that this image will take ages to boot the first time, since this boot finishes the installation process.

Flashing a root filesystem into NAND

The image can then be installed on the target device via the u-boot bootloader, e.g.

QT2410 # tftpboot 0x32000000 rootfs.jffs2
QT2410 # nand erase 0x634000 0x39cc000
QT2410 # nand write 0x32000000 0x634000 0x700000

And then booted (in this example with a kernel downloaded via tftp/ethernet) by

QT2410 # setenv  bootargs root=/dev/mtdblock4 rootfstype=jffs2 console=ttySAC0,115200 loglevel=8
QT2410 # tftpboot 0x32000000 kernel.img
QT2410 # bootm 0x32000000
Personal tools

Creating a root filesystem from scratch

To create a root file system image for storage in NAND flash, we use the mkfs.jffs2 program contained int the Debian package mtd-tools.

mkfs.jffs2 --pad=0x700000 -o rootfs.jffs2 -e 0x4000 -n -d/tmp/jffsroot/

is a typical command. It creates a FS image for our erase block size of 16k, padded to 0x700000 bytes in length from the files contained in the /tmp/jffsroot directory and stores the FS image in rootfs.jffs2.

Using pre-created root fs image

OpenEmbedded

OpenEmbedded will itself create a jffs2 image at the end of the build process.

Once the build server is running, it will create root filesystem images for us.

demo JFFS2 root image

At the moment there is a very basic root fs image available from http://people.gta01.hmw-consulting.de/laforge/

Please note that this image will take ages to boot the first time, since this boot finishes the installation process.

Flashing a root filesystem into NAND

The image can then be installed on the target device via the u-boot bootloader, e.g.

QT2410 # tftpboot 0x32000000 rootfs.jffs2
QT2410 # nand erase 0x634000 0x39cc000
QT2410 # nand write 0x32000000 0x634000 0x700000

And then booted (in this example with a kernel downloaded via tftp/ethernet) by

QT2410 # setenv  bootargs root=/dev/mtdblock4 rootfstype=jffs2 console=ttySAC0,115200 loglevel=8
QT2410 # tftpboot 0x32000000 kernel.img
QT2410 # bootm 0x32000000