2012年02月23日

ABSとELCのセッションをひとことずつ紹介

先日レッドウッドシティで開催されたAndroid Builders SummitとEmbedded Linux Conferenceのセッションのスライドとビデオが公開されています。

私が聴いたセッションをひとことずつ紹介します。(日本から行った人のセッションは次回のテクニカルジャンボリーで聴けることを期待して、なるべく他のものを聴きました。)



Android Builders Summit 2/13 - 2/14

Integrating Projects Using Their Own Build System Into the Android Build System

Botao Sun, Linaro

https://events.linuxfoundation.org/images/stories/pdf/lf_abs12_sun.pdf

Androidに、BuildRootプロジェクトにあるbusyboxをビルドして組み込むときのやり方。

Android Device Porting Walkthrough

Benjamin Zores, Alcatel-Lucent

https://events.linuxfoundation.org/images/stories/pdf/lf_abs12_zores.pdf

多機能のビジネスホンをAndroidベースで開発したときに得たノウハウからのAndroidのポーティングのコツを紹介。幅広くカバーしている。おすすめ。

Headless Android

Karim Yaghmour, Opersys

http://www.cyborgstack.org/sites/default/files/headless-android-120214.pdf

AndroidをGUI無しで使用する実験。

ActivityはGUIと密接に結びついているので使えないが、Serviceは使用可能。amコマンドでServiceを起動する。

WindowManagerとSurfaceFlingerを起動しないようにすることでうまくいった。

Android on eMMC: Optimizing for Performance

Tom Foy, Intrinsyc

https://events.linuxfoundation.org/images/stories/pdf/lf_abs12_foy.pdf

eMMCはシーケンシャルなreadとseekは速いがランダムアクセスのwriteが遅い。キャッシュすることで弱点をカバーできる。

Write性能に注目して、EXT4, BTRFS, NILFS2のファイルシステムを比較。結論としてはEXT4がよい。バッテリーで動く機器は瞬電が無いのでジャーナリングは使用しなくてもそれほど危険ではない。使用するとしてもメモリ上に置くので十分。

Real-Time Android

Wolfgang Mauerer, Siemens

https://events.linuxfoundation.org/images/stories/pdf/lf_abs12_mauerer.pdf

産業機器にAndroidを使うため、LinuxカーネルにRTパッチをあてたものを使う話。

Improve Android System Component Performance

Jim Huang, 0xlab

https://events.linuxfoundation.org/images/stories/pdf/lf_abs12_huang.pdf

グラフィックス、ランタイム、ブートタイムのチューニングの話。おすすめ。

AndroidXRef: Speeding up the Development of Android Internals

Rodrigo Chiossi, Samsung

https://events.linuxfoundation.org/images/stories/pdf/lf_abs12_chiossi.pdf

オンラインで利用できるLinux カーネルのクロスリファレンス lxr.linux.no が非常によいので、Androidのソースも同様にアクセスできるようにした。

http://androidxref.com/source/

OpenGrok を使用している。

Embedded Linux Conference 2/15 - 2/17

What Android and Embedded Linux Can Learn From Each Other

Bernhard Rosenkranzer, Linaro

https://events.linuxfoundation.org/images/stories/pdf/lf_elc12_rosenkranzer.pdf

Androidは通常のLinuxと何が違うかということの話。さらに通常のLinuxにあるパッケージやセルフビルドをどうやったらAndroidに取り込めるかという話。

Binary Blobs Attack

Zach Pfeffer, Linaro

https://events.linuxfoundation.org/images/stories/pdf/lf_elc12_pfeffer.pdf

GPUのデバイスドライバなどバイナリでしか提供されないものがいかに開発を阻害するかということを小芝居を交えてのアピール。

Multiarch and Why You Should Care: Running, Installing and Crossbuilding With Multiple Architectures

Wookey, Linaro

https://events.linuxfoundation.org/images/stories/pdf/lf_elc12_wookey.pdf

Debianで導入されてUbuntuにも入ったmultiarchの話。/usr/lib/libfoo は /usr/lib/x64-linux-gnu/libfoo や /usr/lib/arm-linux-gnueabi/libfoo のようにアーキテクチャを含むディレクトリに置く。これによって複数のアーキテクチャが共存できるようになる。armelとarmhfも共存できる。クロスコンパイルも容易になり、ユーザーモードQEMUを使って実行もできる。

Experiences With Device Tree Support Development For ARM-Based SOC's

Thomas P. Abraham, Samsung Electronics

