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

http://www.aesop.or.kr/?document_srl=438726

 

위 질문의 답변을 통해서 genext2fs 란 툴을 이용해 userdata.img를 만들고

uboot에서 fastboot로 MoviNAND의 Ext2 파티션에 mmc write 하여 써지는 것을 성공했습니다.

그런데 큰 문제가 발견 되었는데 혼자 해결이 안되 또 질문을 드립니다.

 

진저브레드를 빌드할 때 outtargetproductc110data 에 복사된 파일들을 userdata.img로 만드는데

genext2fs를 이용하면 만드는 Ext2 파티션 크기가 -b 값에 의해 고정되어 버립니다.

 

예를들면 현재 Ext2용 userdata.img를 아래 커맨드로 만들고 있습니다.

 

# ./android/out/host/linux-x86/bin/genext2fs -b 50000 -i 50000 -m 5 -d ./android/out/target/product/c110/data ./android/out/target/product/c110/userdata.img


문제가 이 userdata.img를 물리적인 MoviNAND의 1GB 파티션에 write하면

genext2fs로 userdata.img를 생성하면서 설정된 super block 정보가 -b 설정에 따라 50MB로 되어 있어서

userdata.img가 write된 MoviNAND의 1GB Ext2 파티션이 50MB로 인식되어 버립니다.

 

fdisk 로 확인해 보면 물리적으로 파티션이 1GB 인데, Ext2 파일시스템이 50MB 인식해 버리는 문제입니다.

테스트를 해보니 genext2fs를 100MB로 생성하면 write 후 MoviNAND의 Ext2 파티션이 100MB 로 인식됩니다.

 

genext2fs 에서 -b로 입력하는 용량이 userdata.img 파일 용량이 되어버리기 때문에,

실제 userdata.img를 만들 때 들어가는 out/target/product/c110/data 파일은 2MB가 채 안되는데

MoviNAND의 1GB Ext2 용 userdata.img를 만드려면 파티션 전체 용량을 인식하기 위해

-b 100000 옵션을 줘서 1G 짜리 userdata.img를 만들어야 합니다.

 

바이너리를 만드는데 userdata.img만 1GB 짜리라니 말이 안되는 상황이지요. 

이 1GB 짜리 userdata.img를 fastboot로 다운로드도 불가능하구요.

 

제가 원하는건 genext2fs로 userdata.img를 만들 때 write 될 Ext2 파티션 정보를 1GB로 인식하면서

실제 userdata.img 바이너리가 만들어지는건 "out/target/product/c110/data" 요 디렉토리에 있는 2MB 만
차지했으면 합니다.

 

genext2fs가 정말 저렇게 무식하게 -b 옵션에 따라 target Ext2 파티션의 고정된 크기로만 생성할 수 밖에 없는건가요?

genext2fs를 1GB 타겟용으로 userdata.img를 만들면서 실제 userdata.img 바이너리 크기를

실제 백업하는 파일크기 만큼만 되도록 생성하는 방법이 있다면 어떻게 해결할 수 있는지 조언 부탁드립니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
» userdata.img를 ext2용으로 만들때 genext2fs 사용법 질문 드립니다. 텡구 2011-07-28 1134

사용자 로그인