public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: "Iva Salom" <diva@kondor.imp.bg.ac.yu>
To: <linux-mtd@lists.infradead.org>
Subject: Problem with mounting JFFS2
Date: Thu, 3 Aug 2006 12:51:37 +0200	[thread overview]
Message-ID: <001601c6b6ea$cb60f790$c6345b93@VLADIMIR> (raw)

[-- Attachment #1: Type: text/plain, Size: 6102 bytes --]

Hi!

I am a beginner in all these embedded linux - mtd - jffs stuff. I am using Intel FLASH 28F320 (2 interleaved 16b chips of 8MB, so we have 32bit buswidth) (CFI) with TMS320C5471 platform. I turnd on MTD support, so I have 5 partitions: bootloader (/dev/mtd0), bootloader parameters (/dev/mtd1), kernel image (/dev/mtd2), ROMFS SDRAM image (/dev/mtd5), primary file system, which is romfs (/dev/mtd3) and I want the second to be jffs2 (/dev/mtd4):

c5471_init: CFI FLASH device size: 16384K

Creating 5 MTD partitions on "C5471 CFI":

0x00000000-0x000a0000 : "C5471 Bootloader"

0x000a0000-0x000c0000 : "C5471 Bootloader Parameters"

0x000c0000-0x001c0000 : "C5471 Kernel Image"

0x001c0000-0x00800000 : "C5471 Primary File System"

0x00800000-0x01000000 : "C5471 Secondary File System"

Creating 1 MTD partitions on "SDRAM":

0x00000000-0x006bffe0 : "SDRAM File System"


I have made jffs2 image:

arm-uclinux-mkjffs2 -d ./jffsfolder -l -e 0x00020000 -o jffs2.img >/dev/null

and I loaded it at addresses from 0x00800000, which correspond to fs2, i.e. /dev/mtd4.

When I try to mount jffs2:

# mount -t jffs2 /dev/mtd4 /mnt/ramdisk/tmp



it sends me messages:

jffs2: read_super for device 1f:04

jffs2_scan_eraseblock(): Scanning block at 0x0

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

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

Empty bitmask at 0x00000008

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

jffs2_scan_dirent_node(): Node at 0x00000010

jffs2_get_ino_cache(): ino 1

jffs2_get_ino_cache found 00000000 for ino 1

Allocated inocache at 106dd2c0

jffs2_add_ino_cache: Add 106dd2c0 (ino #1)

jffs2_add_fd_to_list( 1023f6a0, 10219e60 (->00000000))

Dirent "config.last" (hash 0xca144fa2, ino #2

jffs2_scan_inode_node(): Node at 0x00000044

jffs2_get_ino_cache(): ino 2

jffs2_get_ino_cache found 00000000 for ino 2

Allocated inocache at 106dd2d4

jffs2_add_ino_cache: Add 106dd2d4 (ino #2)

Node is ino #2, version 1. Range 0x0-0x1000

jffs2_scan_inode_node(): Node at 0x00001088

jffs2_get_ino_cache(): ino 2

jffs2_get_ino_cache found 106dd2d4 for ino 2

Node is ino #2, version 2. Range 0x1000-0x2000

jffs2_scan_inode_node(): Node at 0x000020cc

jffs2_get_ino_cache(): ino 2

jffs2_get_ino_cache found 106dd2d4 for ino 2

Node is ino #2, version 3. Range 0x2000-0x27c4

jffs2_scan_dirent_node(): Node at 0x000028d4

jffs2_get_ino_cache(): ino 1

jffs2_get_ino_cache found 106dd2c0 for ino 1

jffs2_add_fd_to_list( 1023f6e0, 10219e60 (->1023f6a0))

Dirent "config.last~" (hash 0xaedfc2e3, ino #3

Dirent "config.last" (hash 0xca144fa2, ino #2

jffs2_scan_inode_node(): Node at 0x00002908

jffs2_get_ino_cache(): ino 3

jffs2_get_ino_cache found 00000000 for ino 3

Allocated inocache at 106dd2e8

jffs2_add_ino_cache: Add 106dd2e8 (ino #3)

Node is ino #3, version 1. Range 0x0-0x1000

jffs2_scan_inode_node(): Node at 0x0000394c

jffs2_get_ino_cache(): ino 3

jffs2_get_ino_cache found 106dd2e8 for ino 3

Node is ino #3, version 2. Range 0x1000-0x2000

jffs2_scan_inode_node(): Node at 0x00004990

jffs2_get_ino_cache(): ino 3

jffs2_get_ino_cache found 106dd2e8 for ino 3

Node is ino #3, version 3. Range 0x2000-0x27c4

Found empty flash at 0x5198

Empty flash detected from 0x00005198 to 0x00020000

Block at 0x00000000: free 0x0001ae68, dirty 0x00000010, used 0x00005188

jffs2_scan_eraseblock(): Scanning block at 0x20000

Empty flash detected from 0x00020000 to 0x00040000

Block at 0x00020000 is empty (erased)

jffs2_scan_eraseblock(): Scanning block at 0x40000

Empty flash detected from 0x00040000 to 0x00060000

Block at 0x00040000 is empty (erased)

jffs2_scan_eraseblock(): Scanning block at 0x60000

Empty flash detected from 0x00060000 to 0x00080000

Block at 0x00060000 is empty (erased)



etc., and finally:



Pass 3 complete

jffs2_read_super(): Getting root inode

jffs2_read_inode(): inode->i_ino == 1

getting inocache

jffs2_get_ino_cache(): ino 1

jffs2_get_ino_cache found 106dd2c0 for ino 1

jffs2_read_inode(): Got inocache at 106dd2c0

jffs2_read_inode(): ino #1 nlink is 1

jffs2_get_inode_nodes(): ino #1

Node at 000028d4 is a dirent node

Adding fd "config.last~", ino #3

jffs2_add_fd_to_list( 1023f6a0, 10707d14 (->00000000))

Dirent "config.last~" (hash 0xaedfc2e3, ino #3

Node at 00000010 is a dirent node

Adding fd "config.last", ino #2

jffs2_add_fd_to_list( 1023f6e0, 10707d14 (->1023f6a0))

Dirent "config.last~" (hash 0xaedfc2e3, ino #3

Dirent "config.last" (hash 0xca144fa2, ino #2

jffs2_read_inode() returning

jffs2_read_super(): d_alloc_root()

thread_should_wake(): nr_free_blocks 0, nr_erasing_blocks 63, dirty_size 0x10

thread_should_wake(): return 0

jffs2_garbage_collect_thread(): posle !thread_should_wake

jffs2_garbage_collect_thread sleeping...

JFFS2: Garbage collect thread is pid 37

jffs2_read_super(): pre return sb

thread_should_wake(): nr_free_blocks 0, nr_erasing_blocks 63, dirty_size 0x10

thread_should_wake(): return 0

Starting erase of pending block 0x00620000

Freeing all node refs for eraseblock offset 0x00620000

erase.c: jffs2_free_all_node_refs(): end

jffs2_erase_pending_blocks(): TEST1 

jffs2_erase_pending_blocks(): TEST2 

jffs2_erase_block(): TEST1

jffs2_erase_block(): TEST2

jffs2_erase_block(): TEST3

do_erase_oneblock(): status_OK = CMD(0x80) = 0x800080

do_erase_oneblock(): chip->state1 = 0

do_erase_oneblock(): chip->state2 = 1

do_erase_o



and there it stops every time, with a few characters more or less. The situation was similar when I erased my flash before mounting the jffs2 (except it found completely empty flash). 



Have enyone an idea what I did wrong or what I missed to do? Could a problem be with that thread thing - thread_should_wake()?



Thank you in advance!

Iva





[-- Attachment #2: Type: text/html, Size: 23407 bytes --]

             reply	other threads:[~2006-08-03 11:20 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-03 10:51 Iva Salom [this message]
2006-08-03 11:53 ` Problem with mounting JFFS2 Josh Boyer
2006-08-04  7:52   ` Iva Salom
2006-08-03 14:44 ` Artem B. Bityutskiy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='001601c6b6ea$cb60f790$c6345b93@VLADIMIR' \
    --to=diva@kondor.imp.bg.ac.yu \
    --cc=linux-mtd@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox