Yocto Project "Toaster"を使う

本当は、GUIベースのHobを利用する予定だったが、
すでにDeprecatedになっており、代わりにToasterと呼ばれる
システムが利用可能になっていた。

Toaster Manual

Toaster - Yocto Project 2.2 (Youtube)

乱暴な言い方すると、要するにGUIからWebベースになった感じ。

Toasterの環境構築

以下は、/home2/work/以下にpokyがインストールされている場合の手順になる。python3-pipをインストールした後、bitbake以下にあるtoaster実行に必要なモジュールが記載されているテキスト使って、ユーザーローカル以下にtoasterの実行環境を作成する。

> sudo apt-get install python3-pip
> pip3 install --user -r /home2/work/poky/bitbake/toaster-requirements.txt

ここまで実行すると、ホームディレクトリに.localフォルダが作成されて
必要なモジュールがインストールされる。

Toasterの開始と終了

pokyフォルダ直下で以下のコマンドを実行する。

  • Toasterサーバーの起動
> source toaster start
  • Toasterサーバーの停止
> source toaster stop

次にコンソールで行っていたのと同様に、ビルド環境をoe-init-build-envスクリプトで作成する。pokyフォルダ内で実行して、buildフォルダを作成する。いつものようにconfフォルダと初期設定状態の設定ファイルが作成されているはず。

> cd poly
> source oe-init-build-env

このビルド環境をターゲットにして、以下のコマンドを実行すると、ToasterのWebサーバーが起動する。(デフォルトでは8000ポート)

ただし、Toaster上でも新規にProjectを作成することが可能なので、この最初のビルド環境がなんなのかイマイチ不明。

> source toaster start

The system will start.
Check if toaster can listen on localhost:8000
OK
Operations to perform:
  Synchronize unmigrated apps: toastergui, messages, humanize, bldcollector, staticfiles, toastermain
  Apply all migrations: bldcontrol, auth, contenttypes, admin, orm, sessions
Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
  Installing custom SQL...
Running migrations:
  Rendering model states... DONE
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
:
:
Toaster development webserver started at http://localhost:8000

You can now run 'bitbake <target>' on the command line and monitor your build in Toaster.
You can also use a Toaster project to configure and run a build.

Successful start.

>

ブラウザからhttp://localhost:8000にアクセスしてみると、webアプリが起動するはず。ここからはHobのようなユーザーインタフェースで、ビルド環境を構築できる。

toaster001.png