2013/11/20

Nexus5 カーネルをビルドしてみる

実際に自ビルドして常用なんて夢物語だけどやってみたいからやってみる。

ビルド環境はAXのモジュール作った時に整ってるはずだからよし

まずソースコードを入手
https://android.googlesource.com/kernel/msm.git
ここでいいはず・・・

何が変わるのかさっぱりわからないけどandroid-toolchain4.7を入手
http://www.linaro.org/downloads/
12.07と13.10を頂戴しておく。

mkbootimgとsplit_bootimg.plなどを入手
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images
http://web.archive.org/web/20110629041323/http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images
ここにあるらしい。
古い?けどこれでもいいのか?
http://forum.xda-developers.com/showthread.php?t=1477845

factoryimageに同梱されているboot.imgからramdiskを展開。
$ split_bootimg.pl boot.img
boot.img-ramdisk.gz入手

とりあえず必要そうなものは揃ったはず

zImageビルド
$ make ARCH=arm CROSS_COMPILE=$CCOM hammerhead_defconfig
$ make ARCH=arm CROSS_COMPILE=$CCOM menuconfig
$ make ARCH=arm CROSS_COMPILE=$CCOM
しばし放置して戻ってくると・・・
arm-eabi-ld: error: DIV usage mismatch between arch/arm/boot/compressed/misc.o and output
arm-eabi-ld: error: DIV usage mismatch between arch/arm/boot/compressed/lib1funcs.o and output
このエラー・・・モジュール作った時も吐かれた事を思い出す。
arch/arm/boot/compressed/Makefileを書き換えてコマンド叩きつつ放置
で、戻ってくると・・・zImage-dtbがどーたらこーたらとエラー吐いてる。
失敗?ところが
arch/arm/boot/zImage
arch/arm/boot/zImage-dtb
存在している・・・
エラー吐いてるから失敗作なのかなと
zImage-dtbってなんだろうか?

まぁ素人が簡単に作れるようなもんじゃないから当然か
もうちょっとお勉強

0 件のコメント:

コメントを投稿