[Yaffs] YAFFS fs images not working the way I expect

Charles Manning manningc2@actrix.gen.nz
Fri, 22 Oct 2004 11:07:21 +1300


Hi

I think this is falling down on the "dd" commands.

AFAIK, "dd" will be ignoring the OOB stuff which is required by YAFFS.

Go look in the mtd tools, I think there are some nand specific tools like=
=20
damddump or some such that will also extract the OOB info.

-- Charles

On Thursday 21 October 2004 11:23, you wrote:
> I'm trying to dump an image of a YAFFS partition so that I can reload
> it later.  Things are not working the way I expect.  Here is an
> example of where I'm unable to copy an image onto a partition and
> mount it.  Any clues for sale?
>
> 1. create a new YAFFS filesystem on mtd partition 2 using a
>    pregenerated yaffs.dat file, mount it, and verify that the etc and
>    home directories are listed as expected:
>
>   # cd /path/to/mounted/CF/card
>   # /sbin/mkyaffs /dev/mtd/2 /yaffs.dat
>   # /bin/mount -n /dev/mtdblock/2 /mnt/flash0 -t yaffs
>   # ls /mnt/flash0
>   etc         home        lost+found
>   #
>
> 2. unmount that and dump it to a file:
>
>   # umount /mnt/flash0
>   # /sbin/mkyaffs /dev/mtd/2 /yaffs.dat
>   argc 3 sh 0 optcnt 1
>   Erasing and programming NAND
>   Erasing block at 0x080
>   Erasing block at 0x0810000
>   <snipping much Erasage...>
>   Erasing block at 0x08354000
>   OK
>   # dd if=3D/dev/mtd/2 of=3Dmtd2.img bs=3D16384
>   214+0 records in
>   214+0 records out
>   #
>
> 3. copy zeros onto the partition and verify that we can't mount it
>    anymore
>
>   # dd if=3D/dev/zero of=3D/dev/mtd/2 bs=3D16384 count=3D214
>   214+0 records in
>   214+0 records out
>   # mount -n /dev/mtdblock/2 /tmp/yaffs -t yaffs
>   yaffs: dev is 7938 name is "1f:02"
>   mount: Mounting /dev/mtdblock/2 on /tmp/yaffs failed: Not a directory
>   #
>
> 4. copy the backup image onto the partition, try (and fail) to mount
>    it, and wonder what I'm doing wrong:
>
>   # dd if=3Dmtd2.img of=3D/dev/mtd/2 bs=3D16384
>   214+0 records in
>   214+0 records out
>   # /bin/mount -n /dev/mtdblock/2 /mnt/flash0 -t yaffs
>   yaffs: dev is 7938 name is "1f:02"
>   mount: Mounting /dev/mtdblock/2 on /tmp/yaffs failed: Not a directory
>   #
>
>
> _______________________________________________
> yaffs mailing list
> yaffs@stoneboat.aleph1.co.uk
> http://stoneboat.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs