kernel-2.6.32について、情報をまとめてあります。このKernelはrowboatプロジェクトのKernelをベースにして、bc10固有のデバイスドライバなどが追加されたものです。bc10のブートプロセスやKernelイメージの配置方法についての情報はbc10/bootingを参照してください。†bc10向けtoolchainを準備します。以下のtoolchainでビルドを確認しています。†OpenEmbeddedのtoolchainを利用するには、あらかじめOpenEmbedded開発環境をインストールしておく必要があります。Linuxを参照してください。toolchainを使用するために、環境変数を以下のように設定します。†gitリポジトリからソースコードを入手します。†bc10向けのブランチに切り替えます。toolchainを使用してクロスビルドします。uImageビルドに成功するとuImage(kernelイメージファイル)が、以下の場所に生成されます。kernelイメージarch/arm/boot/uImageuImageの配置方法についてはbc10/bootingを参照してください。†bc10-rowboat-kernelはデバイスドライバなどのほとんどを組み込みに設定しており、modulesの配置をおこなわなくても基本的には問題ありません。bc10でAndroidを起動する場合はmodulesの使用を前提としていないため、以下の作業は必要ありません。OpenEmbeddedを起動する場合は、modulesがインストールされていない場合には警告が出るため、念のためインストールしておいてもよいでしょう。modulesは以下のようにビルドします。modules続いて、modulesをインストールします。ここでは後で自由に配置できるように、カレントディレクトリにmodworkというディレクトリを新規作成し、そこにインストールします。インストール先が決まっている場合は、INSTALL_MOD_PATHの値をインストールパスに置き換えてください。kernelrelease`これで./modwork以下にmodulesがインストールされました。機能の追加や修正などでソースコードが更新された場合は、更新分のみを取得するだけでかまいません。pullソースコードをアップデートした後は、リビルドしてuImageなどを置き換えてください。†2010/12/22bc10-rowboat-kernelのソースコードはGitoriousで管理しています。†bc10-rowboat-kernelリポジトリには、多数のブランチがあります。その中でもbc10向けのブランチとして、以下の3つがあります。(bc10向けビルド用ブランチ)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ブランチは使用しないでください。kernelリポジトリをcloneし、bc10向けに改造されたものです。†Kernelの起動時に設定可能なオプションについて説明します。Kernelにオプションを渡す方法としては、U-Bootの環境変数bootargsに指定する方法が一般的です。詳細はbc10/u-bootを参照してください。出力するディスプレイを選択することができます。bc10では、以下の2つが選択可能です。例)AMOLED出力を選択omapdss.def_disp=lcdこのオプションの詳細についてはKernelソースツリーのDocumentation/arm/OMAP/DSSを参照してください。†ディスプレイの解像度を設定することができます。設定はディスプレイごとに可能ですが、bc10に搭載されているAMOLEDの解像度は480x272で固定になっています。したがって、実際にはDVI出力向けのオプションとなっています。例)DVI出力の解像度を1024x768の24bitカラー、リフレッシュレート60Hzに設定omapfb.mode=dvi:1024x768MR-24@60このオプションの詳細についてはKernelソースツリーのDocumentation/arm/OMAP/DSSを参照してください。