yocto project 紹介 - サイバートラスト株式会社 › iot › docs ›...

85
Copyright Cybertrust Japan Co., Ltd. All rights reserved. 公開 Yocto Project 紹介 2018/12/11 サイバートラスト株式会社 OSS技術本部 岩松 信洋

Upload: others

Post on 26-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

Yocto Project 紹介

2018/12/11サイバートラスト株式会社

OSS技術本部

岩松 信洋

Page 2: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

アジェンダ

1. OSによる開発の違い

2. Yocto Project について

3. Poky について

4. レイヤー機能について

5. 質疑応答

Page 3: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

OSによる開発の違い

Page 4: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

1. ある OS の場合2. Linux OSの場合

OSによる開発の違い

Page 5: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

ソフトウェア X が動作する環境を考える

● カーネル、GUI、基本ライブラリ等はOSベンダーから提供されたものを利用

● ライブラリA○ ベンダーから購入して組み込み

● ライブラリB○ フリーウェアを組み込み

● ソフトウェアX○ ライブラリAとライブラリBを利用する自社

製ソフトウェア

ある OS の場合

CPU メモリ デバイス

カーネル

アプリケーション

ソフトウェア X

ライブラリ A ライブラリ B

GUI 基本ライブラリ

Page 6: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

ソフトウェア X が動作する環境を考える

● カーネル、ドライバ、基本ライブラリ等はLinux ディストリビューターから頒布されているバイナリを使用、またはソースコードからコンパイルして利用

● ライブラリA○ OSSをコンパイルし、組み込む

● ライブラリB○ ベンダーから購入して組み込み

● ソフトウェアX○ ライブラリAとライブラリBを利用する自社

製ソフトウェア

Linux OS の場合

CPU メモリ デバイス

カーネル

アプリケーション

ソフトウェア X

ライブラリ A ライブラリ B

デバイスドライバ

基本ライブラリ

Page 7: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● Linuxディストリビューション○ Linuxを利用者がインストールしたり、利用でき

る形にまとめ上げたもの。○ 上記を頒布する団体・プロジェクトはディストリ

ビューター● なぜディストリビューターがいるのか

○ 本来、LinuxはOSではなく、Linuxカーネルのみを指す→カーネルだけではOSとして動作しない。

○ 基本ライブラリ(glibc)やコンパイラ(gcc, LLVM)などの Linux OS を構成するソフトウェアは Linux とは直接関係ないOSS (Open Source Software)のプロジェクト。よってこれらを組み合わせて利用できるようにする必要がある

Linux ディストリビューションと頒布方法

CPU メモリ デバイス

カーネル

アプリケーション

ソフトウェア X

ライブラリ A ライブラリ B

デバイスドライバ

基本ライブラリ

Page 8: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● 頒布方法○ Linuxディストリビューションによって異なる

■ バイナリベース■ ソースコードベース

Linux ディストリビューションと頒布方法

Page 9: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

Linux ディストリビューションと頒布方法

コンパイル

バイナリ

ダウンロード

インストール

ソースコード● Linux のディストリビューションのほとんどは

OSSで構成される● 基本、OSSはソースと共にコンパイル方法と使

用方法のみが提供されている● ユーザーは自身でソフトウェアをダウンロード、

コンパイル、インストールを行う必要がある

Page 10: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

Linux ディストリビューションと頒布方法

→ソフトウェア同士の依存

● OSSでもOSSやその他のソフトウェアの依存関係を元に動作する

● 使用したいソフトウェアをコンパイルするためには、依存しているソフトウェアやライブラリをコンパイルし、依存関係を解消する必要がある。

● これらの作業を簡略化したものを提供しているのがLinuxディストリビューター

● 提供されているものがLinuxディストリビューション

使用したいソフトウェア 依存しているソフトウェア

Page 11: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

Linux ディストリビューションと頒布方法

コンパイル

バイナリ

ダウンロード

インストール

ソースコード

バイナリとインストール方法をまとめたもの

ソースコード取得、コンパイル、インストール方法をまとめたもの

バイナリベース ソースコードベース

Page 12: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

Linux ディストリビューションと頒布方法

コンパイル

バイナリ

ダウンロード

インストール

ソースコード

