Userspace root image

From Openmoko

Revision as of 21:00, 11 August 2006 by HaraldWelte (Talk | contribs)

Jump to: navigation, search

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/

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