Mount jffs2 as rootfs

Chen, NoamX noamx.chen at intel.com
Mon Jun 27 03:01:15 EDT 2016


Hi all,
I've encountered a problem.
I'm trying to mount jffs2 rootfs. When the fs is mounted the following warning is displayed:
Jffs2: Node totlen on flash (0xffffffff) != totlen from node ref (0x00000044)
 
While the node ref varies, the node totlen on flash does not.
This warning did not occur when used ramfs as rootfs, and jffs2 rootfs was mounted manually.
 
This warning occurs when jffs2 fs tries to mark a node as obsolete. 
In any other sense, the fs appears operable, and I'm able to create files and delete files.
Regardless, every so often the warning is displayed and aside from being annoyed by it, I fear it will eventually lead to the corruption of the fs.
 
I use buildroot to build the rootfs image.
Buildroot configuration:
BR2_TARGET_ROOTFS_JFFS2=y
BR2_TARGET_ROOTFS_JFFS2_FLASH_64=y
BR2_TARGET_ROOTFS_JFFS2_EBSIZE=0x10000
BR2_TARGET_ROOTFS_JFFS2_PAD=y
BR2_TARGET_ROOTFS_JFFS2_PADSIZE=0x00B00000
BR2_TARGET_ROOTFS_JFFS2_LE=y
 
Linux configuration:
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y

The rootfs.jffs2 image is loaded to flash at offset 0x00500000, corresponding to /dev/mtdblock3 partition:

> cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00010000 "u-boot"
mtd1: 003f0000 00010000 "kernel"
mtd2: 00010000 00010000 "dtb"
mtd3: 00b00000 00010000 "rootfs"
 
I pass bootargs = "root=/dev/mtdblock3 rw rootfstype=jffs2, earlycon=uart8250,mmio32,0xf4200000,115200n8 console=tty0 console=ttyS0,115200n8 consoleblank=0";

> cat /etc/fstab
# <file system> <mount pt>      <type>  <options>       <dump>  <pass>
/dev/root       /               jffs2   rw,noauto       0       1

I found that when I decreased the partition size to 0x450000 this warning was abolished, however, there was not enough space for /etc/dropbear, and I wasn't able to find a "sweet-spot" where there is enough space and no warning.
I tried various padding sizes, and removing padding altogether, but to no avail.
I tried padding the flash partition itself with 0xff during the construction of the flash binary (the content of the simulation).
I've built some rootfs.jffs2 images with varying configurations, but none solved the issue.
I looked at hexdumps of the rootfs.jffs2 image, an empty jffs2 partition and the created /dev/mtdblock3 inside the simulation-but have found nothing out of the ordinary.

Any help or a lead will be greatly appreciated,
Noam


---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.




More information about the Kernelnewbies mailing list