ソースコードと、コンパイル方法をまとめたもの

バイナリとインストール方法をまとめたもの

ソースコード取得、コンパイル、インストール方法をまとめたもの

バイナリベース ソースコードベース

Page 13: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● ディストリビューターがコンパイル済みのソフトウェアをパッケージとして頒布する。● ソフトウェアの最適化やパッケージで提供される機能はディストリビューターが決め

る。○ 例1 : FPU(浮動小数点演算ユニット)をサポートするバイナリを提供する・しない○ 例2: ソフトウェアで提供される機能があるパッケージを提供する・しない

● この方法を取ってるディストリビューション例○ Red Hat○ CentOS○ Debian○ Ubuntu

バイナリベース

Page 14: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● メリット○ コンパイル済みのソフトウェアを頒布するため、すぐに利用できる○ ユーザーは同じバイナリを使用するため、ユーザー同士で問題を共有できる○ 提供さえたバイナリのコンパイルできる手順が確立されている

● デメリット○ 最適化が行われていない

■ CPU性能を最大限に生かせない■ (一部のユーザーにとって)不要な機能やファイルが含まれる

バイナリベース

Page 15: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● ディストリビューターがソフトウェアのコンパイル方法を頒布する。コンパイル済みのバイナリは基本頒布しない。

● この方法を取っているディストリビューション例○ gentoo○ OpenEmbedded

ソースコードベース

Page 16: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● メリット○ 細かい最適化ができる

■ CPUへの最適化、利用者が必要な機能のみの有効化など

○ ソフトウェアライセンスへの対応が柔軟にできる■ 基本的にソフトウェアのバイナリ頒布を行わない

● デメリット○ 多くのリソース(CPU、メモリ、HDD、ネットワーク)を必要とする○ 利用者がコンパイルするため、利用できるまでに時間を必要とする○ ユーザー同士で最適化の内容が異なるため、問題の共有が難しい

ソースコードベース

Page 17: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● SoC・ボードベンダーが公開しているBSP・SDKをベースに開発することが多い○ BSP (Board Support Package)、SDK(Software Development Kit)

● 課題○ OSSによる開発は規模が大きくなるため、詳細が把握できない○ 機能の過不足が判断しずらい○ OSSに関する情報のキャッチアップが難しい○ OSSの機能修正、追加が難しい○ SoCベンダー毎に開発環境が異なる○ BSP・SDKでソフトウェアのバージョンが異なる

組込みLinuxシステム開発の課題

Page 18: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

Yocto Projectについて

Page 19: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● 組込み向けOS開発環境を構築する仕組みを提供するプロジェクト○ https://www.yoctoproject.org○ CPUアーキテクチャへの依存を最小限に○ コンパイル環境(SDK)も構築・提供できる仕組み○ エミュレーターによる実機以外のサポート○ 目的に合わせたOSイメージのビルド(OS最小構成、GUIあり、Webサーバーのみ、

など)○ ソースコードベース

Yocto Project

Page 20: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● Linux Foundation プロジェクトの一つ● 複数のプロジェクトが協力

○ Pokyリファレンスビルドシステム

○ OpenEmbeddedソフトウェアのビルド手順が記載されたレシピと呼ばれるファイル群とビルドエンジンである bitbakeを開発

○ matchboxGUIライブラリ

○ Eclispe IDE Plug-inIDE向け開発プラグイン

○ opkgパッケージングシステム

○ Toasterビルドサポート用GUI

プロジェクト体制

Page 21: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● メンバー企業○ Intel○ Arm○ Linaro○ TEXAS INSTRUMENTS○ NXP○ XLILNX○ RENESAS○ open embedded○ Mentor○ Facebook○ DELL

プロジェクト体制

Page 22: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● 半年ごとにリリース○ 現在のバージョン: 2.6

■ コードネーム: Thud、Poky 20.0.0○ セキュリティ修正とレシピのバグによって更新

■ パッチによる更新

○ 約1年半のサポート

リリースポリシー

https://wiki.yoctoproject.org/wiki/Releases

Page 23: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● サポートしているCPU○ x86(32bit/64bit)、 ARM(32bit/64bit)、MIPS(32bit/64bit)、powerpc

