「kernel のコンパイル」の編集履歴(バックアップ)一覧に戻る
kernel のコンパイル - (2011/02/10 (木) 00:43:59) のソース
*ソースコードの入手 [[ソースコードの入手]]を参照 *Android NDK の入手 Android NDK は、アプリケーションのコードの一部をネイティブ命令で実行で きるようにし、アプリケーションの高速化を目的とするもので、単独のアプリ ケーションを作成するものではない。しかし、単独のアプリケーションの作成 に利用したり、kernel をコンパイルすることもできる。 http://developer.android.com/sdk/ndk/index.html から、 android-ndk-r5b-linux-x86.tar.bz2 を入手する。以下の文章は、全て、 Linux(Ubuntu 10.04.1 LTS)を対象とする。 *環境構築 $ export ARCH=arm $ export CROSS_COMPILE=arm-eabi- $ export PATH=$PATH:~/android-ndk-r5b/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin $ sudo apt-get libncurses5-dev 後で、make menuconfig を実行するために libncurses5-dev を使う。恐らく、他に、 コンパイルに必要なパッケージが今後出てくるかもしれないが、それは、必要 に応じて apt-get でインストールするように。 * kernel の設定を行う 先に、kernel の設定ファイルの雛形になる .config ファイルを P10AN01 か ら持ってくる必要がある。 $ cd kernel-source $ adb pull /proc/config.gz . $ gunzip config.gz $ mv config .config .config を用意できたら、menuconfig を立ち上げる。 $ make menuconfig make menuconfig を実行すると設定画面が現れる。ここでは、スペースキーで 項目の ON/OFF と詳細設定への移動, エスケープを2度押すことで前のページ に戻れる。 General Setup に移動すると "(何らかの文字列) Local verison - append to kernel release" という項目を確認できる。ここは、kernel のローカルバー ジョンを設定する場所で、例えば、"_MY_KERNEL_" と設定すると、Android 上 の 設定->デバイス情報->カーネルバージョンで、"2.6.32.9_MY_KERNEL_" と 表示されるようになる。 設定が終わったら、"Save an Alternate Configuration File" で .config ファ イルを保存する。 *kernel のコンパイル $ make このコマンドを実行すると kernel のコンパイルが始まる。環境によるが、 core i7 だったら、10分~20分で終了する。 kernel のコンパイルが終了すると、arch/arm/boot/ に zImage ができる。こ れが kernel の本体。 *boot.img の作成 boot.img を作成する際に、RAMDISK が必要になるので、P10AN01 の ROM から boot.img を入手して、RAMDISK を入手しておく。入手手順は [[boot.img, recovery.img の展開]] を参照する。 zImage と RAMDISK を一つのディレクトリにおいたら、mkbootimg コマンドを実 行する。 $ mkbootimg --kernel zImage --ramdisk boot.img-ramdisk.gz -o boot.img --base 0x10000000 *参照した URL http://android.modaco.com/content/advent-vega-vega-modaco-com/330834/advent-vega-kernel-source-code-now-available/ http://www.robmcghee.com/android/compiling-an-android-kernel/