Android ramdisk.img mkbootfs

/ Android

Building AndroidにてAndroidをビルドすると./out/product/target/product_name/下にramdisk.imgが生成される。

結果

Building Androidの手順を終えて同ディレクトリにいるとする。ramdisk.imgは同じ場所にあるramdiskディレクトリから次のようにして再生成できる。

# LZ4 compression
./out/host/linux-x86/bin/mkbootfs ./out/target/product/trout_x86/ramdisk | ./out/host/linux-x84/bin/lz4 -1 -12 --favor-decSpeed > ramdisk.img
# Gzip compression
./out/host/linux-x86/bin/mkbootfs ./out/target/product/trout_x86/ramdisk | ./out/host/linux-x86/bin/minigzip > ramdisk.img

ramdiskディレクトリの中身を更新した場合などはこれによってramdisk.imgに反映させられる。

余談

./out/host/linux-x86/binに置かれているツールのうちmkbootfsは特にヘルプメッセージを出さない。./build/make/tools/releasetools/common.pyから上記コマンドはビルドシステムによって実行されている。したがってこれを読むことによってmkbootfsの使用例を察する必要があった。この他には参考ページ(2) がmkbootfsの使われ方を解説している。LZ4圧縮方式はカーネル側が対応していないとクラッシュする。Gzip側も同じく。

参考