● SoCベンダー共通のビルドシステムとして利用可能○ NXP、Xilinx、Renesas、Intel (旧Altera含む)、TIなど

● SIer への移行・引き渡しがスムーズになる可能性も○ Wind River、Mentor、Enea、などの組込みLinuxOSベンダーが Poky ベースのシス

テムも利用● Real Time patch が適用されたLinux カーネルもサポート

利用しているSoCベンダーやSIerなど

Page 24: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● 課題○ OSSによる開発は規模が大きくなるため、詳細が把握できない○ 機能の過不足が判断しずらい○ OSSに関する情報のキャッチアップが難しい○ OSSの機能修正、追加が難しい○ SoCベンダー毎に開発環境が異なる○ BSP・SDKでソフトウェアのバージョンが異なる

解決できる課題

Page 25: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● 課題○ OSSによる開発は規模が大きくなるため、詳細が把握できない○ 機能の過不足が判断しずらい○ OSSに関する情報のキャッチアップが難しい○ OSSの機能修正、追加が難しい○ SoCベンダー毎に開発環境が異なる○ BSP・SDKでソフトウェアのバージョンが異なる

解決できる課題

Page 26: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● 組込みLinux開発環境を構築する仕組みを提供するLinux Foundation傘下のプロ

ジェクト

● 複数のプロジェクトが協力○ Poky○ OpenEmbedded○ matchbox○ Eclispe IDE Plug-in○ opkg○ Toaster

● SoCベンダーから組込みLinux SIerまで利用しており、組込みLinux開発のスタン

ダードとなっている

Yocto Project まとめ

Page 27: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● 組込みLinux開発環境を構築する仕組みを提供するLinux Foundation傘下のプロ

ジェクト

● 複数のプロジェクトが協力○ Poky○ OpenEmbedded○ matchbox○ Eclispe IDE Plug-in○ opkg○ Toaster

● SoCベンダーから組込みLinux SIerまで利用しており、組込みLinux開発のスタン

ダードとなっている

Yocto Project まとめ

Page 28: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

Pokyについて

Page 29: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● Linux Foundation プロジェクトの一つ● 複数のプロジェクトが協力

○ Pokyリファレンスビルドシステム

○ OpenEmbeddedソフトウェアのビルド手順が記載されたレシピと呼ばれるファイル群とビルドエンジンである bitbakeを開発

○ matchboxGUIライブラリ

○ Eclispe IDE Plug-inIDE向け開発プラグイン

○ opkgパッケージングシステム

○ Toasterビルドサポート用GUI

プロジェクト体制

Page 30: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● リファレンスビルドシステム○ ディストリビューションではない○ ディストリビューション作成をサポートするビルドシステム○ 最小構成のLinuxディストリビューションを構築できる

■ ユーザーはPokyをベースにカスタマイズする● 主な構成要素

○ bitbake○ メタデータ(レシピ、設定ファイル)

● 主な生成物○ Linux カーネル○ ブートローダー○ ユーザーランド(rootfs)○ クロスツールチェイン、SDK

Poky

Page 31: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

Poky 構成図

Poky

bitbake

Pokymeta meta-pokymeta-yocto-bspメタデータ

meta

recipe-foo 設定ファイル(*.conf)

includeファイル(*.inc)

レシピファイル(*.bb, *.bbappend)

recipe-bar

レシピファイル(*.bb, *.bbappend)

classファイル(*.bbclass)

buildlinuxカーネル rootfs ブートローダー SDK

Page 32: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

Poky 構成図

Poky

bitbake

Pokymeta meta-pokymeta-yocto-bspメタデータ

meta

recipe-foo 設定ファイル(*.conf)

includeファイル(*.inc)

レシピファイル(*.bb, *.bbappend)

recipe-bar

レシピファイル(*.bb, *.bbappend)

classファイル(*.bbclass)

buildrootfs ブートローダー SDK

メタデータはレイヤーという単位で管理される

linuxカーネル

Page 33: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

Poky 構成図

Poky

bitbake

Pokymeta meta-pokymeta-yocto-bspメタデータ

meta

recipe-foo 設定ファイル(*.conf)

includeファイル(*.inc)

レシピファイル(*.bb, *.bbappend)

recipe-bar

レシピファイル(*.bb, *.bbappend)

