Samsung端末はプラットフォームのソース一式はまとまって公開はされていないため既存のイメージデータをいじるのが楽そうです。
AOSPと公開ソース組み合わせればビルドは通るので、そこから作るのはありかもしれませんけど面倒だし。Googleのアプリはないし。
端末の /system はddで取得できるので、そのファイルの編集について。
AOSPと公開ソース組み合わせればビルドは通るので、そこから作るのはありかもしれませんけど面倒だし。Googleのアプリはないし。
端末の /system はddで取得できるので、そのファイルの編集について。
元ネタはこちら。いつものXDA。
[REF] Unpacking and repacking stock rom .img files
手順
毎度のごとくLinux(ubuntu11.04 64bit)上での作業。
0.上記サイトから ext4_utils.zip を入手。
解凍してmakeを実行しコマンドを生成後適当な場所に置いておく。
1.端末からddで /dev/block/mmcblk0p9 を factoryfs.img として抜き出す。
2.ddで読み出した物をsimg2imgでrawイメージに変換。
Usage: simg2img <sparse_image_file> <raw_image_file>
ということなので
$simg2img factoryfs.img output.img
3.マウントポイントをtempとして作り、そこにrawイメージをループバックマウント
$mkdir temp
$sudo mount -o loop output.img temp
$sudo mount -o loop output.img temp
4.この状態でtempディレクトリの中をいじるとイメージが編集できます。
5.編集が終わったら、
mkuserimg.sh を使う。
内部で ./make_ext4fs として呼び出しているので実行する所に make_ext4fs を置いておく必要がある。
中身は make_ext4fs を呼ぶだけなのでそちらを直接使っても良いのかも。
Usage:
mkuserimg.sh [-s] SRC_DIR OUTPUT_FILE EXT_VARIANT MOUNT_POINT SIZE
mkuserimg.sh [-s] SRC_DIR OUTPUT_FILE EXT_VARIANT MOUNT_POINT SIZE
$sudo mkuserimg.sh -s temp factoryfs_custom.img ext4 system 512M
で、factoryfs_custom.imgというheimdallで書き込み可能なイメージが完成。
6.本体に書き込んでテスト。
問題があればイメージ作り直し。
ということで、手順を書きましたが結局面倒なので実機上でいじってddで吸い出した方が楽です(笑
一応PC上でもできますよということで。
0 件のコメント:
コメントを投稿