https://events.linuxfoundation.org/images/stories/pdf/lf_elc12_abraham.pdf

混沌としたARMのカーネルソースを整理するのに不可欠なDevice treeの話。簡単な具体例を示しながら説明しているのでわかりやすい。

Buildroot: A Nice, Simple, and Efficient Embedded Linux Build System

Thomas Petazzoni, Free Electrons

https://events.linuxfoundation.org/images/stories/pdf/lf_elc12_petazzoni.pdf

Buildrootの話。よくまとまっているので、Buildrootを使うなら、その前のこれを見ておきたい。

fakerootコマンドを使ってルートファイルシステムを生成するのでrootで作業する必要は無い。makedevでstaticな/dev/を作っておくこともできる。

Embedded-Appropriate Crash Handling in Linux

Tim Bird, Sony Network Entertainment

https://events.linuxfoundation.org/images/stories/pdf/lf_elc12_bird1.pdf

組み込み機器はCPUもストレージも余裕がないので、デスクトップやサーバ用のクラッシュダンプツールがそのままでは使えない。Androidのdebuggerdをベースにして組み込み機器の製品開発の現場で必要な機能をいれたクラッシュダンプツールを作成中。

http://elinux.org/Crash_handler

ARM Subarchitecture Status

Arnd Bergmann, Linaro

https://events.linuxfoundation.org/images/stories/pdf/lf_elc12_bergmann.pdf

ARMのカーネルソースの現状からこれから。Serverや64bit化やUnified kernel。

Using virtio to Talk With Remote Processors

Ohad Ben-Cohen, Wizery / Texas Instruments

https://events.linuxfoundation.org/images/stories/pdf/lf_elc12_ben-cohen.pdf

SoCには複数の種類のCPUが入っていることが多い。Cortex-A9とCortex-M3など。このような非対称マルチプロセッサのプロセッサ間の通信には共有メモリ等を使うことになるが、ここにlibvirtを利用できる。

LAVA Project Update

Paul Larson, Linaro

https://events.linuxfoundation.org/images/stories/pdf/lf_elc12_larson.pdf

自動テストの話。ARM Ubuntuではターゲット側でテストをコンパイルして実行してレポートするしくみになっている。操作はCUIとWeb UIがある。

Userland Tools and Techniques For Linux Board Bring-Up and Systems Integration

Hunyue Yau, HY Research LLC

https://events.linuxfoundation.org/images/stories/pdf/lf_elc12_yau.pdf

新しいボードにカーネル、デバイスドライバをポーティングするときに、GPIOやI2C, SPIなどをいじることになるが、これをユーザーランド側のツールを使ってつつく話。おすすめ。

Useful USB Gadgets on Linux

Gary Bisson, Adeneo Embedded

https://events.linuxfoundation.org/images/stories/pdf/lf_elc12_bisson.pdf

USB Gadgetsのしくみとデモ。興味深い。

Producing the Beaglebone and Supporting It

Koen Kooi, The Angstrom Distribution

Beagle boardよりもさらに小さいBeagleboneの紹介と活用方法。

Bonescript: Arduino like API, exposes GPIO, I2C, PWM, ADC and more

Pin Control Subsystem Overview

Linus Walleij, ST-Ericsson

https://events.linuxfoundation.org/images/stories/pdf/lf_elc12_walleij.pdf

SoCを使うときに必ず理解が必要なピンコンフィグの話。KZM-A9-Dualにポーティングしたときにはこのあたりをよくわかっていなかったために時間がかかってしまった。

Managing Kernel Modules With kmod

Lucas De Marchi, ProFUSION Embedded Systems

https://events.linuxfoundation.org/images/stories/pdf/lf_elc12_marchi.pdf

insmod, rmmodコマンドの機能をライブラリ化して、fork&execしなくてもこれらの機能を使えるようにする話。systemdなどではすでに利用されている。

全般的な感想

  • Linaroの発表者が多い。実際に作業をしているので実質的な内容で面白い。
  • multiarchやdevice treeなど理解があいまいだったものがクリアになった。
  • 組み込みLinuxでのAndroidの存在の大きさ。2日間のABSはAndroidが主題なのでもちろんのこと、その後のELCでもAndroidの話題が多くでてくる。
  • Googleの不在。スポンサーになっていないだけでなく、Googleの発表者は一人もいない。逆の言い方をすると、組み込み分野のAndroidはGoogleとは無関係に進んでいくようだ。


トラックバックURL

コメントする

名前
URL
 
  絵文字
 
 
記事検索
最新コメント
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード