problems with mounting JFFS2 using CFI for AM29LV160MT on ppc8245 k2.4.x
Ben Warren
bwarren at qstreams.com
Sat Jul 22 02:20:17 EST 2006
Hi Arun,
On Fri, 2006-07-21 at 20:26 +0530, Arun Kumar wrote:
> Hi ,
> Can anyone help me in this naive problem ?
>
Then a naive answer is most fitting... Turns out that's my specialty.
> #
> # Memory Technology Devices (MTD)
> #
> CONFIG_MTD=y
> CONFIG_MTD_DEBUG=y
> CONFIG_MTD_DEBUG_VERBOSE=2
> CONFIG_MTD_PARTITIONS=y
> CONFIG_MTD_CONCAT=y
> CONFIG_MTD_REDBOOT_PARTS=y
> CONFIG_MTD_CMDLINE_PARTS=y
Probably get rid of REDBOOT if you're not using that bootloader
>
> #
> # User Modules And Translation Layers
> #
> # CONFIG_MTD_CHAR is not set
> # CONFIG_MTD_BLOCK is not set
> # CONFIG_MTD_BLOCK_RO is not set
> # CONFIG_FTL is not set
> # CONFIG_NFTL is not set
> # CONFIG_INFTL is not set
>
You need to enable MTD_CHAR to read/write and MTD_BLOCK to mount
> Can any happy soul let me know :--
>
> 1)How to mount jffs2 on this flash and also to test mtd->read/write
> routines ?
Start with the char drivers (/dev/mtd0 etc.). You'll need one for each
partition you want to experiment with.
How about creating the nodes manually?
mknod /dev/mtd0 c 90 0
mknod /dev/mtd1 c 90 2 etc. (minor # increments in 2s)
Add a block device for each partition:
mknod /dev/mtdblock0 b 31 0
mknod /dev/mtdblock1 b 31 1 etc.
Once you clean up #3 below, you should be able to read/write the char
devices using commands like 'cat', or write a simple user-space app
using "open, read, write", etc if you'd rather look at the actual binary
data.
You can then experiment with mounting the JFFS2. I recommend booting to
an NFS file system then mounting the JFFS2 with something like:
mount -t jffs2 /dev/mtdblock5 /mnt/temp (Use the correct partition)
>
> 2) Is it ok not to see mtd0.. partions in /dev directory .
Pretty sure you'll need these
>
> 3 ) Where do I register the mtd partitions to get them noticed
> here ??
Looks like your partitions are already being found, but are probably not
set up right. I don't know if this is a static definition in your board
init code or passed by command line from the bootloader, but it looks
like the values don't line up with your device:
*********
Using physmap partition definition
Creating 3 MTD partitions on "phys_mapped_flash":
0x00000000-0x00040000 : "foo-ets0"
mtd: Giving out device 0 to foo-ets0
0x00040000-0x001e0000 : "foo-ets1"
mtd: partition "agere-ets1" doesn't end on an erase block -- force
read-only
mtd: Giving out device 1 to foo-ets1
0x001e0000-0x00200000 : "foo-ets2"
mtd: partition "foo-ets2" doesn't start on an erase block boundary --
force read-only
*********
--------------------------------------------------------------------------
Hopefully this helps you proceed a little bit.
regards,
Ben
More information about the Linuxppc-embedded
mailing list