This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Creating JFFS2 Nand File System

Hi All,

I was trying to create JFFS2 nand file system. Here is my steps

1. mkfs.jffs2 -lqn –e 128 -r target -o /tftpboot/rd-jffs2.bin on linux server
2. mw.b 0x81000000 0xFF 0x0C820000
3. tftp 0x81000000 <filesystem_image>
4. nand erase clean 0x006C0000 0x0C820000      

5. nand write 0x81000000 0x006C0000 <image_size> (I will get image_size from the tftp 0x81000000 <filesystem_image>) I will aling the size for 2Kb size also

6. Then I changed the bootargs to setenv bootargs 'console=ttyO2,115200n8 root=/dev/mtdblock3 rw rootfstype=jffs2 mem=100M earlyprintk ip=dhcp'

 

When booting happen I was getting the following errors

mtd->read(0x100 bytes from 0x0) returned ECC error

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000000: 0x0185 instead

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000004: 0x26e6 instead

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000000c: 0x496d instead

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000010: 0x8bc2 instead

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000014: 0x6e62 instead

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000018: 0x0044 instead

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000001c: 0x0002 instead

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000020: 0x00ed instead

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000028: 0x496d instead

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000038: 0x0185 instead

Further such events for this erase block will not be printed

mtd->read(0x1ff08 bytes from 0xf8) returned ECC error

mtd->read(0x1fbf4 bytes from 0x40c) returned ECC error

mtd->read(0x1f3fc bytes from 0xc04) returned ECC error

mtd->read(0x1ebfc bytes from 0x1404) returned ECC error

mtd->read(0x1e3fc bytes from 0x1c04) returned ECC error

mtd->read(0x1dbfc bytes from 0x2404) returned ECC error

mtd->read(0x1d3fc bytes from 0x2c04) returned ECC error

mtd->read(0x1cbfc bytes from 0x3404) returned ECC error

mtd->read(0x1c3fc bytes from 0x3c04) returned ECC error

mtd->read(0x1bbfc bytes from 0x4404) returned ECC error

mtd->read(0x1b3fc bytes from 0x4c04) returned ECC error

mtd->read(0x1abfc bytes from 0x5404) returned ECC error

mtd->read(0x1a3fc bytes from 0x5c04) returned ECC error

 

mtd->read(0x19bfc bytes from 0x6404) returned ECC error

mtd->read(0x193fc bytes from 0x6c04) returned ECC error

mtd->read(0x18bfc bytes from 0x7404) returned ECC error

 

Can somebody tell me what is wrong?

Regards,

Komal

  • Hi,

    I usually add the p option when doing mkfs.jffs, as in:

    mkfs.jffs2 -lqnp –e 128 -r target -o /tftpboot/rd-jffs2.bin on linux server

    so that the image gets padded. That way, after transferring the image through tftp, when doing nand write, i can use the $filesize variable without having to manually align the size.

    Also, are you completely sure that the erase blocksize of your nand memory is 128KB?

    I hope this helps.