[[bc10]]

- 目次
#contents

* 概要 [#z4413957]
2010/12/22~

bc10向けLinux kernel-2.6.32について、情報をまとめてあります。~
このKernelはrowboatプロジェクトのKernelをベースにして、bc10固有のデバイスドライバなどが追加されたものです。~
bc10のブートプロセスやKernelイメージの配置方法についての情報は[[bc10/booting]]を参照してください。~

* kernel-2.6.32のビルド [#z3fd7efe]
2010/12/22~

** 開発環境 [#l98ad04e]
bc10向けtoolchainを準備します。~
以下のtoolchainでビルドを確認しています。~
- [[OpenEmbedded Linux toolchain>bc10/OpenEmbedded Linux]](arm-angstrom-linux-gnueabi-)
-- BeagleBoard向け開発環境として使われているOpenEmbedded Linuxのtoolchain

** 環境変数の設定 [#j9b1f167]

*** OpenEmbedded toolchain [#wa7848ac]
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-

** ソースコードの入手 [#o591f200]
gitリポジトリからソースコードを入手します。~
 git clone git://gitorious.org/~bc-dev/rowboat/bc10-rowboat-kernel.git bc10-rowboat-kernel

** ブランチの切り替え [#b73eb409]
bc10向けのブランチに切り替えます。
 cd bc10-rowboat-kernel/
 git checkout -t -b bc10-2.6.32 origin/bc10-2.6.32

** ビルド [#n082577c]
OpenEmbedded toolchainを使用してクロスビルドします。~
 make omap3_bc10_defconfig
 make uImage
ビルドに成功すると''uImage''(kernelイメージファイル)が、以下の場所に生成されます。~

- kernelイメージ
-- arch/arm/boot/uImage

uImageの配置方法については[[bc10/booting]]を参照してください。~

*** modulesについて [#d36e3f1f]
bc10-rowboat-kernelはデバイスドライバなどのほとんどを組み込みに設定しており、modulesの配置をおこなわなくても基本的には問題ありません。~
特に、bc10でAndroidを起動する場合はmodulesの使用を前提としていないため、以下の作業は必要ありません。~
OpenEmbeddedを起動する場合は、modulesがインストールされていない場合には警告が出るため、念のためインストールしておいてもよいでしょう。~
~
Kernel modulesは以下のようにビルドします。~
 make modules
続いて、modulesをインストールします。~
ここでは後で自由に配置できるように、カレントディレクトリにmodworkというディレクトリを新規作成し、そこにインストールします。~
インストール先が決まっている場合は、INSTALL_MOD_PATHの値をインストールパスに置き換えてください。~
 make DEPMOD=echo INSTALL_MOD_PATH=modwork modules_install
 arm-angstrom-linux-gnueabi-depmod-2.6 -A -b ./modwork/ -F ./System.map `make kernelrelease`
これで./modwork以下にmodulesがインストールされました。~
以下のように圧縮しておくと、Targetのuserlandで展開するなど、作業時に扱いやすくなります~
 tar czvf modules.tgz -C ./modwork/ lib

** ソースコードのアップデート [#w9056444]
機能の追加や修正などでソースコードが更新された場合は、更新分のみを取得するだけでかまいません。~
 cd bc10-rowboat-kernel/
 git checkout bc10-2.6.32
 git pull
ソースコードをアップデートした後は、リビルドしてuImageなどを置き換えてください。~

* ソースコードリポジトリについて [#oa8705d8]
2010/12/22~

bc10-rowboat-kernelのソースコードはGitoriousで管理しています。~

- プロジェクトページ
-- http://gitorious.org/~bc-dev/rowboat/bc10-rowboat-kernel
- リポジトリ
-- git://gitorious.org/~bc-dev/rowboat/bc10-rowboat-kernel.git

** ブランチ [#ycbe143d]
bc10-rowboat-kernelリポジトリには、多数のブランチがあります。~
その中でもbc10向けのブランチとして、以下の3つがあります。

- bc10-2.6.32
-- bc10向けリリースブランチ
- bc10-2.6.32-develop
-- bc10向け開発ブランチ
- bc10-2.6.32-build
-- *削除予定* (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ブランチは使用しないでください。~
この問題の詳細については、カーネルソースに含まれる Documentation/arm/README を参照してください。~

** 派生元 [#b69d0851]
bc10-rowboat-kernelのソースコードは、rowboat kernelリポジトリをcloneし、bc10向けに改造されたものです。~

- rowboat kernel
-- http://gitorious.org/rowboat/kernel
- リポジトリ
-- git://gitorious.org/rowboat/kernel.git
- ブランチ
-- rowboat-eclair-2.6.32

* 詳細解説 [#b0b95087]
2010/12/22~

** Kernelの起動時オプション [#b121fbd9]
Kernelの起動時に設定可能なオプションについて説明します。~
Kernelにオプションを渡す方法としては、U-Bootの環境変数bootargsに指定する方法が一般的です。~
詳細は[[bc10/u-boot]]を参照してください。~

*** omapdss.def_disp [#g255d597]
出力するディスプレイを選択することができます。~
bc10では、以下の2つが選択可能です。~

- lcd
-- AMOLED(有機ELディスプレイ)出力
- dvi
-- DVI出力

例)AMOLED出力を選択~
 omapdss.def_disp=lcd
このオプションの詳細についてはKernelソースツリーのDocumentation/arm/OMAP/DSSを参照してください。~

*** omapfb.mode [#qa7f0b5d]
ディスプレイの解像度を設定することができます。~
設定はディスプレイごとに可能ですが、bc10に搭載されているAMOLEDの解像度は480x272で固定になっています。~
したがって、実際にはDVI出力向けのオプションとなっています。~
~
例)DVI出力の解像度を1024x768の24bitカラー、リフレッシュレート60Hzに設定~
 omapfb.mode=dvi:1024x768MR-24@60
このオプションの詳細についてはKernelソースツリーのDocumentation/arm/OMAP/DSSを参照してください。~



BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS