LinuxカーネルとArmadilloユーザーランドをビルドする

システム3部鈴木です。

Armadilloに載せたAndroidで無線LANを利用したり、タッチパネルを付け替えたりするには、カーネルに手を加える必要があります。また、Armadilloのユーザーランド(Atmark-distユーザーランド)にアプリケーションやドライバを追加することもあるかもしれませんから、LinuxカーネルとArmadilloのユーザーランドをソースからビルドしてみることにしました。

Linuxカーネルの入手

ビルドはATDE環境で行います。

Android1.5(cupcake)のリリースとともにカーネルも2.6.26から2.6.27になりました。カーネル2.6.27はアットマークテクノのサイトでArmadillo対応版の正式リリースがないため、一般公開されているカーネルにパッチを当てます。これも前述のサイトで解説されているので参照しました。パッチのDLもできます。

Armadillo-500 FX に Android ( cupcake ) をのせる その5

取得したカーネルのver.が異なっていた場合の対処など、gitの使用方法については別途参照願います。

カーネル作成のコマンドを引用:

$ git clone git://android.git.kernel.org/kernel/common.git
$ cd common/
$ git branch
* android-2.6.27
※android-2.6.27 であることを確認。
$ wget http://sola-dolphin-1.net/data/android/Armadillo-500FX/kernel-2.6.27-armadillo500fx.tar.gz
$ tar zxvf kernel-2.6.27-armadillo500fx.tar.gz
$ patch -p1 -E < kernel-2.6.27-armadillo500fx.patch

Atmark Distユーザランドをビルドしてみる

Atmark Distユーザランドをビルドすると、Armadilloのフラッシュメモリに書き込むLinuxカーネルイメージ・Atmark Distユーザーランドイメージを作成できます。

Androidのソースをビルドする (cupcake)」の「開発環境の用意」で、atmark-distを用いたカーネル・ユーザーランドのビルドの準備は整っていますが、ビルドを実行する前に、Android用に手を加えます。

開発者サイトからDLできる「FX液晶モデル – ソフトウェアマニュアル」では、atmark-distの直下に「linux-2.6.x」というシンボリックリンクを作成していますが、そのリンク先をパッチを当てた2.6.27のカーネルソースのディレクトリに変更します。

$ cd atmark-dist-<version>/
$ rm linux-2.6.x
$ ln -s <2.6.27のDIR> linux-2.6.x

次に、DEFCONFIGの指定を変えます。コンフィグのデフォルト値が入ったファイルの指定を変えています。

atmark-distのコンフィグで、デフォルトのコンフィグを適用する際に、このAndroid用デフォルトコンフィグファイルが使用されます。

$ vi vendors/AtmarkTechno/Armadillo-500-FX.dev/tools/config-linux.conf
-DEFCONFIG_2_6=arch/arm/configs/armadillo500fx_dev_defconfig
+DEFCONFIG_2_6=arch/arm/configs/armadillo500fx_dev_android_defconfig

以降は「FX液晶モデル – ソフトウェアマニュアル」の「5.1.2. コンフィグレーション」にしたがってコンフィグ設定をします。

マニュアルどおりコンフィグが終わったら、追加で変更を加えます。

Androidを使用する場合にはArmadilloのデモアプリが邪魔なので、ビルド対象から外します。

コンフィグを変更する場合は、menuconfigを使用するのが楽です。

$ make menuconfig

まずはatmark-distのコンフィグが表示され、変更対象の選択をします。

「Kernel/Library/Defaults Selection」を選択します。

config01_5

今回はKernelのコンフィグは変更しませんが、参考までに「Customize Kernel Settings」と、「Customize Vendor/User Settings」を選択します。Yキーを押すと*が付き、選択されたことになります。

menuconfig画面02

選択したら、いったんExitでコンフィグ画面を抜けます。

コンフィグ設定を保存するか、と聞かれたらYesを選択してください。

menuconfig画面03

atmark-distのコンフィグが終了し、今度はカーネルのコンフィグが立ち上がります。

画面上の表示で、カーネルのコンフィグをしているのがわかります。

今回は特に変更が無いので、そのままExitしてください。

menuconfig画面04

カーネルのコンフィグが終了し、ファイルシステムのビルドの設定画面になります。

デモアプリをビルド対象から除外します。「Miscellaneous Applications」を選択し、次の画面で「a500-fx-demo」のチェックを外します。Nキーを押すと外れます。

menuconfig画面05

menuconfig画面06

前の画面にもどり、「X Window System」を選択します。

次の画面で、「X.Org KDrive」のチェックを外します。

デモアプリはXウィンドウアプリケーションなのですが、デモを除外したので、Xウィンドウも不要です。

menuconfig画面07

以上で変更は終わりです。Exitして、設定を保存してください。

以降は「5.1.2. コンフィグレーション」に従ってビルドし、イメージファイルを作成します。

作成したイメージファイルの書込方法は、イメージファイルをFTPでArmadilloに転送してからnetflashコマンドでローカルファイルを書き込む、専用の書き込みツールを使う、など、いくつか方法があります。

マニュアルを参照してください。

なお、ユーザーランドにアプリケーションやドライバを追加したい場合は、開発者サイト「 Armadillo-500 FXダウンロード」の「Atmark-dist 開発ガイド」というPDFを参照してください。

タグ:

コメントをどうぞ