귀사의 ez-x5로 개발 중에 있습니다.

nand을 256Byte 2k large page로 변경을 했습니다.

커널은 귀사의 커널을 그대로 쓰고 있고 mtd을 large page을 지원하는 mtd로 포팅 했습니다.

yaffs2는 일단 테스트로 귀사의 메뉴얼 되로 모듈로 테스트 했습니다.

문제는 마운트 까지 되는데 사용율이 100%가 나와서 write 을 할 수가 없습니다.

proc 파일시스템 정보을 찍어 본겁니다.

[root@ez-x5 /root]$ cat /proc/filesystems
nodev   rootfs
nodev   bdev
nodev   proc
nodev   sockfs
nodev   tmpfs
nodev   pipefs
             ext2
nodev   ramfs
             msdos
             vfat
nodev   nfs
nodev   devpts
             yaffs
             yaffs2


패치한 mtd 유틸의 ./flash_eraseall 을 실행한 화면입니다.

[root@ez-x5 /root]$ ./flash_eraseall /dev/mtd2
Erasing 128 Kibyte @ 834000nand_erase: attempt to erase a bad block at page 0x00011500
Erasing 128 Kibyte @ 8680000 --  4 % complete.
./flash_eraseall: /dev/mtd2: MTD Erase failure: Input/output error
Erasing 12nand_erase: attempt to erase a bad block at page 0x00013200
Erasing 128 Kibyte @ 9500000 -- 10 % complete.
./flash_eraseall: /dev/mtd2: MTD Erase failure: Input/output error
Erasing 128 Kibyte @ fbe0000 --  2 % complete.


yaffs2 마운트 한 화면입니다.

[root@ez-x5 /root]$ mount -t yaffs2 /dev/mtdblock2 /root/nand
yaffs: dev is 7938 name is "1f:02"
yaffs: Attempting MTD mount on 31.2, "1f:02"
block 1077 is bad
block 1193 is bad


마운트 한 디렉토리의 내용입니다.

[root@ez-x5 /root]$ cd nand
[root@ez-x5 nand]$ ls
lost+found


df 메시지 입니다.

[root@ez-x5 nand]$ df
Filesystem           1k-blocks      Used Available Use% Mounted on
rootfs                   11895      7199      4082  64% /
/dev/ram0                11895      7199      4082  64% /
/dev/mtdblock2          258048    258048         0 100% /root/nand
[root@ez-x5 nand]$

  1) 시디에 들어 있는 램디스크의 eraseall 유틸은 64Mbyte 용인지도 궁금합니다.
  2) 그리고 테스트로 ext2파일 시스템을 마운트하고 쓰고 읽기을 해 봤습니다.
  3) 그리고 부트 명령어의 nea nek ner도 해봤습니다.
  4) yaffs 유틸에는 mkyaffs 라는 포맷 유틸이 있던데 yaffs2에는 이미지 만드는 유틸뿐이 없던데...
      yaffs2는 포맷을 어떤식으로 하나요?
  5) flash_eraseall 유틸이 제대로 동작을 하지 않는 것같은데 혹시 이문제 때문일수 도 있는지 궁금합니다.
      bad 블럭 2개가 검출 되서 위에 메시지 처럼 Input/output에러가 남니다.


답변 꼭 부탁 드리겠습니다. 그럼 수고하세요....