Userspace root image

From Openmoko

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

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.

This 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.

This 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