入門
~カスタマイズした組込み Linux
を作ってみよう~

Introduction to Yocto Project
Let's make customized embedded Linux

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.
2013/10/19

OSC2013 Tokyo/Fall

1
自己紹介

Who

●

くまだす(Hiroshi Sakate)

●

自称 組込みやさん

●

所属

Embedded Engineer

Groups

–

Yocto Project Japan

–
●

Kumadasu

日本Androidの会 神戸支部

ペットとお菓子 

Japan Android Group Kobe

animal companions and sweets

* Raspberry Pi is a trademark of the Raspberry Pi Foundation. http://raspberrypi.org/
2013/10/19

OSC2013 Tokyo/Fall

2
書籍紹介

Book

HTML5とJavaScriptによる
iPhone/Android両対応
アプリ開発ガイド
電子書籍もあるよ
Yocto Project と
 関係無いですが
2013/10/19

OSC2013 Tokyo/Fall

3
  とは
●

What is

組込み向けカスタマイズLinuxシステムを
作るためのOSSプロジェクト
Open-source project to help
–
–

developers create custom
embedded Linux-based system

テンプレート

Template
Tools, etc...

ツールなど

●

第3のモバイルOSではない

●

OSでもディストリビューションでもない

●

かっこいい

2013/10/19

Not the 3rd mobile OS
Not the OS, not the destribution

Cool

OSC2013 Tokyo/Fall

4
Yocto の意味

Meaning of yocto

涅槃寂静 = 10

-24
Ceptillionth

deci, centi, milli, micro, nano,

pico, femto, atto, zepto, yocto

2013/10/19

OSC2013 Tokyo/Fall

5
ロゴに込められた意味
Behind the trademark

Simplicity and elegance
The blue dot symbolizes the
smallest unit mesure, which
reflects the size of footprint and
resources in the embedded market.
From Brand Guidelines June2012

●

シンプルでエレガント

●

青い点は最小単位(yocto)を表現
●

フットプリントサイズやリソースを象徴

2013/10/19

OSC2013 Tokyo/Fall

6
紹介動画1
Introducing video

●

http://vimeo.com/24743626

●

組込みLinuxの苦しいところ

●

問題を解決へ

2013/10/19

OSC2013 Tokyo/Fall

What sucks in embedded Linux
Solving the problem

7
紹介動画2
Introducing video

●

●

Yocto Project Workflow
http://vimeo.com/55050773
Yocto Project のざっくりした仕組み
Functional overview

2013/10/19

OSC2013 Tokyo/Fall

8
ボード紹介
●

RaspberryPi

●

BeagleBoard

●

MinnowBoard

●

Galileo

●

Compatible boards

Etc...

2013/10/19

OSC2013 Tokyo/Fall

9
開発環境
●

Development environment

Linux
–

Ubuntu, Fedora, OpenSUSE, CentOS, Debian
Least 50GB
Recommend 100GB

●

ストレージ:最低50GB、推奨100GB以上

●

Yocto Project version 1.5 (Galileoのみ?)
–

Windows

–

Mac OSX

–

https://www.linux.com/news/featured-blogs/200-libby-clar
k/743351-yocto-project-adds-mac-and-windows-cross-compil
er-for-intels-linux-based-galileo-board

–
2013/10/19

OSC2013 Tokyo/Fall

10
企業のYocto対応

Companies which releses Yocto
related board, software

●

Intel

●

Wind River

●

Mentor Graphics

●

Enea

●

Altera

●

Etc...

2013/10/19

OSC2013 Tokyo/Fall

11
LTSI
●

Long Term Support Institute

●

組込み製品で扱いやすいように長期サポート

●

Yocto Project は LTSI を採用

●

次期 LTS Kernel 3.10 は 2014年2月頃リ
リース
Longterm support is useful for embedded system.
Yocto Project uses LTSI kernel.
Nest LTS 3.10 will release on 2014 Feb.

2013/10/19

OSC2013 Tokyo/Fall

12
ワークフロー

Workflow

a

2013/10/19

OSC2013 Tokyo/Fall

13
ツール群
●

Tools

BitBake:タスク実行、スケジューラ

Task execution, scheduler

●

Metadata:タスク定義

2013/10/19

OSC2013 Tokyo/Fall

Task definition

14
使い方紹介
●

ビルド環境:Ubuntu

●

example

Build env: Ubuntu
Target: Raspberry Pi

ターゲット:Raspberry Pi

●

今回の手順はこちらのもの This example is equal to below URL.
http://www.cnx-software.com/2013/0
7/05/12mb-minimal-image-for-raspbe
rry-pi-using-the-yocto-project/

2013/10/19

OSC2013 Tokyo/Fall

15
使い方(準備)
●

How to use (preperation)

パッケージのインストール(Ubuntuの場合)

Install packages

●

$ sudo apt-get install gawk wget
git-core diffstat unzip texinfo
build-essential chrpath libsdl1.2-dev
xterm

2013/10/19

OSC2013 Tokyo/Fall

16
使い方(ダウンロード)
●

How to use
(Download)

YoctoProject のダウンロード
Download Yocto Project

–
–

cd yocto

–
●

mkdir yocto

git clone -b dylan git://git.yoctoproject.org/poky.git

RaspberryPi 用メタレイヤーのダウンロード

Download
RaspberryPi meta layer

–

cd poky

–

git clone -b dylan
git://git.yoctoproject.org/meta-raspberrypi

2013/10/19

OSC2013 Tokyo/Fall

17
使い方(ビルド準備)

How to use
(Build preparation)

●

環境設定
–

●

Environment setting

. oe-init-build-env build

conf/local.conf を編集
–

BB_NUMBER_THREADS = "9"

–

PARALLEL_MAKE = "-j 9"

–

MACHINE ?= "raspberrypi"

–

Edit

GPU_MEM = "16"

2013/10/19

OSC2013 Tokyo/Fall

コア数×2 + 1

18
使い方(ビルド準備)
●

meta-raspberrypiを追加

●

conf/bblayers.conf

How to use
Build preparation

–

Add meta-raspberrypi

BBLAYERS ?= " 

–

/home/kumadasu/es/yocto/poky-rpi/meta 

–

/home/kumadasu/es/yocto/poky-rpi/meta-yocto 

–

/home/kumadasu/es/yocto/poky-rpi/meta-yocto-bsp 

–

/home/kumadasu/es/yocto/poky-rpi/meta-raspberrypi 

–

"

2013/10/19

OSC2013 Tokyo/Fall

19
使い方(ビルド・書込み)

How to use
Build and write

●

●

bitbake rpi-basic-image
sudo dd.sh
if=tmp/deploy/images/rpi-basic-image-raspbe
rrypi.rpi-sdimg of=/dev/sdb bs=1M

2013/10/19

OSC2013 Tokyo/Fall

20
Hob
●

●

フロントエンド
レシピを簡単にいじれる

2013/10/19

OSC2013 Tokyo/Fall

Frontend
Easy to modify recipe

21
コミュニティ紹介
●

Community

Google+ メイン(オンラインで情報共有)

Online information sharing

https://plus.google.com/u/0/commun
ities/104589130307728717400

●

MinnowBoardJapan もよろしく

Refer Minnow too.

https://plus.google.com/u/0/commun
ities/102601323012769759697
2013/10/19

OSC2013 Tokyo/Fall

22

Introduction to Yocto Project - Let's make customized embedded linux