SlideShare une entreprise Scribd logo
1  sur  21
wata2ki
 名前: wata2ki (watatuki)
◦ 元はハードウェアで画像処理をやっていましたが、現在は組
み込み屋をやっています
◦ 最近はJetson-TK1/TX1向けのアンオフィシャルYocto BSP
を作り、そのうえでディスクトップ環境や別ボード向けのディス
トロを動かして遊んでいます
◦ GitHub
 https://github.com/watatuki
 今日は、Yoctoを使ってディストロを作る方法と、それ
を公開するときに突き当たった問題について発表しま
す
 L.F.(Linux Foundation)のプロジェクトで、正式名称は
Yocto Project
◦ https://www.yoctoproject.org/
 Linuxのディストリビューションを作るのに必要なツー
ル・データを提供
◦ 最終的にはpokyという名前のリファレンスディストロとして提
供される
◦ OpenEmbedded(http://www.openembedded.org/)コミュニティ
由来のプロジェクトで、ツールも共同開発している
 GentooLinuxがクロスビルドになったようなもの
 bitbake
◦ Yoctoの根幹となるツールで、クロスビルド環境を提供してくれる
◦ ディストリビューションの構成するソフトのコンフィグやバージョンを
Recipeで管理する
 oe-core
◦ bitbakeで使うレシピのセットで、glibc, x.org, waylandからQtまで、様々
なOSSを標準でビルドできるようにしてくれる
◦ クロスビルド用のgccもoe-coreが提供してくれる
 リファレンスBSP
◦ pokyが標準でサポートしているボード向けのBSP
 Qemu, x86, x86-64, beagleboneなど
 LinuxのカーネルやU-boot, OpenGL(mesa)をそのボード向けの設定でビル
ドできるようにするレシピの形で提供される
 リファレンスBSPに関しては、少なくともビルドが通ることが確認されている
(はず。。。)
 Yoctoでは、自分の作りたいディストロをlayerを組み合
わせて構築する
自分の作りたいディストロ
meta (oe-core layer)
meta-yocto (yocto layer)
meta-jetson (BSP layer)
meta-mydistro (my layer)
標準Layer
meta-windowmng (layer)
BSP Layer
ターゲットボード用のカーネルや、ファーム
ウェア等
さらに追加したいコンポーネントが入っ
たLayerを積み上げる
 Layerはレシピの集合体
◦ Qt5を提供するmata-qt5、自分専用レシピ集など、何らかの共通項
でLayerを作るが、最初はあまりこだわらなくても良い
 Layerは優先度を持っている
◦ 異なるレイヤに同じレシピが存在した場合は、優先度が高いほうが
採用される
◦ 自分用Layerは、優先度を高くすると良い
meta-xxx(layer)
glibc(recipe)
mesa(recipe)
x.org(recipe)
meta-xxx(layer) 優先度6
mesa(recipe)
meta(layer) 優先度5
glibc(recipe)
mesa(recipe)
自分の作りたいディストロ
 1つのレシピ(.bb)で1つのソフトコンポーネント
◦ gitリポジトリやtarのアーカイブ1個につき1レシピが基本
◦ 特定のバージョン/リビジョンを指定する
◦ レシピに追加で当てたいパッチファイルを書くことで、ビルド時に
パッチをあてることも可能
◦ configureオプションを指定することが可能
 結構チェックが厳しいので、レシピを作るのは慣れるまでは苦労しま
す。。。。
 既存のレシピに追記することも可能(.bbappend)
◦ 既存のレシピ(たとえばmesa)のconfigureオプションを変えたい時な
どに使う
 例えば、pokyのmesaレシピはvmrgfx用のドライバが有効になっていない
ので、有効にするオプションを追加
 クロスビルド用でないレシピ
◦ imageレシピ
 最終的なrootfsイメージの構成を指定するレシピ
 「ベースのX11が使えるimageにqtをインストールしたイメージを作る」
といった、最終的に自分の作りたい物を記述する
 クロスSDKやターゲットSDKも同じように作ることが可能
◦ バイナリインストール用レシピ
 SOCベンダ提供のレシピによくあるタイプ
 OpenGLドライバがバイナリ提供なので、バイナリをダウンロードしてく
れる
qt5
Kernel
OpenGL
busybox
glibc
x.org
bash
qt5-dev
OpenGL-
dev
glibc-dev
x.org-dev
bash-dev
Packages(target)
image
Kernel
OpenGL
busybox
glibc
x.org
bash
meta
meta-jetson
meta-mydistro
meta-qt5
myimage
qt5
Kernel
OpenGL
busybox
glibc
x.org
bash
mySDK
recipe/layers
gcc
Packages(host)
gcc
SDK image
qt5
Kernel
OpenGL
busybox
glibc
x.org
bash
qt5-dev
OpenGL-
dev
gcc
glibc-dev
x.org-dev
bash-dev
Yoctoを使うことで、recipe/layerからホスト用とターゲット用のパッケージ(rpm,ipk,debが選
択可能)をビルドでき、イメージレシピを使ってrootfsイメージにまとめることができる
meta/
meta-yocto
meta-linaro
meta-miscellaneous
meta-qt5
image
qt5
Kernel
OpenGL
busybox
glibc
x.org
recipe/layers
gcc
meta-jetson-tk1
jwm
bootconf
meta-lightwm
glmark2
meta-jetson-tk1-distro Kernel
Linaroのツールチェインを使う
ために追加
X.OrgでGPUが使えるBSPレ
イヤを追加
Qt5を使えるようにしよう
軽量のウインドウマネージャ
を使いたい
せっかくTegraK1なので、3D
ベンチマークも動かしたい
ディストロ専用のカーネルコン
フィグでimageを作ろう
jack2
meta/
meta-yocto
meta-linaro
meta-miscellaneous
meta-qt5
image
qt5
Kernel
OpenGL
busybox
glibc
x.org
recipe/layers
gcc
meta-jetson-tk1
jwm
bootconf
meta-lightwm
glmark2
meta-jetson-tk1-distro Kernel
Linaroのツールチェインを使う
ために追加
X.OrgでGPUが使えるBSPレ
イヤを追加
Qt5を使えるようにしよう
軽量のウインドウマネージャ
を使いたい
せっかくTegraK1なので、3D
ベンチマークも動かしたい
ディストロ専用のカーネルコン
フィグでimageを作ろう
jack2
Gitの特定のハッシュ
まで戻さないとビルド
が通らない!!
Qt5おまえもか!!
世の中でYocto対応BSP出しているベ
ンダーはどうやってるんだ???
 recipeは特に問題はない
◦ recipeはソースのバージョンに1:1対応する
 recipeが指定するソースは勝手に変わることはない
◦ layerは通常git管理されているため、recipeの変更はlayerのリビジョンアップに
なる
 Layer内の正しい組み合わせはgitのコミット単位でコントロールできる
 layerの組み合わせの正解がない!
◦ 一般にlayer単位でメンテするコミュニティが違う
 layer単位でリポジトリを持っている
 ユーザは自分が使うlayerをそれぞれのリポジトリからもってこないといけない
 コミュニティが使っているlayerの組み合わせと違う組み合わせにすると、元々ビルド
できていたものができなくなる
 複数人開発するためには、layerの組み合わせを共有しないといけな
い!!
meta
meta-linaro
busybox
glibc
x.org
gcc gcc
x.org
busybox
glibc
recipeとソースが1:1対応しているの
で、layerの構成管理で管理できる
ディストロという単位でみ
ると、別々のリポジトリを
リンクする方法がない。
 某T●社のGLSDK
◦ シェルスクリプトを使って、git clone & checkout
 リリース用ならいいけど、複数人の開発でこれはないな。。。
 某R社のBSP
◦ リリースドキュメント(pdf)にgitコマンドが書いてある
 もっとひどい!!
いっそ、全部同じgitリポジトリに放りこんでしまおうか。。。
→参照しているリポジトリの更新を取り込むのが大変なので却下
 repo
◦ Androidをビルドする人には見慣れたツール
◦ マニフェストファイル(xml)で、複数のgitリポジトリの組み合わ
せを表現することができる
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="yocto" fetch="git://git.yoctoproject.org/" />
<remote name="linaro" fetch="git://git.linaro.org/openembedded/" />
<remote name="qt5" fetch="https://github.com/meta-qt5/" />
<remote name="watatuki" fetch="https://github.com/watatuki/" />
<default revision="master" />
<!-- Yocto Layers -->
<project path="poky" name="poky" remote="yocto" revision="b1f23d1254682866236bfaeb843c0d8aa332efc2" />
<project path="meta-linaro" name="meta-linaro.git" remote="linaro" revision="acf4f1f701e07670ec88435897a74f88dbe8ba87" />
<project path="meta-qt5" name="meta-qt5.git" remote="qt5" revision="37693b5357e790665bce4957cb7a8d5d2423390d" />
<project path="meta-jetson-tk1" name="meta-jetson-tk1.git" remote="watatuki" revision="jethro" />
<project path="meta-lightwm" name="meta-lightwm.git" remote="watatuki" revision="master" />
<project path="meta-miscellaneous" name="meta-miscellaneous.git" remote="watatuki" revision="15f549706a316333ba32c90f78df4d70f13cc601" />
<project path="meta-jetson-tk1-distro" name="meta-jetson-tk1-distro.git" remote="watatuki" revision="05b611871a231966d8b8c55b929824895895c926" />
<project path="jetson-tk1-distro" name="jetson-tk1-distro.git" remote="watatuki" />
</manifest>
これだ!!
meta
meta-linaro
busybox
glibc
x.org
gcc gcc
x.org
busybox
glibc
recipeとソースが1:1対応しているの
で、layerの構成管理で管理できる
ディストロという単位でみ
ると、別々のリポジトリを
リンクする方法がない。
meta
meta-linaro
busybox
glibc
x.org
gcc gcc
x.org
busybox
glibc
recipeとソースが1:1対応しているの
で、layerの構成管理で管理できる
repoのマニフェストファイ
ルで、異なるリポジトリ間
の連携をとることができる
ようになった
 layerの更新を行いつつ、常にディストロがビルドできる状
態を維持できるワークフローを組めるようになった
◦ レシピを書いてlayerのリポジトリにコミット
◦ ディストロ全体ビルドの確認ができたらマニフェストを更新
レシピの更新
ローカルでのテスト
リポジトリにコミット
(push)
OK
NG
レシピ開発
マニフェストの更新
テスト
リポジトリにコミット
(push)
OK
NG
インテグレータ
この時点で全員の共通環
境が初めて更新される
この時点では構成管理に登録
されただけで使われない
 Yoctoは便利で強力な仕組みだが、抜けているところもある
◦ Yocto自身は中途半端にしか構成管理の仕組みを持っていないため、
外側でなんとかしないといけない
 repoを使うことでYoctoの抜けているところを補完できる
◦ Yoctoとrepoをセットで使うといいよ!
◦ 実例はこちら参照
 https://github.com/watatuki/jetson-tk1-yocto-distro
 https://github.com/watatuki/agl-jetson-tk1
でも一人開発なので、意味はあまりないのであった。。。

Contenu connexe

Tendances

Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
Yoctoで綺麗なkernel configを作る
Yoctoで綺麗なkernel configを作るYoctoで綺麗なkernel configを作る
Yoctoで綺麗なkernel configを作るshimadah
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!Mr. Vengineer
 
ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくいARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくいwata2ki
 
UEFIベアメタルプログラミング
UEFIベアメタルプログラミングUEFIベアメタルプログラミング
UEFIベアメタルプログラミングYuma Ohgami
 
UEFIによるELFバイナリの起動
UEFIによるELFバイナリの起動UEFIによるELFバイナリの起動
UEFIによるELFバイナリの起動uchan_nos
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
できる!並列・並行プログラミング
できる!並列・並行プログラミングできる!並列・並行プログラミング
できる!並列・並行プログラミングPreferred Networks
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例Fixstars Corporation
 
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチンyohhoy
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)Mr. Vengineer
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門Fixstars Corporation
 
