2011年11月09日

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

ELCE2011(Embedded Linux Conference Europe 2011)のセッションの発表資料が公開されています。

ELCE 2011 Presentations

私が聴いたものをひとことずつ紹介します。



"Linaro's Android Platform" Zach Pfeffer (Linaro)

Linaroは最新のツールチェイン、最新のカーネルをARM向けにエンハンスすることに取り組んでいる。Androidもコンパイラの最適化を最大限発揮するために、コンパイルオプションを変更してビルドしている。またそのためにソースに変更が必要になるところは修正している。具体的なコンパイルオプションや変更箇所を再度確認したいが、残念ながら発表資料は上がっていない。

"Contributing to the Community? Does your manager support you? " Satoru Ueda (Sony/Japan OSS Promotion Forum)

オープンソースコミュニティにcontributeすることに理解のない上司(stone headded manager)をどう説得するかという話。

"Status of Embedded Linux BoFs " Tim Bird (Sony)

CELFのテクニカルジャンボリでもおなじみのTim Bird氏のセッション。最近のLinuxカーネルのリリースでembeddedの視点で重要な変更点がわかる。また、Linux FoundationのCE Working Groupの活動も紹介されている。

"Android Development with the Snapdragon Processor " Tia Cassett (Qualcomm) & Mike Chalupa (BSquare)

DragonBoardはSnapdragon APQ8060の載った低価格な評価ボード。BSquareが販売、サポートする。Androidのソースコードはcodeaurora.org からダウンロードできる。

"Android Platform Optimizations " Ruud Derwig (Synopsys)

Androidの最適化の要点。JITの説明。サウンドやグラフィックスはソフトウェアでやらずにSoCに載っているアクセラレータを活用する。

Synopsys社のARCプロセッサはカスタマイズした命令を追加できる。ABGR8888のピクセルデータをRGB565に変換するためにはビットシフト、AND, ORを組み合わせて数命令必要だが、カスタマイズした命令でこれを一発で行う例。

"Toward the Long Term Stable Kernel Tree for The Embedded Industry " Tsugikazu Shibata (NEC & Linux Foundation Board Member)

LTSI Overview

"ARM Linux Kernel Alignment & Benefits for Snowball " Andrea Gallo (ST-Ericsson)

Linuxカーネルでarch/arm以下のソースコードは各種のボードに対応するコードがたくさん入っていて、ずっと増加傾向にあった。その中には重複しているコードも多い。Linaroではそのコードの整理の着手した。その成果がでて、2.6.39以降 arch/armのコードの量が減少した。

各/mach-* や /plat-* にあったspiやdmaのドライバを/drivers/spi と /driver/dma にまとめた。

ST-Ericssonの評価ボード(Snowball board)の紹介。

www.igloocommunity.orgコミュニティサイト

"Integrating Systemd: Booting Userspace in Less Than 1 Second " Koen Kooi (The Angstrom Distribution)

Beagleボードでのブートで一番時間がかかっているのはユーザースペースのシステムの部分の起動時間。この部分を120秒から1秒に短縮した。

systemdは従来のsysvinitに代わるもの。新規設計で並列実行に重点を置いている。shellスクリプトを使わない。

acceptシステムコールのタイムアウト時間が長い -> 2.6.36で追加されたaccept4を使用する。バックポートした。

不要なudevのルールを削除した。速いSDカードに代えた。ログを削除した。

これで1秒まで短縮した。実際にデモ。確かにカーネルログの一秒後にログインプロンプトが出た。

"Tuning Linux For Embedded Systems: When Less Is More " Darren Hart (Intel)

Yocto projectのツールを使って、最小構成のLinuxシステムを作る。

今回の目標は、

  • カーネルとルートファイルシステム合計で4MB以下。
  • 8MB以下のRAMで起動する。
  • shellの起動まで2秒以内。
  • ipv4の機能は保持する。
  • initial RAM diskは使用しない。
  • この実験はqemux86で行う。

ルートファイルシステムを絞り込む。devtmpfsとmdevを使用する。シリアルポートがあるのでVGAディスプレイは使用しない。udevとv86dを削除。

カーネルコンフィグを絞り込む。ブートに必要なものとシリアルコンソールとネットワーク以外は削除。vt, ext3, fb, floppy, usb, vga, intel-hdaなど削除。ローダブルモジュールは使用しない。

Busyboxからvtのサービスを削除。ipv6と全てのLinuxモジュールのユーティリティを削除。

ルートファイルシステムでtinylogin, modutils-initscripts, netbaseを削除。

glibcからuclibcに変更。

これでばかみたいに小さくなった。カーネルとrootfsの合計サイズ1.6MB。shellまでの起動時間1.28秒。



トラックバックURL

コメントする

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

QRコード
QRコード