2010/12/22
bc10向けLinux kernel-2.6.32について、情報をまとめてあります。
このKernelはrowboatプロジェクトのKernelをベースにして、bc10固有のデバイスドライバなどが追加されたものです。
bc10のブートプロセスやKernelイメージの配置方法についての情報はbc10/bootingを参照してください。
2010/12/22
bc10向けtoolchainを準備します。
以下のtoolchainでビルドを確認しています。
OpenEmbeddedのtoolchainを利用するには、あらかじめOpenEmbedded開発環境をインストールしておく必要があります。
OpenEmbedded開発環境のインストールについては、bc10/OpenEmbedded Linuxを参照してください。
toolchainを使用するために、環境変数を以下のように設定します。
export PATH=${WORK_DIR}/OE/angstrom-dev/cross/armv7a/bin:${PATH} export ARCH=arm export CROSS_COMPILE=arm-angstrom-linux-gnueabi-
gitリポジトリからソースコードを入手します。
git clone git://gitorious.org/~bc-dev/rowboat/bc10-rowboat-kernel.git bc10-rowboat-kernel
bc10向けのブランチに切り替えます。
cd bc10-rowboat-kernel/ git checkout -t -b bc10-2.6.32 origin/bc10-2.6.32
OpenEmbedded toolchainを使用してクロスビルドします。
make omap3_bc10_defconfig make uImage make modules
ビルドに成功するとuImage(kernelイメージファイル)とモジュールファイルが、それぞれ以下の場所に生成されます。
機能の追加や修正などでソースコードが更新された場合は、更新分のみを取得するだけでかまいません。
cd bc10-rowboat-kernel/ git checkout bc10-2.6.32 git pull
ソースコードをアップデートした後は、リビルドしてuImageなどを置き換えてください。
2010/12/22
bc10-rowboat-kernelのソースコードはGitoriousで管理しています。
bc10-rowboat-kernelリポジトリには、多数のブランチがあります。
その中でもbc10向けのブランチとして、以下の3つがあります。
bc10で動作するuImageをビルドするには、bc10-2.6.32ブランチを使用してください。
bc10-2.6.32-developブランチは機能追加時の試験などのために利用されています。
常に最新の実装がなされていますが、うまく動作しない場合もあるので、通常はbc10-2.6.32ブランチを使用してください。
bc10-2.6.32-buildブランチはbc10のMACH_TYPE番号が公式に追加されるまで、一時的なビルド用ブランチとして存在していました。
現在は公式にbc10のMACH_TYPEがサポートされたので、bc10-2.6.32-buildブランチの更新は停止しています。
将来、削除される可能性がありますので、bc10-2.6.32-buildブランチは使用しないでください。
この問題の詳細については、カーネルソースに含まれる Documentation/arm/README を参照してください。
bc10-rowboat-kernelのソースコードは、rowboat kernelリポジトリをcloneし、bc10向けに改造されたものです。
2010/12/22
Kernelの起動時に設定可能なオプションについて説明します。