Subject: JFFS Filesystem Problem

From: Vijesh VH <[email-masked]>
Date: Thu, 12 May 2005 16:26:06 +0530

Hi,
I am trying to mount a JFFS Filesystem from Flash as a root Device. I faced 
the following Problem . Required help on this regard

*****************

NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
cramfs: wrong magic
attempt to access beyond end of device
1f:00: rw=0, want=65, limit=64
isofs_read_super: bread failed, dev=1f:00, iso_blknum=32, block=64
JFFS: Trying to mount device 1f:00.
jffs_build_fs()
jffs_create_control()
jffs_build_begin()
fmc->flash_size = 65536 bytes
jffs_scan_flash(): start pos = 0x0, end = 0x10000
check_partly_erased_sector():checking sector which contains offset 0x0 for 
flipping bits..
flash_safe_read(c03e6260, 00000000, c03a6000, 00001000)
flash_safe_read(c03e6260, 00000000, c0367000, 00001000)
flash_safe_read(c03e6260, 00000000, c0367000, 00001000)
flash_safe_read(c03e6260, 00000000, c0367000, 00001000)
flash_safe_read(c03e6260, 00000000, c0367000, 00001000)
check_partly_erased_sector():checking sector which contains offset 0x1000 
for flipping bits..
flash_safe_read(c03e6260, 00001000, c03a6000, 00001000)
flash_safe_read(c03e6260, 00001000, c0367000, 00001000)
flash_safe_read(c03e6260, 00001000, c0367000, 00001000)
flash_safe_read(c03e6260, 00001000, c0367000, 00001000)
flash_safe_read(c03e6260, 00001000, c0367000, 00001000)
check_partly_erased_sector():checking sector which contains offset 0x2000 
for flipping bits..
flash_safe_read(c03e6260, 00002000, c03a6000, 00001000)
flash_safe_read(c03e6260, 00002000, c0367000, 00001000)
flash_safe_read(c03e6260, 00002000, c0367000, 00001000)
flash_safe_read(c03e6260, 00002000, c0367000, 00001000)
flash_safe_read(c03e6260, 00002000, c0367000, 00001000)
check_partly_erased_sector():checking sector which contains offset 0x3000 
for flipping bits..
flash_safe_read(c03e6260, 00003000, c03a6000, 00001000)
flash_safe_read(c03e6260, 00003000, c0367000, 00001000)
flash_safe_read(c03e6260, 00003000, c0367000, 00001000)
flash_safe_read(c03e6260, 00003000, c0367000, 00001000)
flash_safe_read(c03e6260, 00003000, c0367000, 00001000)
check_partly_erased_sector():checking sector which contains offset 0x4000 
for flipping bits..
flash_safe_read(c03e6260, 00004000, c03a6000, 00001000)
flash_safe_read(c03e6260, 00004000, c0367000, 00001000)
flash_safe_read(c03e6260, 00004000, c0367000, 00001000)
flash_safe_read(c03e6260, 00004000, c0367000, 00001000)
flash_safe_read(c03e6260, 00004000, c0367000, 00001000)
check_partly_erased_sector():checking sector which contains offset 0x5000 
for flipping bits..
flash_safe_read(c03e6260, 00005000, c03a6000, 00001000)
flash_safe_read(c03e6260, 00005000, c0367000, 00001000)
flash_safe_read(c03e6260, 00005000, c0367000, 00001000)
flash_safe_read(c03e6260, 00005000, c0367000, 00001000)
flash_safe_read(c03e6260, 00005000, c0367000, 00001000)
check_partly_erased_sector():checking sector which contains offset 0x6000 
for flipping bits..
flash_safe_read(c03e6260, 00006000, c03a6000, 00001000)
flash_safe_read(c03e6260, 00006000, c0367000, 00001000)
flash_safe_read(c03e6260, 00006000, c0367000, 00001000)
flash_safe_read(c03e6260, 00006000, c0367000, 00001000)
flash_safe_read(c03e6260, 00006000, c0367000, 00001000)
check_partly_erased_sector():checking sector which contains offset 0x7000 
for flipping bits..
flash_safe_read(c03e6260, 00007000, c03a6000, 00001000)
flash_safe_read(c03e6260, 00007000, c0367000, 00001000)
flash_safe_read(c03e6260, 00007000, c0367000, 00001000)
flash_safe_read(c03e6260, 00007000, c0367000, 00001000)
flash_safe_read(c03e6260, 00007000, c0367000, 00001000)
check_partly_erased_sector():checking sector which contains offset 0x8000 
for flipping bits..
flash_safe_read(c03e6260, 00008000, c03a6000, 00001000)
flash_safe_read(c03e6260, 00008000, c0367000, 00001000)
flash_safe_read(c03e6260, 00008000, c0367000, 00001000)
flash_safe_read(c03e6260, 00008000, c0367000, 00001000)
flash_safe_read(c03e6260, 00008000, c0367000, 00001000)
check_partly_erased_sector():checking sector which contains offset 0x9000 
for flipping bits..
flash_safe_read(c03e6260, 00009000, c03a6000, 00001000)
flash_safe_read(c03e6260, 00009000, c0367000, 00001000)
flash_safe_read(c03e6260, 00009000, c0367000, 00001000)
flash_safe_read(c03e6260, 00009000, c0367000, 00001000)
flash_safe_read(c03e6260, 00009000, c0367000, 00001000)
check_partly_erased_sector():checking sector which contains offset 0xa000 
for flipping bits..
flash_safe_read(c03e6260, 0000a000, c03a6000, 00001000)
flash_safe_read(c03e6260, 0000a000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000a000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000a000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000a000, c0367000, 00001000)
check_partly_erased_sector():checking sector which contains offset 0xb000 
for flipping bits..
flash_safe_read(c03e6260, 0000b000, c03a6000, 00001000)
flash_safe_read(c03e6260, 0000b000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000b000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000b000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000b000, c0367000, 00001000)
check_partly_erased_sector():checking sector which contains offset 0xc000 
for flipping bits..
flash_safe_read(c03e6260, 0000c000, c03a6000, 00001000)
flash_safe_read(c03e6260, 0000c000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000c000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000c000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000c000, c0367000, 00001000)
check_partly_erased_sector():checking sector which contains offset 0xd000 
for flipping bits..
flash_safe_read(c03e6260, 0000d000, c03a6000, 00001000)
flash_safe_read(c03e6260, 0000d000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000d000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000d000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000d000, c0367000, 00001000)
check_partly_erased_sector():checking sector which contains offset 0xe000 
for flipping bits..
flash_safe_read(c03e6260, 0000e000, c03a6000, 00001000)
flash_safe_read(c03e6260, 0000e000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000e000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000e000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000e000, c0367000, 00001000)
check_partly_erased_sector():checking sector which contains offset 0xf000 
for flipping bits..
flash_safe_read(c03e6260, 0000f000, c03a6000, 00001000)
flash_safe_read(c03e6260, 0000f000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000f000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000f000, c0367000, 00001000)
flash_safe_read(c03e6260, 0000f000, c0367000, 00001000)
check_partly_erased_sector():Done checking all sectors till offset 0x10000 
for flipping bits.
*************** Dirty flash memory or bad inode: hexdump(pos = 0x0, len = 
128):
0: 2a56 5044 0000 2a4e 4100 0612 3456 7890 *VPD..*NA...4Vx.
16: 442a 454e 4400 0000 0000 0000 0000 0000 D*END...........
32: 0000 0000 ffff ffff ffff ffff ffff ffff ....������������
48: ffff ffff ffff ffff ffff ffff ffff ffff ����������������
64: ffff ffff ffff ffff ffff ffff ffff ffff ����������������
80: ffff ffff ffff ffff ffff ffff ffff ffff ����������������
96: ffff ffff ffff ffff ffff ffff ffff ffff ����������������
112: ffff ffff ffff ffff ffff ffff ffff ffff ����������������
jffs_fmalloced()
struct jffs_fmcontrol: 0xc036e2e0
{
65536, /* flash_size */
0, /* used_size */
36, /* dirty_size */
65500, /* free_size */
8192, /* sector_size */
32768, /* min_free_size */
4096, /* max_chunk_size */
0xc03e6260, /* mtd */
0xc03661e0, /* head */ (head->offset = 0x00000000)
0xc03661e0, /* tail */ (tail->offset + tail->size = 0x00000024)
0x00000000, /* head_extra */
0x00000000, /* tail_extra */
}
struct jffs_fm: 0xc03661e0
{
0x00000000, /* offset */
36, /* size */
0x00000000, /* prev */
0x00000000, /* next */
0x00000000, /* nodes */
}
jffs_scan_flash(): 0xffffffff at pos 0x24.
flash_safe_read(c03e6260, 00000024, c0367000, 00001000)
jffs_scan_flash():0xffffffff ended at pos 0x1000.
Dirty space: Starting 0x24 for 0xfdc bytes
jffs_fmalloced()
struct jffs_fmcontrol: 0xc036e2e0
{
65536, /* flash_size */
0, /* used_size */
4096, /* dirty_size */
61440, /* free_size */
8192, /* sector_size */
32768, /* min_free_size */
4096, /* max_chunk_size */
0xc03e6260, /* mtd */
0xc03661e0, /* head */ (head->offset = 0x00000000)
0xc0366200, /* tail */ (tail->offset + tail->size = 0x00001000)
0x00000000, /* head_extra */
0x00000000, /* tail_extra */
}
struct jffs_fm: 0xc0366200
{
0x00000024, /* offset */
4060, /* size */
0xc03661e0, /* prev */
0x00000000, /* next */
0x00000000, /* nodes */
}
*************** Dirty flash memory or bad inode: hexdump(pos = 0x1000, len = 
128):
4096: 4f53 2d4f 5045 4e00 0000 009c 0000 0006 OS-OPEN.........
4112: 0000 0000 0000 0000 0000 0000 0000 0000 ................
4128: 0000 0002 0400 0000 0400 0000 ffff ffff ............����
4144: 0000 0000 0000 0000 0101 ff01 0000 0000 ..........�.....
4160: 0000 0000 0000 0000 0101 0001 0000 0000 ................
4176: c0a8 3021 c0a8 308f 0100 0101 0000 0000 ..0!..0.........
4192: 0000 0000 0000 0000 0101 0201 0000 0001 ................
4208: 0000 0000 0000 0000 0001 ff01 0000 0000 ..........�.....
jffs_fmalloced()
struct jffs_fmcontrol: 0xc036e2e0
{
65536, /* flash_size */
0, /* used_size */
4140, /* dirty_size */
61396, /* free_size */
8192, /* sector_size */
32768, /* min_free_size */
4096, /* max_chunk_size */
0xc03e6260, /* mtd */
0xc03661e0, /* head */ (head->offset = 0x00000000)
0xc0366220, /* tail */ (tail->offset + tail->size = 0x0000102c)
0x00000000, /* head_extra */
0x00000000, /* tail_extra */
}
struct jffs_fm: 0xc0366220
{
0x00001000, /* offset */
44, /* size */
0xc0366200, /* prev */
0x00000000, /* next */
0x00000000, /* nodes */
}
jffs_scan_flash(): 0xffffffff at pos 0x102c.
flash_safe_read(c03e6260, 0000102c, c0367000, 00001000)
jffs_scan_flash():0xffffffff ended at pos 0x1030.
Dirty space: Starting 0x102c for 0x4 bytes
jffs_fmalloced()
struct jffs_fmcontrol: 0xc036e2e0
{
65536, /* flash_size */
0, /* used_size */
4144, /* dirty_size */
61392, /* free_size */
8192, /* sector_size */
32768, /* min_free_size */
4096, /* max_chunk_size */
0xc03e6260, /* mtd */
0xc03661e0, /* head */ (head->offset = 0x00000000)
0xc0366240, /* tail */ (tail->offset + tail->size = 0x00001030)
0x00000000, /* head_extra */
0x00000000, /* tail_extra */
}
struct jffs_fm: 0xc0366240
{
0x0000102c, /* offset */
4, /* size */
0xc0366220, /* prev */
0x00000000, /* next */
0x00000000, /* nodes */
}
jffs_scan_flash(): 0x00000000 at pos 0x1030.
jffs_scan_flash(): 0x00 ended at pos 0x1038.
jffs_fmalloced()
struct jffs_fmcontrol: 0xc036e2e0
{
65536, /* flash_size */
0, /* used_size */
4152, /* dirty_size */
61384, /* free_size */
8192, /* sector_size */
32768, /* min_free_size */
4096, /* max_chunk_size */
0xc03e6260, /* mtd */
0xc03661e0, /* head */ (head->offset = 0x00000000)
0xc0366260, /* tail */ (tail->offset + tail->size = 0x00001038)
0x00000000, /* head_extra */
0x00000000, /* tail_extra */
}
struct jffs_fm: 0xc0366260
{
0x00001030, /* offset */
8, /* size */
0xc0366240, /* prev */
0x00000000, /* next */
0x00000000, /* nodes */
}
*************** Dirty flash memory or bad inode: hexdump(pos = 0x1038, len = 
128):
4152: 0101 ff01 0000 0000 0000 0000 0000 0000 ..�.............
4168: 0101 0001 0000 0000 c0a8 3021 c0a8 308f ..........0!..0.
4184: 0100 0101 0000 0000 0000 0000 0000 0000 ................
4200: 0101 0201 0000 0001 0000 0000 0000 0000 ................
4216: 0001 ff01 0000 0000 0000 0000 0000 0000 ..�.............
4232: 0001 ff01 0000 0000 0000 0000 001e 001e ..�.............
4248: 0280 01b8 ffff ffff ffff ffff ffff ffff ....������������
4264: ffff ffff ffff ffff ffff ffff ffff ffff ����������������
jffs_fmalloced()
struct jffs_fmcontrol: 0xc036e2e0
{
65536, /* flash_size */
0, /* used_size */
4252, /* dirty_size */
61284, /* free_size */
8192, /* sector_size */
32768, /* min_free_size */
4096, /* max_chunk_size */
0xc03e6260, /* mtd */
0xc03661e0, /* head */ (head->offset = 0x00000000)
0xc0366280, /* tail */ (tail->offset + tail->size = 0x0000109c)
0x00000000, /* head_extra */
0x00000000, /* tail_extra */
}
struct jffs_fm: 0xc0366280
{
0x00001038, /* offset */
100, /* size */
0xc0366260, /* prev */
0x00000000, /* next */
0x00000000, /* nodes */
}
jffs_scan_flash(): 0xffffffff at pos 0x109c.
flash_safe_read(c03e6260, 0000109c, c0367000, 00001000)
flash_safe_read(c03e6260, 0000209c, c0367000, 00001000)
flash_safe_read(c03e6260, 0000309c, c0367000, 00001000)
flash_safe_read(c03e6260, 0000409c, c0367000, 00001000)
flash_safe_read(c03e6260, 0000509c, c0367000, 00001000)
flash_safe_read(c03e6260, 0000609c, c0367000, 00001000)
flash_safe_read(c03e6260, 0000709c, c0367000, 00001000)
flash_safe_read(c03e6260, 0000809c, c0367000, 00001000)
flash_safe_read(c03e6260, 0000909c, c0367000, 00001000)
flash_safe_read(c03e6260, 0000a09c, c0367000, 00001000)
flash_safe_read(c03e6260, 0000b09c, c0367000, 00001000)
flash_safe_read(c03e6260, 0000c09c, c0367000, 00001000)
flash_safe_read(c03e6260, 0000d09c, c0367000, 00001000)
flash_safe_read(c03e6260, 0000e09c, c0367000, 00001000)
flash_safe_read(c03e6260, 0000f09c, c0367000, 00000f64)
jffs_scan_flash():0xffffffff ended at pos 0x10000.
Free space accepted: Starting 0x109c for 0xef64 bytes
jffs_build_end()
struct jffs_fmcontrol: 0xc036e2e0
{
65536, /* flash_size */
0, /* used_size */
4252, /* dirty_size */
61284, /* free_size */
8192, /* sector_size */
32768, /* min_free_size */
4096, /* max_chunk_size */
0xc03e6260, /* mtd */
0xc03661e0, /* head */ (head->offset = 0x00000000)
0xc0366280, /* tail */ (tail->offset + tail->size = 0x0000109c)
0x00000000, /* head_extra */
0x00000000, /* tail_extra */
}
jffs_scan_flash(): Leaving...
jffs_find_file(): ino: 1
jffs_find_file(): Didn't find file with ino 1.
jffs_add_virtual_root(): Creating a virtual root directory.
jffs_insert_file_into_hash(): f->ino: 1
jffs_possibly_delete_file(): ino: 1
jffs_remove_redundant_nodes(): ino: 1, name: "", newest_type: 1
jffs_insert_file_into_tree(): name: ""
jffs_find_file(): ino: 0
jffs_find_file(): Didn't find file with ino 0.
jffs_build_file(): ino: 1, name: ""
jffs_update_file(): ino: 1, version: 0
JFFS: Dumping the file system's hash table...
*** c->hash[1]: "" (ino: 1, pino: 0)
/ (ino: 1, highest_version: 0, size: 0)
jffs_read_inode(): inode->i_ino == 1
read_inode(): down biglock
jffs_find_file(): ino: 1
jffs_find_file(): Found file with ino 1. (name: "")
read_inode(): up biglock
JFFS: GC thread pid=8.
JFFS: Successfully mounted device 1f:00.
VFS: Mounted root (jffs filesystem) readonly.
Freeing unused kernel memory: 80k init
jffs_lookup(): dir: 0xc0384ba0, name: "dev"
lookup(): down biglock
jffs_find_child()
jffs_find_child(): Didn't find the file "dev".
jffs_lookup(): Couldn't find the file. f = 0x00000000, name = "dev", d = 
0xc036e360, d->ino = 1
lookup(): up biglock
Warning: unable to open an initial console.
jffs_lookup(): dir: 0xc0384ba0, name: "sbin"
lookup(): down biglock
jffs_find_child()
jffs_find_child(): Didn't find the file "sbin".
jffs_lookup(): Couldn't find the file. f = 0x00000000, name = "sbin", d = 
0xc036e360, d->ino = 1
lookup(): up biglock
jffs_lookup(): dir: 0xc0384ba0, name: "etc"
lookup(): down biglock
jffs_find_child()
jffs_find_child(): Didn't find the file "etc".
jffs_lookup(): Couldn't find the file. f = 0x00000000, name = "etc", d = 
0xc036e360, d->ino = 1
lookup(): up biglock
jffs_lookup(): dir: 0xc0384ba0, name: "bin"
lookup(): down biglock
jffs_find_child()
jffs_find_child(): Didn't find the file "bin".
jffs_lookup(): Couldn't find the file. f = 0x00000000, name = "bin", d = 
0xc036e360, d->ino = 1
lookup(): up biglock
Kernel panic: No init found. Try passing init= option to kernel.

-- 
Thanks and Regards,
Vijesh V H