mkfs.jffs2 buggy?

George G. Davis gdavis at mvista.com
Fri Jan 31 10:49:51 EST 2003


Holger Schurig wrote:
> 
> When I compile mkfs.jffs2 from CVS HEAD, I get the following errors:
> 
> mkfs.jffs2.c: In function `write_regular_file':
> mkfs.jffs2.c:823: incompatible types in assignment
> mkfs.jffs2.c: In function `write_symlink':
> mkfs.jffs2.c:925: incompatible types in assignment
> mkfs.jffs2.c: In function `write_pipe':
> mkfs.jffs2.c:967: incompatible types in assignment
> mkfs.jffs2.c: In function `write_special_file':
> mkfs.jffs2.c:1007: incompatible types in assignment
> 
> Anyway, I somehow got it working, I think with a some older version.
> 
> $ mkfs.jffs2 -d rootfs -p 262144 -e 262144 -o /tftpboot/bdi/root.jffs2
> 
> and flash the result with
> 
> $ burner.py /tftpboot/bdi/root.jffs 0x140000
> ...
> 00440000: burning 262144 bytes to flash
> 00480000: reading 262144 bytes from flash (68.4 %)
> 00480000: erase flash
> 00480000: burning 262144 bytes to flash
> 004c0000: reading 262144 bytes from flash (73.7 %)
> 004c0000: erase flash
> 004c0000: burning 262144 bytes to flash
> 00500000: reading 262144 bytes from flash (78.9 %)
> 00500000: erase flash
> 00500000: burning 262144 bytes to flash
> ...
> 
> I get a strange error. Immediately after the flashing, I pressed reset and
> booted into Linux. Then I see:
> 
> Probing flash at physical address 0x00000000 (32-bit buswidth)
> Using buffer write method
> Using static partition definition
> Creating 3 MTD partitions on "Flash":
> 0x00000000-0x00040000 : "Bootloader"
> 0x00040000-0x00140000 : "Kernel"
> 0x00140000-0x02000000 : "Filesystem"
> ...
> NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
> NetWinder Floating Point Emulator V0.95 (c) 1998-1999 Rebel.com
> ffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x004c0000: 0x6574

'At'

> instead
> jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x004c0004: 0x665f

'b_'

> instead
> jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x004c0008: 0x6873

'hs'

> instead
> jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x004c000c: 0x3030

'00'

> instead
> jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x004c0010: 0x3030

'00'


Hmm, is that interesting or merely a coincidence?

--
Regards,
George


> instead
> JFFS2: Erase block at 0x004c0000 is not formatted. It will be erased
> 
> Shouldn't a sector that has been freshly created by mkfs.jffs2 have the right
> ID?
> 
> So, I re-flashed it again and looked at this address. At physically 0x4c0000 I
> see
> 
> $ telnet bdi
> bdi>mdb 0x004c0000
> 004c0000 : 85 19 03 20 0c 00 00 00  ... ....
> 004c0008 : b1 b0 1e e4 85 19 02 e0  ........
> 004c0010 : 03 09 00 00 16 a0 e5 91  ........
> 004c0018 : cb 02 00 00 38 00 00 00  ....8...
> 004c0020 : ed 81 00 00 00 00 00 00  ........
> 004c0028 : 24 1d 06 00 08 40 c3 3b  $.... at .;
> 004c0030 : 08 40 c3 3b 08 40 c3 3b  . at .;. at .;
> 004c0038 : 00 70 03 00 bf 08 00 00  .p......
> 
> ... and that looks like a valid ID.
> 
> And also in root.fs at file offset 0x380000 = 3670016 I can see this.
> 
> Am I doing something wrong?  Maybe confusing physical and virtual addressed?
> 
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/




More information about the linux-mtd mailing list