30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2uchan_nos
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケットTakaaki Hoyo
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 

Tendances (20)

Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
Yoctoで綺麗なkernel configを作る
Yoctoで綺麗なkernel configを作るYoctoで綺麗なkernel configを作る
Yoctoで綺麗なkernel configを作る
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
 
ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくいARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくい
 
UEFIベアメタルプログラミング
UEFIベアメタルプログラミングUEFIベアメタルプログラミング
UEFIベアメタルプログラミング
 
initramfsについて
initramfsについてinitramfsについて
initramfsについて
 
UEFIによるELFバイナリの起動
UEFIによるELFバイナリの起動UEFIによるELFバイナリの起動
UEFIによるELFバイナリの起動
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
できる!並列・並行プログラミング
できる!並列・並行プログラミングできる!並列・並行プログラミング
できる!並列・並行プログラミング
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
 
30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 

Similaire à YoctoをつかったDistroの作り方とハマり方

YoctoLTSについて調べてみた
YoctoLTSについて調べてみたYoctoLTSについて調べてみた
YoctoLTSについて調べてみたwata2ki
 
FirefoxOS を AndroidStick で動かしてみた(updated)
FirefoxOS を AndroidStick で動かしてみた(updated)FirefoxOS を AndroidStick で動かしてみた(updated)
FirefoxOS を AndroidStick で動かしてみた(updated)Kunihiko HAYASHI
 
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for WindowsThe Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for WindowsNaruhiko Ogasawara
 
