Upload
shimadah
View
178
Download
3
Embed Size (px)
Citation preview
opencocon の作り方
SHIMADA Hirofumi,@shimadah
opencoconとは
● 旧型PCをシンクライアントとして活用するためのLinuxディストリ
● 俺アップストリーム● 流行りに左右されない
Matchbox + TUI メニュー
それでいて色々できる
● シンクライアント:X, VNC, RDP, SPICE● Webブラウザ:midori● VPNクライアント:SSH (Port Forwarding),
SoftEther ほか
● NTPクライアント、音量調節、タッチパッド調整など
古いPC向けのカスタマイズ
● 最低メモリ:64MB (HDD起動:32MB)● 初代Pentium以降
● 新旧さまざまなPCに(局所的に)対応
– PC/ATは多種多様な機種があるため、フォーカスする機種を定めて対応
ここんの作り方
● 通常のディストリ作成親ディストリ(Debian, Ubuntu, openSUSE, Fedoraなど)からカスタマイズ(時にはコンパイル) -> 収録
● ここん流ディストリ作成
組み込みLinux用ビルドフレームワーク OpenEmbedded を使い、すべてをコンパイル
利点欠点
● 利点
既存のディストリに縛られない軽薄短小が実現可能
ほぼフルカスタマイズし、かつ安定的なイメージのリリースが可能
● 欠点
既存のディストリのノウハウが反映されていないことが多く、細かい問題が起きやすい
他のディストリにあるパッケージがないことが多い
コンパイルにすごく時間がかかり、かつ容量を食う
OpenEmbedded
● 組み込みLinux用のビルドフレームワーク● ディストリ作成・クロスコンパイルの簡略化● 様々なアーキテクチャ、マシン等に適用可能● 最近は Yocto Project と連携し、Linux の世界では
割とスタンダードなビルドフレームワークを目指している
● 開発が活発
イメージを作るのは簡単
● QEMU で動く最低限のディスクイメージはすぐ作ることができる
http://www.openembedded.org/wiki/OE-Core_Standalone_Setup
引用すると
● gitツリーからダウンロード
git clone git://git.openembedded.org/openembedded-core oe-core
cd oe-core
git clone git://git.openembedded.org/bitbake bitbake
git checkout dizzy
cd bitbake
git checkout 1.24
cd ..● 環境変数の設定
source ./oe-init-build-env [<build directory>]● ビルド
bitbake core-image-minimal
その先が大変
● 大きなデスクトップ環境をコンパイルする– Xfce, GNOME, Qtなど
● タブレット系環境をコンパイルする– Android, WebOS, Tizen など...
● 新しい機種を作る● 新しいパッケージを作る● 新しいイメージを作る
OpenEmbeddedのレイヤー構造
http://www.aosabook.org/en/yocto.html
基本的には
● すでにあるレイヤーから使えそうなものを拾うlayer indexhttp://layers.openembedded.org/layerindex/branch/master/layers/
● なければ作る
パッケージやイメージ:bitbake で読み込める recipe ファイル (.bb) を作る
基本的には (cont.)
機種は conf/machineに置く● 新しいマシンを定義すると、それ用にコンパイルオプションや
機種固有ツール(bootloaderやDaemonなど)を設定できる– 僕もまだトライアンドエラー
● すでに作ってあることもある。その場合は割と楽 (raspberrypi 等)
● ここんが作成しているmachine : cocon486, coconppc, ac100
ディストリは conf/distro 以下に設定ファイルを置く
opencoconの場合
openembedded-core, meta-openembedded
meta-raspberrypi
meta-coconport/cocon486
meta-coconport/raspberrypi
meta-cocon
opencoconでメンテナンス
詳しく...といいたいところですが
説明が長くなるのでかわりに実演
まとめ
● OpenEmbedded は慣れが必要だが便利
● opencocon よろしくおねがいします