[U-Boot-Users] Problems with root JFFS2 on NAND Flash

Grant Erickson
2008-06-13T15:54:17Z

On 6/13/08 7:45 AM, Stuart Wood wrote:
> I'm having some new problems with my jffs2 root file system when it is
> mounted the first time from small page nand flash.
> I'm pretty sure its some sort of configuration problem but the web
> hasn't helped so far.
>
> [ ... ]
>
> The jffs2 image is being built with this command from Buildroot:
>
> # Use fakeroot so mkfs.jffs2 believes the previous fakery
> echo
> "/home/stuart/ArmLinux/buildroot/toolchain_build_arm_nofpu/mtd_orig/util/mkfs.
> jffs2
> -e 0x4000 -p -l -s 0x200 -n -D target/generic/device_table.txt -d
> /home/stuart/ArmLinux/buildroot/build_arm_nofpu/root -o
> /home/stuart/ArmLinux/buildroot/rootfs.arm_nofpu.jffs2" \
>>> /opt/buildroot/_fakeroot.rootfs.arm_nofpu.jffs2
> chmod a+x /opt/buildroot/_fakeroot.rootfs.arm_nofpu.jffs2
> /opt/buildroot/usr/bin/fakeroot --
> /opt/buildroot/_fakeroot.rootfs.arm_nofpu.jffs2
> rootdir=/home/stuart/ArmLinux/buildroot/build_arm_nofpu/root
> table='target/generic/device_table.txt'
> mkfs.jffs2: skipping device_table entry '/dev': no parent directory!
> mkfs.jffs2: skipping device_table entry '/tmp': no parent directory!
> mkfs.jffs2: skipping device_table entry '/etc': no parent directory!

Regarding the above three errors, you may be interested in the following
patch and referenced thread:

http://lists.infradead.org/pipermail/linux-mtd/2008-June/022008.html

> u-boot> nand erase clean 500000 1b00000

I cannot speak to your specific board; however, I found that 'clean' was not
necessary and used the following sequence to write a JFFS2 image to Samsung
small-page NAND on my PPC405EXr-based board:

=> tftp 800000 root.img
=> nand erase 800000 1400000
=> nand write.i ${fileaddr} 800000 ${filesize}

Adjust sizes and offsets accordingly for your board.

Regards,

Grant Erickson