カーネルのリビルド

 この段階では,Androidを起動できない。Androidのカーネルは2.6.25を拡張している。一方,Angstromはカーネル2.6.24だ。Android用の拡張を,Angstromのカーネルに適用し,Android用カーネルに仕立てる。

 そのためのパッチ・ファイルを筆者が作成した。日経Linux2009年2月号の付録DVDに収録している(編注:本記事に関する付録DVDの収録内容はこちらからダウンロードできる)。作成方法は「patch.txt」に記述してあるので参照していただきたい。

 付録DVDの「/tokubetsu/angstrom」ディレクトリにあるパッチ・ファイルや設定ファイルをAngstromのビルド環境に適用する。

 Android用カーネルにするためのパッチ・ファイルは「diff-linux-2.6.24-vanilla-android.patch」であり,DVDをマウントしたディレクトリに入り,次のように実行する*3

*3 このほか,日経Linux2009年2月号付録DVDには,Android用カーネルの設定ファイル,Androidを移植したZaurusの画面表示を縦長(ポートレート)に固定するためのパッチ・ファイルなどを収納している(編注:本記事に関する付録DVDの収録内容はこちらからダウンロードできる)。適用方法はREADMEを参照していただきたい。

$ cp angstrom/diff-linux-2.6.24-vanilla-android.patch /tmp Enterキー
$ cd ~/oe Enterキー
$ cd org.openembedded.stable/packages/linux/linux-rp-2.6.24/ Enterキー
$ cp /tmp/diff-linux-2.6.24-vanilla-android.patch . Enterキー

 Angstromビルド時に,この変更が加えられるよう,ディレクトリ「~/oe/org.openembedded.stable/packages/linux」にある「linux-rp_2.6.24.bb」をエディタで開いて,「SRC_URI_append_spitz = 」の最後に次の行を追加する。

file://diff-linux-2.6.24-vanilla-android.patch;patch=1;status=external ¥

 設定したら,bitbakeコマンドにrebuildオプションを指定し,Angstromカーネルをビルドし直す。

$ cd ~/oe/org.openembedded.stable/ Enterキー
$ bitbake linux-rp -c rebuild Enterキー
$ bitbake console-image Enterキー

 「Applying patch」メッセージに,設定したAndroid用カーネルのパッチがあることを確認しておくといいだろう。リビルドは30分ほどで完了する。