元ネタはこちら。いつもの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

 

4.この状態でtempディレクトリの中をいじるとイメージが編集できます。
 

5.編集が終わったら、
mkuserimg.sh を使う。
内部で ./make_ext4fs として呼び出しているので実行する所に make_ext4fs を置いておく必要がある。
中身は make_ext4fs を呼ぶだけなのでそちらを直接使っても良いのかも。

Usage:
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上でもできますよということで。