2011年4月5日火曜日

.imgを展開する。 - Android

nandroid backupで作られる.imgファイルはYAFFS2(Yet Another Flash File System 2)
というファイルシステムが使用されているのだが、、、これが展開するのに非常に厄介である。


通常のimgファイルはマウントすれば展開できるけれどyaffs2の場合そうはいかない。
今回はそのyaffs2の展開をできるだけわかりやすくメモしていこうと思います。


YAFFS2(Yet Another Flash File System 2)については省略して
知りたい人はYAFFS | A Flash file system for embedded useを見てください。(英文)


・yaffs2を展開するのに必要な"unyaffs"を準備する。
 unyaffs – Project Hosting on Google Codeから"unyaffs" "unyaffs.c" "unyaffs.h"を取得する。
   取得後、unyaffsを生成する。
       
   $ gcc -o unyaffs unyaffs.c 


・imgの展開
   生成された unyaffsを使用して展開をする。


   $ unyaffs -----.img 


・展開例 (system.imgの展開)
   Last login: Mon Apr  4 23:56:50 on ttys000
   MacPro:~ user$ gcc -o ../unyaffs ../unyaffs.c 
 MacPro:~ user$ mkdir system
   MacPro:~ user$ cd system
   MacPro:~ user$ ../unyaffs(生成後の) ../system.img
   end of image

こんな感じになると思います。(Mac Terminalであれば)
Winでも大体同じ作業になると思います。少々やり方が変わると思いますが。

まだ圧縮方法がわからないからわかり次第また更新します。

0 件のコメント:

コメントを投稿