Sirius -旧ブログ、更新されません-

2010年10月18日(月) 10:40

展開したファームウエアをまとめる。

NPAD のファームウェアを展開、修正したあとでまとめて FWDN で書き込めるようにします。この内容の利用は自己責任でお願いします。pad が文鎮になっても責任は取れません。

前回展開したものを利用します。



必要なもの

 mkyaffs2image

 mkbootimg

 tccpack

 ※ mkbootimg はページサイズを 4096 に修正。

 ※ mkyaffs2image はチャンクサイズを 4096 にスペアサイズを 128 に修正。また、ecc はサポートなしにする。



1、boot.img 用の ramdisk の作成

 修正済みの ramdisk ツリーのトップに移動して、

 $ find . -print0 | cpio -o0 -H newc | gzip -9 > ../boot.img-ramdisk-new.gz



2、boot.img の作成

 ベースアドレスやコマンドラインのパラメータはもともとの boot.img と同じものを指定します。特にベースアドレスの指定を間違えると起動しなくなります。

 boot.img のパラメータを表示するプログラムのソースをここにおきます。コンパイルには bootimg.h が必要です。

 ベースアドレスは、カーネルアドレスの下位4桁は 0 にします。

 $ mkbootimg --kernel boot.img-kernel --ramdisk boot.img-ramdisk-new.gz --cmdline 'console=ttySAC0 androidboot.hardware=tcc92xx' --base 0x40000000 -o boot-new.img



3、recovery.img の作成

 rycovery.img は作り直す必要はないと思いますが、boot.img と同様にすることで作成できます。



4、system.img の作成

 yaffs2 の mkyaffs2image を使って作成します。mkyaffs2image で ecc を有効にすると FWDN で書き込んだときに CRC エラーになります。三日くらい悩みました。普通に make したら ecc が有効になってました。

 system に展開したとして、

 $ mkyaffs2image -f system system-new.img



5、tcc8900_mtd.img の作成

 作成したものを使って一つにまとめます。

 $ tccpack boot-new.img system-new.img recovery.img tcc8900_mtd-new.img



これで出来上がった tcc8900_mtd-new.img のみを FWDN で書き込めば OK です。

失敗しても、元の tcc8900_mtd.img を書き込めば大丈夫です。

written by sirius [Android] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Sirius -旧ブログ、更新されません-

MySketch 2.7.2 written by 夕雨