classファイル(*.bbclass)

buildrootfs ブートローダー SDKlinuxカーネル

Page 34: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● 主な構成要素○ レシピ(拡張子: .bb または .bbappend)

■ ソースコードの取得、ソフトウェアのコンパイル、パッケージングまでの動作を定義■ シェルスクリプトとPythonで記述■ レシピ同士の依存関係を設定■ bbppaned ファイルは既存のbbファイルに内容を修正・追加する際に使用

○ 設定ファイル(拡張子: .conf)■ CPUアーキテクチャなどのターゲットマシン毎の定義■ ビルド環境などの独自設定

○ bitbake■ Python で書かれたビルドツール■ レシピを解析し、定義された動作を実行する

Poky

Page 35: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

Poky 構成図

Poky

bitbake

Pokymeta meta-pokymeta-yocto-bspメタデータ

meta

recipe-foo 設定ファイル(*.conf)

includeファイル(*.inc)

レシピファイル(*.bb, *.bbappend)

recipe-bar

レシピファイル(*.bb, *.bbappend)

classファイル(*.bbclass)

buildrootfs ブートローダー SDKlinuxカーネル

Page 36: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

Poky 構成図

Poky

bitbake

Pokymeta meta-pokymeta-yocto-bspメタデータ

meta

recipe-foo 設定ファイル(*.conf)

includeファイル(*.inc)

レシピファイル(*.bb, *.bbappend)

recipe-bar

レシピファイル(*.bb, *.bbappend)

classファイル(*.bbclass)

buildlinux-kernel rootfs ブートローダー SDK

Page 37: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● 主な構成要素○ レシピ(拡張子: .bb または .bbappend)

■ ソースコードの取得、ソフトウェアのコンパイル、パッケージングまでの動作を定義■ シェルスクリプトとPythonで記述■ レシピ同士の依存関係を設定■ bbppaned ファイルは既存のbbファイルに内容を修正・追加する際に使用

○ 設定ファイル(拡張子: .conf)■ CPUアーキテクチャなどのターゲットマシン毎の定義■ ビルド環境などの独自設定

○ bitbake■ Python で書かれたビルドツール■ レシピを解析し、定義された動作を実行する

Poky

Page 38: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

$ bitbake core-image-minimal

bitbake の動作

Page 39: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

$ bitbake core-image-minimal bitbake 実行時にビルドするレシピを指定する

bitbake の動作

Page 40: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

$ bitbake core-image-minimal

bitbake の動作

レシピを解析

ソースコードのダウンロード

ソースコードの展開

パッチの適用

ソフトウェアのコンパイル

生成物をパッケージ化

Page 41: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

$ bitbake core-image-minimal

bitbake の動作

レシピを解析

ソースコードのダウンロード

ソースコードの展開

パッチの適用

ソフトウェアのコンパイル

生成物をパッケージ化

コンパイルするソフトウェアの情報● どこからダウンロードするのか● どのように展開するのか● どのようなパッチを適用するのか

コンパイル方法● どのようなオプションでコンパイルするのか● どのような機能を有効・無効にするのか● ソフトウェア同士の依存関係

インストール・パッケージング方法● どのファイルをどこにインストールするのか● どのファイルをどのパッケージに入れるのか● パッケージング方式は何にするのか

Page 42: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

$ bitbake core-image-minimal

bitbake の動作

レシピを解析

ソースコードのダウンロード

ソースコードの展開

パッチの適用

ソフトウェアのコンパイル

生成物をパッケージ化

コンパイルするソフトウェアの情報● どこからダウンロードするのか● どのように展開するのか● どのようなパッチを適用するのか

コンパイル方法● どのようなオプションでコンパイルするのか● どのような機能を有効・無効にするのか● ソフトウェア同士の依存関係

インストール・パッケージング方法● どのファイルをどこにインストールするのか● どのファイルをどのパッケージに入れるのか● パッケージング方式は何にするのか

これらを タスク 呼び、レシピ記述する。

Page 43: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

タスク

● bitbake で実行される動作単位● タスクを定義する際、do_タスク名 とする必要がある

例: do_fetch: ソースコードを取得するタスク

