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

에고.. 이 질문이 패키징의 마지막 질문이 되길 바랍니다...^^;

빨리 해보고 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은 어떻게
연계를 시켜줘야 하는지...


현철님 죄송합니다.. 계속 귀찮게 해드려서.......^^;




고현철

2006.05.07 21:32:09
*.190.41.69

아직, yaffs와 mount등에 익숙하지 않으신 것 같네요...^^

일단 질문을 이해 불가...쩝, 몸살이라....계속 멍하니 있어서...
간단하게 말씀드리면

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설정을 해주면 된다.

이상....^^


이홍석

2006.05.07 22:14:20
*.43.152.229

^^ 너무 쉽게 설명을 잘 해주셔서 성공 했습니다..

현철님 덕분에 어느정도 mtd와 yaffs에 대한 개념을 잡았습니다...

감사합니다..

휴~ 이제 DIY 작성하는것만 남았네요.........ㅋ

이홍석

2006.05.07 22:16:47
*.43.152.229

7번.. 8번에 대한 자료가 별로 없어서 고생했네요...ㅋ

조준동

2006.05.08 21:41:27
*.61.128.11

저도 난드 퓨징을 해볼려고 했는데, 잘 되었네요..

현철님 답글로 대강의 내용은 이해를 했는데... 세부적인 - MTD사용방법, 파티션 나눈후, uBoot와 Kernel, 환경변수 저장을 어떻게 할것인가... 등등 시간이 상당히 많이 필요할 걸로 예상됩니다.


지금 다른 로드 ("윈도용 어플리케이션")가 걸려서 한달정도는 이솝 만지기가 어려울것 같았는데, 홍석님께서 DIY 자료 만드신다니 기대 됩니다.

홍석님 파이팅!! ^^
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
6128 aESOP 가지고놀기 라는 PDF 자료중 yaffs 관련 문의 입니다.-&gt... [1] 공경준 2006-08-28 2685
6127 [질문] LX800 보드 부품수급 관련 질문` [2] 박명대 2007-11-03 2675
6126 [질문]RTC 오차 관련해서 질문 드립니다. [3] 백승준 2008-06-10 2674
6125 YAFFS2 마운트는 되는데 파일쓰기 에러... [1] 공정표 2009-08-03 2673
6124 터치 스크린.. [3] 이재철 2006-09-16 2667
6123 mf2530f의 연산 성능은 s3c2440a에 비해서 어떠한가요? [3] 성진호 2007-10-24 2664
6122 안드로이드 디바이스 드라이버 [1] jacket 2010-01-13 2653
6121 log 출력에 관해서. [3] 권윤택 2009-07-15 2652
6120 cygwin을 사용하여 u-boot 컴파일 가능? [2] 한석준 2009-03-03 2648
6119 안드로이드 overlay 서정민 2009-06-09 2642
6118 NAND 변경시 나온 문제 (OverWrite 문제) [2] cshqq 2013-12-09 2634
6117 XPe용 VGA 비디오 드라이버를 구할곳이 있나요 [3] 정인수 2007-05-30 2634
6116 [질문]LCD 백라이트 하드웨어적으로 ON 시키는 방범좀...(완료) [6] 안문기 2007-05-14 2630
6115 Android Kernel 2.6.29로 업데이트 방법? [1] 김태준 2009-05-15 2628
» mkyaffsimage 질문입니다...[완료] [4] 이홍석 2006-05-07 2624
6113 Android kernel 2.6.28 재업 smdk6410 커널용 [2] 최종환 2009-04-09 2622
6112 화면잔상 해결법? [1] 이동술 2007-05-14 2621
6111 Android 동작시 mtd부분에서 uevent관련 하여 죽어 버립니다. [3] 최종환 2009-03-26 2614
6110 U-boot상에서 Ping 테스트 에러(LAN91C111 이더넷 드라이브 사용) [2] 한석준 2009-03-11 2612
6109 tftp 파일 수신 시 timeout 이 발생 [8] blue0sky 2012-08-23 2609

사용자 로그인