안녕하세요^^
처음 리눅스 해보니 모르는게 너무나 많군요 ㅠ,.ㅠ
6410 기본 filesystem이 cramfs라 너무나 불편해서
jffs2로 바꾸고자 엄청난 삽질 끝에 포팅은 성공 하긴 했습니다.
아직도 의미를 잘 모르는것이 있어서 질문 드립니다.
"mkfs.jffs2 -e 0x20000 -d rootfs -p 0x3000000 -o img.jffs2"
-e 0x20000 -> erase block 이라는데 어디에 어떻게 쓰는 것인지요?
왜 필요한 것인지요?
그리고 0x20000 이 아래 보이는 00020000과 같은 숫자 인지요?
[root@glibc proc]# cat mtd
dev: size erasesize name
mtd0: 00040000 00020000 "Bootloader"
mtd1: 001c0000 00020000 "Kernel"
mtd2: 03000000 00020000 "Root - Cramfs"
mtd3: 04e00000 00020000 "File System"
조언 부탁 좀 드리겠습니다^^
따라서 -e 옵션은 Flash 메모리의 eraseblock의 크기를 지정해 주는 것 입니다. flash memory마다 블록의 크기는 틀리겠죠? ^^
-e 옵션을 0x20000을 줬으니, 아마 저것은 128kb 삭제 블록 단위를 가지는 NOR Flash용 옵션이네요. :)
원래 JFFS는 NOR Flash에 잘 맞도록 설계된 파일 시스템이라서, NAND에는 잘 쓰이지 않습니다. 보통 NAND에서는 YAFFS를
사용하고요.. 나중에 JFFS2 NAND따로 따로 나오긴 했지만, 그래도 YAFFS를 많이 사용 합니다.
요즘에는 YAFFS보다 더 좋은 UBIFS나 기타 등등의 최신의 파일 시스템도 나오고 있고요...^^