● レシピをビルドする際、1タスク1スレッドで実行される● プログラミング言語に合わせたタスクが約70ほど定義されており、コンパイル方式、イ

ンストール方式などに合わせて利用する● タスク同士は依存関係を持っており、依存関係に合わせて実行される

bitbake の動作

Page 44: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

$ bitbake core-image-minimal

bitbake の動作

do_fetch

do_unpack

do_patch

do_configuredo_compile

do_installdo_package

これらを タスク 呼び、レシピ記述する。

レシピを解析

ソースコードのダウンロード

ソースコードの展開

パッチの適用

ソフトウェアのコンパイル

生成物をパッケージ化

Page 45: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

…SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/${BPN}/${PV}/${BPN}-${PV}.tar.xz \ file://remove.ldconfig.call.patch \ file://Makefile-runtests.patch \ file://ldflags-tests.patch \ file://run-ptest \ "UPSTREAM_CHECK_URI = "http://zlib.net/"

SRC_URI[md5sum] = "85adef240c5f370b308da8c938951a68"SRC_URI[sha256sum] = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066"

CFLAGS += "-D_REENTRANT"

RDEPENDS_${PN}-ptest += "make"

inherit ptest

do_configure() { uname=GNU ./configure --prefix=${prefix} --shared --libdir=${libdir}}

do_compile() { oe_runmake shared}…

レシピの中身 (zlib)

Page 46: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

…SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/${BPN}/${PV}/${BPN}-${PV}.tar.xz \ file://remove.ldconfig.call.patch \ file://Makefile-runtests.patch \ file://ldflags-tests.patch \ file://run-ptest \ "UPSTREAM_CHECK_URI = "http://zlib.net/"

SRC_URI[md5sum] = "85adef240c5f370b308da8c938951a68"SRC_URI[sha256sum] = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066"

CFLAGS += "-D_REENTRANT"

RDEPENDS_${PN}-ptest += "make"

inherit ptest

do_configure() { uname=GNU ./configure --prefix=${prefix} --shared --libdir=${libdir}}

do_compile() { oe_runmake shared}…

レシピの中身 (zlib)

Page 47: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

…SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/${BPN}/${PV}/${BPN}-${PV}.tar.xz \ file://remove.ldconfig.call.patch \ file://Makefile-runtests.patch \ file://ldflags-tests.patch \ file://run-ptest \ "UPSTREAM_CHECK_URI = "http://zlib.net/"

SRC_URI[md5sum] = "85adef240c5f370b308da8c938951a68"SRC_URI[sha256sum] = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066"

CFLAGS += "-D_REENTRANT"

RDEPENDS_${PN}-ptest += "make"

inherit ptest

do_configure() { uname=GNU ./configure --prefix=${prefix} --shared --libdir=${libdir}}

do_compile() { oe_runmake shared}…

レシピの中身 (zlib)

Page 48: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

bitbake の動作

bitbake*.conf レシピ イメージ

Page 49: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

bitbake の動作

bitbake*.conf レシピ イメージ

core-image-minimal

Page 50: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

bitbake の動作

bitbake*.conf レシピ イメージ

core-image-minimal

busybox glibc

依存

……

Page 51: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

bitbake の動作

bitbake*.conf レシピ イメージ

core-image-minimal

busybox glibc

gcc-cross binutils-cross

依存

依存

……

……

Page 52: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

bitbake の動作

bitbake*.conf レシピ イメージ

core-image-minimal

busybox glibc

gcc-cross binutils-cross

gettext-native zlib-native

依存

依存

依存

……

……

……

Page 53: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

bitbake の動作

bitbake*.conf レシピ イメージ

core-image-minimal

busybox glibc

gcc-cross binutils-cross

gettext-native zlib-native gettext-native zlib-nativeビルド

依存

依存

依存

……

……

…… ……

Page 54: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

bitbake の動作

bitbake*.conf レシピ イメージ

core-image-minimal

busybox glibc

gcc-cross binutils-cross

gettext-native zlib-native

gcc-cross binutils-cross

gettext-native zlib-native

ビルド

ビルド

依存

依存

依存

……

……

…… ……

……ビルド依存

Page 55: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

bitbake の動作

bitbake*.conf レシピ イメージ

core-image-minimal

busybox glibc

