기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요^^

처음 리눅스 해보니 모르는게 너무나 많군요 ㅠ,.ㅠ

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"

조언 부탁 좀 드리겠습니다^^

profile

김재훈

2009.03.04 18:01:14
*.162.60.144

NOR flash의 경우 바이트 단위 읽기와 쓰기를 지원하지만, 삭제하는 것은 블록 단위로 삭제합니다.
따라서 -e 옵션은 Flash 메모리의 eraseblock의 크기를 지정해 주는 것 입니다. flash memory마다 블록의 크기는 틀리겠죠? ^^ 
-e 옵션을 0x20000을 줬으니, 아마 저것은 128kb 삭제 블록 단위를 가지는 NOR Flash용 옵션이네요. :)

원래 JFFS는 NOR Flash에 잘 맞도록 설계된 파일 시스템이라서, NAND에는 잘 쓰이지 않습니다. 보통 NAND에서는 YAFFS를
사용하고요.. 나중에 JFFS2 NAND따로 따로 나오긴 했지만, 그래도 YAFFS를 많이 사용 합니다.

요즘에는 YAFFS보다 더 좋은 UBIFS나 기타 등등의 최신의 파일 시스템도 나오고 있고요...^^

윤인성

2009.03.04 19:08:56
*.241.165.61

아하... erase block이 그 의미 였군요. 이해가 팍팍 오네요^^
차라리 삭제블럭단위라고 했으면 이해가 빨랐을 텐데....
답변 감사합니다^^

고현철

2009.03.04 23:03:13
*.32.117.22

1 block을 얘기하는 겁니다......ㅎㅎ,

jffs2의 경우 nand를 써도 괜찮고요. 가장 좋은 녀석은 ubifs입니다.......ㅎ
List of Articles
번호 제목 글쓴이 날짜 조회 수sort

사용자 로그인