「寝ながら作るXojo」ハンズオンテキスト
「寝ながら作るXojo」ハンズオンテキスト「寝ながら作るXojo」ハンズオンテキスト
「寝ながら作るXojo」ハンズオンテキストYoshimasa Kawano
 
DockerでJupyter使おうぜ
DockerでJupyter使おうぜDockerでJupyter使おうぜ
DockerでJupyter使おうぜSatoshi Yazawa
 
How to make USB-Disk for Linux distribution w/Windows
How to make USB-Disk for Linux distribution w/WindowsHow to make USB-Disk for Linux distribution w/Windows
How to make USB-Disk for Linux distribution w/WindowsKoju Ito
 
Introduction to Yocto Project - Let's make customized embedded linux
Introduction to Yocto Project - Let's make customized embedded linuxIntroduction to Yocto Project - Let's make customized embedded linux
Introduction to Yocto Project - Let's make customized embedded linuxHiroshi Sakate
 
高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマットAkihiro Suda
 
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)Akihiro Suda
 
マルチプラットフォーム開発導入
マルチプラットフォーム開発導入マルチプラットフォーム開発導入
マルチプラットフォーム開発導入Daisuke Nikura
 
Goodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxGoodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxKouhei Maeda
 
boot2docker の format-me の話
boot2docker の format-me の話boot2docker の format-me の話
boot2docker の format-me の話Kazuhiro Nishiyama
 
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...ksk_ha
 
