Introduce Toaster (Toasterのご紹介)
-
Upload
hiroshi-sakate -
Category
Software
-
view
127 -
download
0
Transcript of Introduce Toaster (Toasterのご紹介)
2017/4/8 Yocto Project Japan Study Meeting #3 1
Toasterのご紹介
Introduce Toaster
Yocto Project and all related marks and logos are registered trademarks of The Linux Foundation. This slide is not, in any way, endorsed by the Yocto Project or The Linux Foundation.
2017/4/8 Yocto Project Japan Study Meeting #3 2
自己紹介
● くまだす(Hiroshi Sakate)● 自称 組込みやさん● 所属
– Yocto Project Japan
– 日本Androidの会 神戸支部● 最近
– 四元数を使ったジェスチャ認識– Courseraの機械学習コース受講中
Kumadasu
Embedded Engineer
Japan Android Group Kobe
Groups
Who
Recent interest
Gesture recognition using quarternion
Taking Machine learning course on Coursera
2017/4/8 Yocto Project Japan Study Meeting #3 3
説明する内容
● Toasterとはなにか● Toasterの動かし方
– 手動– Docker
● LayerIndex● CROPS
Contents
What is Toaster
How to Toaster
By hand
By docker
2017/4/8 Yocto Project Japan Study Meeting #3 4
Toaster概要
● ビルドシステムのWebインタフェース● ビルドの設定と実行
– layerおよびimage, recipe, machineの検索・追加・削除
– Configuration variableの設定– ビルド実行
● ビルドプロセスの情報– エラー・警告、ビルド時のパフォーマンス等
What is Toaster
Web interface of build system
Configure and run build
Search, add and delete layer, image, recipe and machine
Configure 'configuration variable'
Run build
Information of build process
Error/Warning and performance during build
2017/4/8 Yocto Project Japan Study Meeting #3 5http://www.yoctoproject.org/docs/2.2.1/ref-manual/ref-manual.html
Toaster
検索
作成
実行・記録 Run/Record
Create
Search
2017/4/8 Yocto Project Japan Study Meeting #3 6
HobからToasterへ
● Hob– bitbakeのGUI
– Poky 2.1以降で削除済● Hobの教訓を活かしてToasterが開発された
From Hob to Toaster
GUI for bitbake
Removed from Poky 2.1
Learn many from Hob and applied the lessons
to Toaster
2017/4/8 Yocto Project Japan Study Meeting #3 7
導入方法(とりあえず版)● とりあえず動かすだけなら簡単
– $ sudo apt-get install python3-pip– $ git clone git://git.yoctoproject.org/poky– $ cd poky– $ git checkout morty– $ pip3 install --user -r bitbake/toaster-
requirements.txt– $ source oe-init-build-env– $ source toaster start– http://127.0.0.1:8000
How to run ToasterIn easy way
2017/4/8 Yocto Project Japan Study Meeting #3 8
まじめに導入すると面倒
● Django(PythonのWebフレームワーク), Apache, mysqlのインストール、ユーザ追加、DB作成・・・– 面倒だし、環境をあまり汚したくない
● Dockerでできないの?→あります
Running Toaster seriously requires long steps.
Install Django, Apache, mysql, adding user and create DB, etc.
It's annoying and want to keep environment clean.
Are there Docker way? Yes.
2017/4/8 Yocto Project Japan Study Meeting #3 9
Toaster Container
● https://github.com/crops/toaster-container
● dockerイメージが公開されているのですぐにToasterを動かせる
● $ mkdir -p /home/sakate/toasterstuf● $ docker run -it --rm -p 127.0.0.1:18000:8000
-v /home/sakate/prj/toasterstuf:/workdir crops/toaster
● イメージの更新(必要な場合)– $ docker pull crops/toaster
There is docker image, so be able to run Toaster in a few steps
Update image (if required)
2017/4/8 Yocto Project Japan Study Meeting #3 10
ブラウザで表示– http://localhost:18000
Showing Toaster on browser
2017/4/8 Yocto Project Japan Study Meeting #3 11
/workdir = toasterstuf
● コンテナ内の/workdirがホスト環境のtoasterstufに対応する
● 中身– プロジェクトごとに
build-toaster-2,3が増える
sakate@walle:~/prj$ tree toasterstuftoasterstuf└── build ├── conf │ ├── bblayers.conf │ ├── local.conf │ └── templateconf.cfg ├── toaster.sqlite └── toaster_web.log
2 directories, 5 files
$ docker run -it --rm -p 127.0.0.1:18000:8000 -v /home/sakate/prj/toasterstuff:/workdir crops/toaster
/workdir in container is toasterstuf in host environment
Build-toaster-2,3 is added by each project
2017/4/8 Yocto Project Japan Study Meeting #3 12
Layer index
● カスタムレイヤーの情報を集めたWebアプリケーション
● e.g.) Open Embedded Metadata– http://layers.openembedded.org/
● Cloneやbblayers.confを気にしなくてもToasterからレイヤーの情報の閲覧・ビルドが可能。
Web application which collects information of custom layers
No need to consider clone and bblayers.conf for explore and build
layer information from Toaster
2017/4/8 Yocto Project Japan Study Meeting #3 13
Toasterを含めたWorkflow
Improving the Yocto Project Developer Experience, April 2016, Henry Brucehttps://www.yoctoproject.org/sites/default/files/improving_the_yocto_developer_experience.pdf
Workflow and Toaster
2017/4/8 Yocto Project Japan Study Meeting #3 14
CROPS
● CROss PlatformS● Dockerコンテナを活用したクロスプラットフォームの開発フレームワーク
● アプリケーション開発向けには crops/extsdk-container– eSDKをWindows/MacのEclipseから使える
● Toasterについてもコンテナ提供
Cross platform development framework that leverages
Docker containers
For application development
Available eSDK from Eclipse on Windows/Mac
Provide also Toaster by container
2017/4/8 Yocto Project Japan Study Meeting #3 15
まとめ
● ToasterはビルドシステムのWebインタフェース
● Dockerを使うと容易に始められる(まだちゃんと動いていない部分もあるような気がする)
● ワークフローを意識した取り組みが進められている
Toaster is Web interface of build system
Running Toaster is easy by Docker. But it seems some part of it have
not worked correctly yet.
There is activity to make workflow great.