Flash Filesystem Support

The low cost EVMs have a NAND that can be used to store a flash filesystem.


 * An MTD partition can be used to store a jffs2 flash filesystem.


 * All the utilities are part of the root filesystem.

Follow the steps below to boot a kernel with a jffs2 filesystem

 * Create a jffs2 root filesystem on the linux host by giving the following command

./mkfs.jffs2 -o jffs2-c64x-le.img -d /opt/min-root-c6x-le/ -s 2048 -e 128 KiB for little endian or

./mkfs.jffs2 -b -o jffs2-c64x-be.img -d /opt/min-root-c6x-be/ -s 2048 -e 128 KiB for big endian


 * In the above command jffs2-xe.img is the image that is created, /opt/min-root-c6x-xe/ is the location of the root filesystem, 2048 happens to be the page size and 128KiB is the block size of the NAND on the c64x+ low cost EVMs.


 * In the c66x low cost EVMs the page size of the NAND is 512 bytes and the block size is 16 KiB, so use the commands

./mkfs.jffs2 -o jffs2-c66x-le.img -d /opt/min-root-c6x-le/ -s 512 -e 16 KiB for little endian or

./mkfs.jffs2 -b -o jffs2-c66x-be.img -d /opt/min-root-c6x-be/ -s 512 -e 16 KiB for big endian


 * Please use an appropriate filesystem image for the appropriate endian.


 * Let the EVM boot up with NFS as the root filesystem


 * For little endian issue the following commands on the linux target EVM. Note the partition to which the image is going to be written. Also note the block size of the NAND; it is 128KiB for the NANDs on the c64x+ low cost EVMs and 16KiB for the NANDs on the c66x low cost EVMs.

sumtool -i jffs2-c64x-le.img -o jffs2-c64x-sum-le.img -e 128KiB flash_eraseall /dev/mtd3 nandwrite /dev/mtd3 jffs2-c64x-sum-le.img -p

In the case of the c66x EVMs the sumtool command should be

sumtool -i jffs2-c66x-le.img -o jffs2-c66x-sum-le.img -e 16KiB


 * For big endian issue the following commands on the linux target EVM. Note the partition to which the image is going to be written. Also note the block size of the NAND; it is 128KiB for the NANDs on the c64x+ low cost EVMs and 16KiB for the NANDs on the c66x low cost EVMs.

sumtool -b -i jffs2-c64x-be.img -o jffs2-c64x-sum-be.img -e 128KiB flash_eraseall /dev/mtd3 nandwrite /dev/mtd3 jffs2-c64x-sum-be.img -p

In the case of the c66x EVMs the sumtool command should be

sumtool -i jffs2-c66x-le.img -o jffs2-c66x-sum-le.img -e 16KiB


 * To use the jffs2 filesystem as the root filesystem, the kernel command line should be

console=ttySI0 ip=dhcp root=/dev/mtdblock3 rw rootfstype=jffs2


 * Boot up the EVM with a kernel which has the above command line.


 * The kernel will take a little bit more time to boot up with jffs2 filesystem when compared to NFS root filesystem