mtd 에 마운트시 에러에 대한 질문입니다.
arm9 을 쓰고 있으며
커널 2.4.20 인 임베디드 평가 보드를 쓰고 있는데
mtd (플래쉬메모리) 에 마운트를 하니
jffs2: Erase block size too small (16KiB). Using virtual blocks size(32KiB) instead
에러 메시지가 나오네요
마운트해서 데이터(루트파일시스템 jffs2) 쓰면 재부팅하면 다 날라갑니다.
인터넷으로 검색해보니
-> Output for larger NAND devices to reduce memory allocation.
라는데 Erase block size 를 어떻게 해줘야 하는지 잘 모르겟습니다.
커널의 어느 부분을 고쳐야 할지
부팅 메시지를 보면 삼성의 unknown 64MB 로 재대로 잡히고
erase_size 는 0x2000 으로 잡히는데... (id : 0x76)
휴 어찌 해야 할지 망막합니다. ㅠㅠ
참고사항
# mtd_debug info /dev/mtd2
mtd.type = MTD_NANDFLASH
mtd.flags = MTD_CLEAR_BITS | MTD_ERASEABLE | MTD_OOB | MTD_ECC
mtd.size = 50331648(48M)
mtd.erasesize = 16384 (16K)
mtd.oobblock = 512
mtd.oobsize = 16
mtd.ecctype = MTD_ECC_SW
regions = 0
# flash_info /dev/mtd2
Device /dev/mtd2 has 0 erase regions
cf. 근데 의문사항은 mtd1 은 mtd2 와 비슷한 환경인데..사이즈만 1MB 인데
여기에다는 커널 이미지가 쓰여져서 아무 이상없이 부팅되는데 데이터를 쓰면
왜 저런 오류가 뜨는지 ㅠㅠ (mtd1.erasesize = 16384 (16K) 입니다)


댓글 달기