Hi all,
I've managed to get my am3559 running kernel linux-ti33x-psp version 3.2.28-r17 to mount my micron nand flash (2GB, 8bit) as ubifs and also boot from it.
Now I'm trying to get it running with yaffs2 due to the unstable bit issue with ubifs.
I'm following the TI guide : http://processors.wiki.ti.com/index.php/Put_YAFFS_Image_to_Flash
Unfortunately whenever I mount my partition, after erasing all content, and try to create a directory I'm getting the following error:
>> flash_erase /dev/mtd12 0 0
flash_erase: Skipping bad block at 00000000
flash_erase: Skipping bad block at 00020000
flash_erase: Skipping bad block at 00040000
flash_erase: Skipping bad block at 00060000
flash_erase: Skipping bad block at 00080000
Erasing 128 Kibyte @ 5060000 -- 32 % complete flash_erase: Skipping bad block at 05080000
Erasing 128 Kibyte @ 50a0000 -- 32 % complete flash_erase: Skipping bad block at 050c0000
Erasing 128 Kibyte @ f860000 -- 100 % complete
>> mount -t yaffs2 /dev/mtdblock12 /mnt/yaffs2
[ 324.976593] yaffs: dev is 32505868 name is "mtdblock12" rw
[ 324.982452] yaffs: passed flags ""
>> mkdir test
mkdir: can't create directory 'test': Cannot allocate memory
I checked my free space, almost the whole partition is free:
>> df -h /dev/mtdblock12
Filesystem Size Used Available Use% Mounted on
/dev/mtdblock12 248.5M 2.1M 246.4M 1% /mnt/yaffs2
mdtinfo for this partition is:
>> mtdinfo /dev/mtd12
mtd12
Name: File System
Type: nand
Eraseblock size: 131072 bytes, 128.0 KiB
Amount of eraseblocks: 1988 (260571136 bytes, 248.5 MiB)
Minimum input/output unit size: 2048 bytes
Sub-page size: 512 bytes
OOB size: 64 bytes
Character device major/minor: 90:24
Bad blocks are allowed: true
Device is writable: true
And dmesg shows me that all my blocs are marked as bad:
[ 324.976593] yaffs: dev is 32505868 name is "mtdblock12" rw
[ 324.982452] yaffs: passed flags ""
[ 324.985992] yaffs: yaffs: Attempting MTD mount of 31.12,"mtdblock12"
[ 325.632476] yaffs: checking block 0 bad
[ 325.632537] yaffs: block 1 is bad
[ 325.632537] yaffs: checking block 1 bad
[ 325.632598] yaffs: block 2 is bad
[ 325.632629] yaffs: checking block 2 bad
[ 325.632690] yaffs: block 3 is bad
[ 325.632690] yaffs: checking block 3 bad
[ 325.632751] yaffs: block 4 is bad
[ 325.632751] yaffs: checking block 4 bad
[ 325.632812] yaffs: block 5 is bad
[ 325.632812] yaffs: checking block 5 bad
[ 325.633209] yaffs: checking block 6 bad
......
[ 326.399841] yaffs: checking block 1987 bad
[ 326.402954] yaffs: yaffs_read_super: is_checkpointed 0
But when I use the mount-option "inband-tags" all works.
>> mount -t yaffs2 -o"inband-tags" /dev/mtdblock12 /mnt/yaffs2
Why is my normal yaffs mount not working?
What are the consequences of using the option "inband-tags" except of the loss of space needed for these tags? Is EEC still working?
I'm really stuck for the moment not knowing what to do.
Regards
Isak Lichtenstein