Introduce Toaster (Toasterのご紹介)

15
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.

Transcript of Introduce Toaster (Toasterのご紹介)

Page 1: 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.

Page 2: Introduce Toaster (Toasterのご紹介)

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

Page 3: Introduce Toaster (Toasterのご紹介)

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

Page 4: Introduce Toaster (Toasterのご紹介)

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

Page 5: Introduce Toaster (Toasterのご紹介)

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

Page 6: Introduce Toaster (Toasterのご紹介)

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

Page 7: Introduce Toaster (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

Page 8: Introduce Toaster (Toasterのご紹介)

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.

Page 9: Introduce Toaster (Toasterのご紹介)

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)

Page 10: Introduce Toaster (Toasterのご紹介)

2017/4/8 Yocto Project Japan Study Meeting #3 10

ブラウザで表示– http://localhost:18000

Showing Toaster on browser

Page 11: Introduce Toaster (Toasterのご紹介)

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

Page 12: Introduce Toaster (Toasterのご紹介)

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

Page 13: Introduce Toaster (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

Page 14: Introduce Toaster (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

Page 15: Introduce Toaster (Toasterのご紹介)

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.