Ubuntu 16.04: Yoctoをビルドする


Table of Contents

1 環境

以下の様な仮想マシン環境で実行しています。

 

CPUコア数 1 RAM 1GB スワップ 1GB ストレージ 80GB

 

2 ビルドに必要なパッケージのインストール

YoctoのQuickStartのページを参照して、ビルドに必要なパッケージをインストールします。

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

3 pokyの取得

Yoctoのビルドツールであるpokyを取得します。

$ git clone

4 oe-init-build-envの実行

oe-init-build-envでpokyが提供するツールのPATH設定等が実行されます。また、buildディレクトリが作成され、そちらにディレクトリ移動されます。

$ cd poky$ . oe-init-build-env

5 local.confの設定

CPUアーキテクチャ、スレッド数、make -jの数等の指定が可能です。ここではMACHINEはデフォルトのqemux86を使用します。

$ emacs conf/local.conf

 

BB_NUMBER_THREADS 同時にビルドするパッケージの数 PARALLEL_MAKE make -jの値 MACHINE CPU/ボード

 

複数コア利用可能な環境の場合はBB_NUMBER_THREADS x PARALLEL_MAKEがコア数に等しくなる値にすると相当のビルド速度向上が見込めます。

6 ビルド

レシピcore-image-minimalをビルドします。core-image-minimalはLinuxカーネルと最小限のルートファイルシステムを作成するレシピです。

$ bitbake core-image-minimalWARNING: Host distribution “Ubuntu-16.04” has not been validated withthis version of the build system; you may possibly experienceunexpected failures. It is recommended that you use a tested distribution.

本環境では、ビルドに3時間ほど掛かりました。

buildディレクトリの容量は20GBほどになりました。

X-Window系パッケージを含むcore-image-satoの場合は30GBほど必要です。

7 QEMUの起動

oe-init-build-envを実行した後、runqemuコマンドでQEMUを起動できます。

$ runqemu qemux86

core-image-minimalはX-Window系のパッケージが含まれないのでttyの表示のままです。

0001_runqemu.png

nographicオプションを使用することで、GUIウィンドウを使わずに起動することもできます(SSH環境で便利です)。qemuparamsオプションを使用することで、QEMUに渡すオプションを指定することができます(GDBとの連携に使えます)。

$ runqemu qemux86 nographic$ runqemu qemux86 qemuparams=”-gdb tcp::10000 -S” # wait gdb’s target remote

Android | Linux | SDL - Narrow Escape