gcc-cross binutils-cross

gettext-native zlib-native

busybox glibc

gcc-cross binutils-cross

gettext-native zlib-native

ビルド

ビルド

ビルド

依存

依存

依存

……

……

…… ……

……

……ビルド依存

ビルド依存

Page 56: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

bitbake の動作

bitbake*.conf レシピ イメージ

core-image-minimal

busybox glibc

gcc-cross binutils-cross

gettext-native zlib-native

core-image-minimal.bz2 zImage

busybox glibc

gcc-cross binutils-cross

gettext-native zlib-native

インストール

ビルド

ビルド

ビルド

依存

依存

依存

……

……

…… ……

……

……

ビルド依存

ビルド依存

ビルド依存

Page 57: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● 課題○ OSSによる開発は規模が大きくなるため、詳細が把握できない○ 機能の過不足が判断しずらい○ OSSに関する情報のキャッチアップが難しい○ OSSの機能修正、追加が難しい○ SoCベンダー毎に開発環境が異なる○ BSP・SDKでソフトウェアのバージョンが異なる

Poky で解決できる課題

Page 58: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● リファレンスビルドシステム○ ディストリビューション作成をサポートするビルドシステム○ 最小構成のLinuxディストリビューションを構築できる

● 主な構成要素○ bitbake、メタデータ(レシピ、設定ファイル)

● ビルドする際には bitbake コマンドを使用する○ bitbake はレシピファイルを解析し、ビルドに必要なアクションを実行する○ レシピ同士の依存関係の解決、ソースコードの取得、パッチ適用、コンパイル、

パッケージ化など● レシピにはソフトウェアのビルドに必要な処理を記述する。処理はタスクと呼ばれる。● 主な生成物

○ Linux カーネル、ブートローダー、ユーザーランド(rootfs)、クロスツールチェイン、SDK

Poky に関するまとめ

Page 59: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

レイヤー機能について

Page 60: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

Poky 構成図

レイヤー機能について

bitbake

Pokymeta meta-pokymeta-yocto-bspメタデータ

meta

recipe-foo 設定ファイル(*.conf)

includeファイル(*.inc)

レシピファイル(*.bb, *.bbappend)

recipe-bar

レシピファイル(*.bb, *.bbappend)

classファイル(*.bbclass)

buildrootfs ブートローダー SDKlinuxカーネル

Page 61: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

Poky 構成図

レイヤー機能について

bitbake

Pokymeta meta-pokymeta-yocto-bspメタデータ

meta

recipe-foo 設定ファイル(*.conf)

includeファイル(*.inc)

レシピファイル(*.bb, *.bbappend)

recipe-bar

レシピファイル(*.bb, *.bbappend)

classファイル(*.bbclass)

buildrootfs ブートローダー SDKlinuxカーネル

Page 62: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

レイヤー機能について

bitbake ビルドエンジン

meta-poky

Linux kernelやソフトウェアのレシピ

Poky ディストリビューションの情報

BSPの構成情報など

Poky

meta

meta-yocto-bsp

最小構成のLinuxディストリビューションを構築できる。

Page 63: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

レイヤー機能について

bitbake ビルドエンジン

meta-poky

Linux kernelやソフトウェアのレシピ

Poky ディストリビューションの情報

BSPの構成情報など

Poky

meta

meta-yocto-bsp Xilinx社のMPSoC SoCを使用したシステムを構築したい…

Page 64: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

レイヤー機能について

bitbake ビルドエンジン

meta-poky

Linux kernelやソフトウェアのレシピ

Poky ディストリビューションの情報

BSPの構成情報など

Poky

meta

meta-yocto-bsp

meta-xilinx Xilinx社のMPSoCをサポートするメタデータ追加

Page 65: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

レイヤー機能について

bitbake ビルドエンジン

meta-poky

Linux kernelやソフトウェアのレシピ

Poky ディストリビューションの情報

BSPの構成情報など

Poky

meta

meta-yocto-bsp

meta-xilinx Xilinx社のMPSoCをサポートするメタデータ追加

conf/bblayers.conf:BBLAYERS ?= " \

/home/user/work/poky/meta \ /home/user/work/poky/meta-poky \ /home/user/work/poky/meta-yocto-bsp \ /home/user/work/meta-xilinx/meta-xilinx-bsp \ "

