에고.. 이 질문이 패키징의 마지막 질문이 되길 바랍니다...^^;
빨리 해보고 DIY 자료 만들려고 하는데 개념없이 하다보니 힘드네요..
해보면 별개 아닌데 모를때는 난감하다는..ㅋ
우선 nand는 파티션을 하나만 잡으면 된다고 하셔서 별도로 나누진 않았습니다..
root@godori:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00080000 00010000 "uboot"
mtd1: 00160000 00010000 "kernel"
mtd2: 00020000 00010000 "env"
mtd3: 04000000 00004000 "Total nand"
"Total nand"에 RootFs를 넣을려고 합니다..
"nand에 rootfs를 올릴때는 nfs로 부팅한 후 flash erase해주고, yaffs로 마운트 한 후 쓰시면 됩니다. " <= 현철님이 답변 해주셨는데
mkyaffsimage로 /targets/AESOP (<= rootfs)을 yaffs 이미지로 만든후
mkyaffs로 fusing을 한 후 yaffs로 mount해서 사용을 하는 방법으로
해야 하는건지 아니면 cp 명령으로 그냥 copy를 해서 rootfs를 mnt에다가
구성을 해도 되는건지 두가지 방법의 차이점이 궁금합니다...
kelp에 있는 문서대로 mkyaffs로 fusing을 해봤는데 안되더군요...
첫번째 질문의 요지는 rootfs를 yaffs 이미지로 만든후 mkyaffs로 fusing을
해서 사용해야 하는건지 아니면 yaffs로 mount한 후 그냥 cp 명령으로
타겟보드에서 rootfs 디렉토리들을 /mnt 에다 카피를 해줘도 되는건지...
두번째는 항상 그담이 좀 헛갈리네요..
yaffs 이미지건 nand에다 올렸으면 nand에 올려진 rootfs로 연계되는
부분입니다..
아래 질문 드렸듯이 nor 커널은 setenv bootcmd bootm 커널시작번지
이렇게 하면 nor 커널로 부팅이 되는데 nand에 올린 rootfs은 어떻게
연계를 시켜줘야 하는지...
현철님 죄송합니다.. 계속 귀찮게 해드려서.......^^;
일단 질문을 이해 불가...쩝, 몸살이라....계속 멍하니 있어서...
간단하게 말씀드리면
jffs, jffs2나, yaffs의 경우 fs입니다. 모두 flash를 위한 넘들이죠.
이 녀석들의 특징은 bad block marking처리를 해준다는데 있습니다
(nand일 경우)
mtd는 파티셔닝 툴입니다(요즘 새로짜려고 하고 있습니다. 더러운 넘들땜에...).
별로 어려운 기술도 아닙니다. 간단하게 nor/nand를 내가 쪼개고 싶은 양만큼 쪼개준다는데 있지요. 밖에서 보면 파티션 한 것처럼요.
mtd로 쪼개진 영역을 특정 fs로 마운트해서 쓰면 됩니다.
정리하면
1. mtd는 파티셔닝 툴이다.
2. yaffs는 특정 nand partition에 사용되는 fs다.
3. 사용하고자 한다면 특정 partition을 특정 fs로 특정 디렉토리에 마운트 하면 된다.
4. yaffs나 jffs, jffs2의 경우는 부트로더에서 해당 파티션에 copy한 것처럼 image형태로 write할 수 있다.
5. yaffs의 경우 4번의 image를 만들어주는 명령이 mkyaffsimage이다.
6. mkyaffsimage를 사용하려면 u-boot에서 수정을 해줘야하나, aesop용은 mkyaffs란 명령이 구현되어 있다.
7. 하지만, 문제가 없는것도 아니다. flash에 구울려면 다운로드 해야하나, ram이 64M라 곤란한 문제가 생긴다.
8. 그래서 rootfs를 tar파일로 묶은 후 nfs로 부팅해서 mtd partiton을 yaffs로 특정디렉토리로 마운트 한 후 (마운트 디렉토리가 /mnt일 경우)
tar -C /mnt -xf rootfs.tar
이런식으로 묶인 rootfs를 nand영역으로 풀어준다.
9. sync를 한 후 umount /mnt 한 후 부팅을 하는데, bootargs를 다음과 같은 스타일로 해주면 된디ㅏ.
root=/dev/mtdblock0 rw rootfstype=yafffs.............
뒷부분은 ip설정이라던가, console설정을 해주면 된다.
이상....^^