本章では、Linuxカーネルの仕様について説明します。Linuxカーネルのソースアーカイブ linux-2.6.35-a800eva-[version].tar.gz は Armadilloサイト(http://armadillo.atmark-techno.com)または、付属DVD-ROMから取得可能です。
工場出荷状態の内蔵ストレージにインストールされているLinuxカーネルにはデフォルトコンフィギュレーションが適用されています。Armadillo-800 EVA用のデフォルトコンフィギュレーションが記載されているファイルは、Linux カーネルソースファイルに含まれるarch/arm/configs/armadillo800eva_android_defconfig
です。
Armadillo-800 EVAでは、Linux カーネルが格納されているブートデバイスは OS ごとに異なりますが、Linux カーネルは同じものを使用しています。そのため、デフォルトコンフィギュレーションは、工場出荷状態の内蔵ストレージにインストールされている全てのOS で動作するように共通化されています。
表17.1 OSとデフォルトコンフィギュレーション
OS | ブートデバイス | コンフィギュレーション |
---|
Debian GNU/Linux | mmcblk0p2 | armadillo800eva_android_defconfig |
Android | mmcblk0p4 |
Armadillo-800 EVAでは、Android向け機能を一部のみ追加したカーネルをDebian GNU/Linux と Android 両方で使用しているため、PC 上で動作する Debian GNU/Linux や、スマートフォンやタブレット機器上で動作する Android とは、一部機能の動作が異なる場合があります。
Android機能は、カーネルのコンフィギュレーションで、その有効/無効を選択できます。主要なAndroid機能の一覧と、デフォルトコンフィギュレーションでの状態を表17.2「Android機能の主要コンフィギュレーション」に示します。
表17.2 Android機能の主要コンフィギュレーション
コンフィギュレーション | デフォルト | 機能 |
---|
ANDROID_BINDER_IPC | 有効 | Android用プロセス間通信 |
ASHMEM | 有効 | 無名共有メモリ(Anonymous Shared Memory) |
ANDROID_PMEM | 有効 | Android用プロセスメモリアロケーター |
UID_STAT | 有効 | /proc/uid_stat/ サポート |
ANDROID_LOGGER | 有効 | Android用ロガー |
WAKELOCK | 有効 | 拡張パワーマネジメント(Wake lock) |
WAKELOCK_STAT | 有効 | /proc/wakelocks サポート |
USER_WAKELOCK | 有効 | ユーザー空間でのサスペンド防止 |
EARLYSUSPEND | 有効 | 拡張パワーマネジメント(Early suspend) |
ANDROID_LOW_MEMORY_KILLER | 有効 | Android用OOM(Out Of Memory)ハンドリング |
RTC_INTF_ALARM | 有効 | Android用アラーム |
ANDROID_TIMED_OUTPUT | 有効 | Android用タイマー出力 |
ANDROID_TIMED_GPIO | 無効 | Android用GPIOタイマー出力 |
ANDROID_PARANOID_NETWORK | 無効 | Android用ネットワーク保護 |
ANDROID_RAM_CONSOLE | 無効 | Android用コンソールRAMバッファ |
Armadillo-800 EVAを制御するLinuxドライバーのソースコードのパスや制御可能なデバイスを示します。
- ボード固有設定
- ソースコード
arch/arm/mach-shmobile/board-armadillo800eva.c
- タイマードライバー
- ソースコード
arch/arm/mach-shmobile/sh_cmt.c
- 割り込みコントローラードライバー
- ソースコード
arch/arm/mach-shmobile/intc-sh7740.c
- PWMドライバー
- ソースコード
arch/arm/mach-shmobile/tpu-pwm.c
- UARTドライバー
- ソースコード
drivers/serial/sh-sci.c
- デバイスファイル
/dev/ttySC1 (CON22)
- Ethernetドライバー
- ソースコード
drivers/net/sh_eth.c
- MMCホストドライバー
- ソースコード
drivers/mmc/host/sh_mmcif.c
- SDホストドライバー
- ソースコード
drivers/mmc/host/sh_mobile_sdhi.c
- デバイス
/dev/mmcblk1
/dev/mmcblk2
- USBホストドライバー
- ソースコード
drivers/usb/host/ehci-rmobile.c
drivers/usb/host/ohci-rmobile.c
- USBファンクションドライバー
- ソースコード
drivers/usb/gadget/r8a66597-udc.c
- フレームバッファドライバー
- ソースコード
drivers/video/rmobile_lcdcfb.c
- デバイス
/dev/fb0 (CON17)
/dev/fb1 (CON3 or CON14)
- キャプチャーインターフェースドライバー
- ソースコード
drivers/media/video/sh_mobile_ceu_camera.c
- カメラドライバー
- ソースコード
drivers/media/video/mt9t112.c
- リアルタイムクロックドライバー
- ソースコード
drivers/rtc/rtc-s35390a.c
- タッチスクリーンドライバー
- ソースコード
drivers/input/touchscreen/st1232.c
- ボタンスイッチキードライバー
- ソースコード
drivers/input/keyboard/gpio_keys.c
- LCDバックライトドライバー
- ソースコード
drivers/video/backlight/pwm_bl.c
- デバイス
/sys/class/backlight/pwm-backlight.0
- LEDドライバー
- ソースコード
drivers/leds/leds-gpio.c
- デバイス
/sys/class/leds/LED3 (LED3)
/sys/class/leds/LED4 (LED4)
/sys/class/leds/LED5 (LED5)
/sys/class/leds/LED6 (LED6)
- オーディオドライバー
- ソースコード
sound/soc/sh/fsi-wm8978.c
sound/soc/sh/fsi-hdmi.c
sound/soc/sh/fsi.c
sound/soc/codecs/wm8978.c
- デバイス
hw:0 (CON10/11/12/13)
hw:1 (CON3)