Page 66: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

レイヤー機能について

meta linux-yoctobusybox

busyboxmeta-poky

Page 67: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

レイヤー機能について

meta

meta-xilinx

linux-yoctobusybox

linux-yocto

busyboxmeta-poky

Page 68: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

レイヤー機能について

meta

meta-xilinx

linux-yoctobusybox

linux-yocto

busyboxmeta-poky

使用するボードの設定等

Page 69: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

レイヤー機能について

meta

meta-xilinx

linux-yoctobusybox

linux-yocto

busyboxmeta-poky

Xilinx MPSoCの設定有効

機能の追加

使用するボードの設定等

Page 70: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

レイヤー機能について

meta

meta-xilinx

最終的なレシピ

linux-yoctobusybox

linux-yocto

busyboxmeta-poky

Xilinx MPSoCの設定有効

busybox linux-yocto

機能の追加

使用するボードの設定等

レシピの解析

Page 71: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

レイヤー機能について

meta

meta-xilinx

最終的なレシピ

linux-yoctobusybox

linux-yocto

busyboxmeta-poky

Xilinx MPSoCの設定有効

busybox linux-yocto

機能の追加

使用するボードの設定等

レシピの解析

Page 72: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

poky/meta-yocto/recipes-core/busybox/ |-- busybox | `-- poky-tiny | `-- defconfig `-- busybox_%.bbappend

poky/meta/recipes-core/busybox/ |-- busybox | |-- … | `-- 0001-Switch-to-POSIX-utmpx-API.patch |-- busybox.inc |-- busybox_1.23.2.bb `-- files |-- … `-- umount.busybox

レイヤー機能について

Page 73: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

poky/meta-yocto/recipes-core/busybox/ |-- busybox | `-- poky-tiny | `-- defconfig `-- busybox_%.bbappend

poky/meta/recipes-core/busybox/ |-- busybox | |-- … | `-- 0001-Switch-to-POSIX-utmpx-API.patch |-- busybox.inc |-- busybox_1.23.2.bb `-- files |-- … `-- umount.busybox

レイヤー機能について

recipes-core/busybox/busybox_%.bbappaned

recipes-core/busybox/busybox_1.23.2.bb

+

bbappendファイルで定義した内容が上書きまたは追加されたbusybox_1.23.2.bb

Page 74: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

レイヤー機能

bitbake ビルドエンジン

meta-poky

Linux kernelやソフトウェアのレシピ

Poky ディストリビューションの情報

BSPの構成情報など

Poky

meta

meta-yocto-bsp

meta-xilinx Xilinx社のMPSoCをサポートするメタデータ

自社で作ったアプリケーションをシステムにインストールしたい

Page 75: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

レイヤー機能について

bitbake ビルドエンジン

meta-poky

Linux kernelやソフトウェアのレシピ

Poky ディストリビューションの情報

BSPの構成情報など

Poky

meta

meta-yocto-bsp

meta-xilinx Xilinx社のMPSoCをサポートするメタデータ

meta-myapp 自社で作ったアプリケーション用レシピを含んだメタデータ追加

conf/bblayers.conf:BBLAYERS ?= " \

/home/user/work/poky/meta \ /home/user/work/poky/meta-poky \ /home/user/work/poky/meta-yocto-bsp \ /home/user/work/meta-xilinx/meta-xilinx-bsp \ /home/user/work/meta-myapp \ "

Page 76: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

レイヤー機能について

meta

meta-xilinx

linux-yoctobusybox

linux-yocto

busyboxmeta-poky

使用するボードの設定等

Page 77: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

レイヤー機能について

meta

meta-xilinx

linux-yoctobusybox

linux-yocto

busyboxmeta-poky

使用するボードの設定等

meta-myapp myappmyappに関する設定

Page 78: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

レイヤー機能について

meta

meta-xilinx

最終的なレシピ

linux-yoctobusybox

linux-yocto

busyboxmeta-poky

Xilinx MPSoCの設定有効

busybox linux-yocto

機能の追加

使用するボードの設定等

レシピの解析

meta-myapp myapp

myapp

myappに関する設定