スッとGoを取り入れる
スッとGoを取り入れるスッとGoを取り入れる
スッとGoを取り入れるYusuke Wada
 
.NET Core時代のCI/CD
.NET Core時代のCI/CD.NET Core時代のCI/CD
.NET Core時代のCI/CDYuta Matsumura
 
JapaneseBertOnDocker.pptx
JapaneseBertOnDocker.pptxJapaneseBertOnDocker.pptx
JapaneseBertOnDocker.pptxYushi Oka
 
Sinatraアプリをherokuにアップ
SinatraアプリをherokuにアップSinatraアプリをherokuにアップ
SinatraアプリをherokuにアップHiroshi Oyamada
 
一番簡単なWebSocketの試し方
一番簡単なWebSocketの試し方一番簡単なWebSocketの試し方
一番簡単なWebSocketの試し方Shunji Konishi
 
SONiCインストールしてみた
SONiCインストールしてみたSONiCインストールしてみた
SONiCインストールしてみたwataken44
 
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くLinuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くTetsuyuki Kobayashi
 

Similaire à YoctoをつかったDistroの作り方とハマり方 (20)

YoctoLTSについて調べてみた
YoctoLTSについて調べてみたYoctoLTSについて調べてみた
YoctoLTSについて調べてみた
 
FirefoxOS を AndroidStick で動かしてみた(updated)
FirefoxOS を AndroidStick で動かしてみた(updated)FirefoxOS を AndroidStick で動かしてみた(updated)
FirefoxOS を AndroidStick で動かしてみた(updated)
 
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for WindowsThe Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows
The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows
 
「寝ながら作るXojo」ハンズオンテキスト
「寝ながら作るXojo」ハンズオンテキスト「寝ながら作るXojo」ハンズオンテキスト
「寝ながら作るXojo」ハンズオンテキスト
 
