[U-Boot-Users] JFFS2 images written from U-Boot unusable in Linux? (Round 2)
Martin Egholm Nielsen
martin at egholm-nielsen.dk
Fri Jan 7 12:00:05 CET 2005
Hi there,
Now I've gotten a bit further in my quest for getting JFFS2 images to
work between U-Boot and Linux.
I upgraded to ELDK 3.1 and configured the CONFIG_JFFS2_NAND_SIZE to the
proper size. So, now I can succesfully put an image on the flash from
U-Boot and "ls" it. (Thanks again for that...)
Further, if I erase the NAND from Linux and create some files/dir's, I
can see them succesfully from U-Boot with "ls".
However, if I put a JFFS2-image on the NAND _from U-Boot_, Linux cannot
mount the device any longer:
# cd /tmp
# mkdir image
# cd image/
# echo "Test1" > testfile
# mkdir testdir
# echo "Test12" > testdir/testfile
# mkfs.jffs2 --pad --big-endian --root=. --output=../test20050107.jffs2
=> nand erase clean
=> tftp 100000 test20050107.jffs2
=> nand write.jffs2 100000 0 $(filesize)
=> ls
Scanning JFFS2 FS: . done.
drwxr-xr-x 0 Tue Nov 30 17:45:59 2004 testdir
-rw-r--r-- 6 Tue Nov 30 17:45:45 2004 testfile
=> ls testdir
-rw-r--r-- 7 Tue Nov 30 17:45:59 2004 testfile
# mkdir /mnt
# mount -t jffs2 /dev/mtdblock0 /mnt
jffs2: Erase block size too small (16KiB). Using virtual blocks size
(32KiB) instead
Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes
empty_blocks 0, bad_blocks 5, c->nr_blocks 2048
mount: Mounting /dev/mtdblock0 on /mnt failed: Invalid argument
I have the following kernel configuration options concerning JFFS2:
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_NAND=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
# CONFIG_JFFS2_LZO is not set
# CONFIG_JFFS2_LZARI is not set
# CONFIG_JFFS2_CMODE_NONE is not set
CONFIG_JFFS2_CMODE_PRIORITY=y
# CONFIG_JFFS2_CMODE_SIZE is not set
# CONFIG_JFFS2_PROC is not set
Are there anything else needed in order to support the way U-Boot writes
an image?
Best regards,
Martin Egholm
More information about the U-Boot
mailing list