Page 79: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● 課題○ OSSによる開発は規模が大きくなるため、詳細が把握できない○ 機能の過不足が判断しずらい○ OSSに関する情報のキャッチアップが難しい○ OSSの機能修正、追加が難しい○ SoCベンダー毎に開発環境が異なる○ BSP・SDKでソフトウェアのバージョンが異なる

レイヤー機能で解決できる課題

Page 80: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● Pokyは最小構成のLinuxディストリビューションを構築するためのツールやメタデータを提供する

● ユーザーが独自の実装を追加するには、レイヤー機能を使って追加する● 各SoCの設定や、ボードの設定などもレイヤー単位で提供される● レイヤーを使用することによって、他のレイヤーで提供されているレシピのファイルそ

のものを変更せずに、レシピの修正等ができるようになっている

レイヤー機能に関するまとめ

Page 81: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

質疑応答

Page 82: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

参考文献

Page 83: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

● Yocto Project○ https://www.yoctoproject.org○ https://www.yoctoproject.org/docs/2.6/mega-manual/mega-manual.html

● Yocto Project ハンズオン プレゼン用資料○ https://www.slideshare.net/iwamatsu/yocto-project-40180199

● レシピの作り方入門○ https://www.slideshare.net/iwamatsu/ss-31662659

参考文献

Page 84: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

1. https://1.bp.blogspot.com/-LHEZgJ6tpeA/UgSL_9y4KrI/AAAAAAAAW5s/DNRPJ4kSvpI/s400/food_curryruce.png x22. https://3.bp.blogspot.com/-N2OBmlrmp6I/UnyHSqHeW3I/AAAAAAAAahc/1XbLO4ZbaQg/s800/cooking_chef.png x23. https://4.bp.blogspot.com/-2t-ECy35d50/UPzH73UAg3I/AAAAAAAAKz4/OJZ0yCVaRbU/s1600/book.png x24. https://2.bp.blogspot.com/-kXpgJDSmOZI/VJ6XX867x9I/AAAAAAAAqJ4/yYWtYMdnE3A/s800/cooking10_kiru.png x25. https://2.bp.blogspot.com/-0_papKo8Qt4/VahRmEpGpUI/AAAAAAAAvtQ/QyU6EtxIhLc/s800/makimono_toranomaki.png x26. https://1.bp.blogspot.com/-etAOuOz8L7Y/W1a4rKcd5WI/AAAAAAABNhU/fB5zVLV7Mig1oPLUdf17QS7n15np1S3OACLcBGAs/s8

00/food_niku_pack.png x27. https://3.bp.blogspot.com/-QCe-ngfpbTg/UkJM8tkaq6I/AAAAAAAAYWM/U3pbo3YS9XA/s800/ninjin_carrot.png x28. https://3.bp.blogspot.com/-EiqKoF2kMTQ/UkJM5vVnb7I/AAAAAAAAYVU/tCuJxeQQiNE/s800/jagaimo_poteto.png x29. https://3.bp.blogspot.com/-TY2VUFySQZA/VJ6XYaf5BTI/AAAAAAAAqKA/PBSngtXpNpE/s800/cooking12_ajitsuke.png x2

10. https://4.bp.blogspot.com/-0pySHudh9OY/VMIvIn6zDGI/AAAAAAAAq4M/v-imllVrsxE/s800/pose_souzou_man.png x2

いらすとや使用画像

Page 85: Yocto Project 紹介 - サイバートラスト株式会社 › iot › docs › yocto-project... · 2020-06-01 · Title: プロジェクト紹介 Subject: OSによる開発の違い

Copyright Cybertrust Japan Co., Ltd. All rights reserved.公開

信頼とともに

留意事項

本資料に記載されている会社名、製品名、サービス名は、当社または各社、各団体の商標もしくは登録商標です。その他本資料に記載されているイラスト・ロゴ・写真・動画・ソフトウェア等は、当社または第三者が有する知的財産権やその他の権利により守られております。お客様は、当社が著作権を有するコンテンツについて、特に定めた場合を除き、複製、改変、頒布などをすることはできません。本資料に記載されている情報は予告なしに変更されることがあります。また、時間の経過などにより記載内容が不正確となる場合がありますが、当社は、当該情報を更新する義務を負うものではありません。