DockerでJupyter使おうぜ
DockerでJupyter使おうぜDockerでJupyter使おうぜ
DockerでJupyter使おうぜ
 
How to make USB-Disk for Linux distribution w/Windows
How to make USB-Disk for Linux distribution w/WindowsHow to make USB-Disk for Linux distribution w/Windows
How to make USB-Disk for Linux distribution w/Windows
 
Introduction to Yocto Project - Let's make customized embedded linux
Introduction to Yocto Project - Let's make customized embedded linuxIntroduction to Yocto Project - Let's make customized embedded linux
Introduction to Yocto Project - Let's make customized embedded linux
 
高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット
 
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
 
マルチプラットフォーム開発導入
マルチプラットフォーム開発導入マルチプラットフォーム開発導入
マルチプラットフォーム開発導入
 
Goodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxGoodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
 
boot2docker の format-me の話
boot2docker の format-me の話boot2docker の format-me の話
boot2docker の format-me の話
 
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
 
スッとGoを取り入れる
スッとGoを取り入れるスッとGoを取り入れる
スッとGoを取り入れる
 
.NET Core時代のCI/CD
.NET Core時代のCI/CD.NET Core時代のCI/CD
.NET Core時代のCI/CD
 
JapaneseBertOnDocker.pptx
JapaneseBertOnDocker.pptxJapaneseBertOnDocker.pptx
JapaneseBertOnDocker.pptx
 
Sinatraアプリをherokuにアップ
SinatraアプリをherokuにアップSinatraアプリをherokuにアップ
Sinatraアプリをherokuにアップ
 
一番簡単なWebSocketの試し方
一番簡単なWebSocketの試し方一番簡単なWebSocketの試し方
一番簡単なWebSocketの試し方
 
SONiCインストールしてみた
SONiCインストールしてみたSONiCインストールしてみた
SONiCインストールしてみた
 
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くLinuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く
 

Plus de wata2ki

鹿児島らぐハイブリッド開催への道
鹿児島らぐハイブリッド開催への道鹿児島らぐハイブリッド開催への道
鹿児島らぐハイブリッド開催への道wata2ki
 
Linuxの2038年問題を調べてみた
Linuxの2038年問題を調べてみたLinuxの2038年問題を調べてみた
Linuxの2038年問題を調べてみたwata2ki
 
しょしんしゃのためのhello world
しょしんしゃのためのhello worldしょしんしゃのためのhello world
しょしんしゃのためのhello worldwata2ki
 
Linuxのsemaphoreとmutexを見る 
Linuxのsemaphoreとmutexを見る Linuxのsemaphoreとmutexを見る 
Linuxのsemaphoreとmutexを見る wata2ki
 
Fireduck
FireduckFireduck
Fireduckwata2ki
 
パッチを投稿してみた話
パッチを投稿してみた話パッチを投稿してみた話
パッチを投稿してみた話wata2ki
 
Linux kernelのbspとupstream
Linux kernelのbspとupstreamLinux kernelのbspとupstream
Linux kernelのbspとupstreamwata2ki
 

Plus de wata2ki (7)

鹿児島らぐハイブリッド開催への道
鹿児島らぐハイブリッド開催への道鹿児島らぐハイブリッド開催への道
鹿児島らぐハイブリッド開催への道
 
Linuxの2038年問題を調べてみた
Linuxの2038年問題を調べてみたLinuxの2038年問題を調べてみた
Linuxの2038年問題を調べてみた
 
しょしんしゃのためのhello world
しょしんしゃのためのhello worldしょしんしゃのためのhello world
しょしんしゃのためのhello world
 
Linuxのsemaphoreとmutexを見る 
Linuxのsemaphoreとmutexを見る Linuxのsemaphoreとmutexを見る 
Linuxのsemaphoreとmutexを見る 
 
Fireduck
FireduckFireduck
Fireduck
 
パッチを投稿してみた話
パッチを投稿してみた話パッチを投稿してみた話
パッチを投稿してみた話
 
Linux kernelのbspとupstream
Linux kernelのbspとupstreamLinux kernelのbspとupstream
Linux kernelのbspとupstream
 

YoctoをつかったDistroの作り方とハマり方