Posted at

Yocto GUIツール Toasterを使ってみた

More than 1 year has passed since last update.


Yocto GUIツール Toasterを使ってみた


Toasterとは

ToasterはYoctoの操作をGUI(ブラウザ上)で行うためのツールです。

Yoctoはビルドにかなりの時間がかかる(以前かなりの低スペでビルドを走らせた時に完了まで4日かかったことがある、普通は6時間ほど)上に、ビルドをするたびにガッツリストレージを食っていく(50GBくらい)ため、Yocto専用のサーバーを立てて、そこでビルドを行うことも多いでしょう。

そういった時にToasterを使えば、いちいちsshログインせずにビルドを走らせることが出来るので、効率が上がるのではないかと思い、今まで存在は知っていても触っていなかったToasterを使ってみることにしました。


Toasterのセットアップ・起動


セットアップ・初回起動

Toasterの依存しているパッケージをインストールします。

必要なパッケージはpoky/bitbake/toaster-requirements.txtに書いてあるので、それを使います。


以下では、/home/user/work下にpokyディレクトリ(や他のレイヤーディレクトリ)があると仮定しています。


$ sudo apt-get install python3-pip

$ pip3 install --user -r /home/user/work/poky/bitbake/toaster-requirements.txt

次にToasterを起動します。

Toasterの起動はbuildディレクトリ内で行います。

buildディレクトリ内でsource toaster startで起動、source toaster stopで停止です。

$ cd /home/user/work

$ source poky/oe-init-build-env
$ source toaster start

初回起動時はレイヤー情報等を読み込むため起動まで時間がかかるようです。

次のような画面が表示されます。

The system will start.

Check if toaster can listen on localhost:8000
OK
Operations to perform:
<snip>
-2017-12-24 16:36:24,758 INFO Fetching metadata releases for morty HEAD
Updating Releases 100%
<snip>
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.

Successful startが表示されたら、http://localhost:8000を見るとToasterを起動できます。


IPアドレス・ポートを指定して起動

IPアドレス・ポートを起動時に渡してやることでIPアドレス・ポートを指定して起動することができます。

次のようにwebport=<IPアドレス>:<ポート>で指定できます。

$ source toaster stop #Toasterを既に起動していたら停止する

$ source toaster start webport=192.168.0.xx:8000


Toasterの使い方

基本的な使い方はこのビデオを見ればわかります。

おおまかな流れとしては



  1. New Projectで新規プロジェクトを立ち上げて、プロジェクト名・Yoctoのバージョンを選択


  2. Image recipesからビルドしたいイメージを選択(Add layer)する(これによって依存レイヤーが全て追加されるので楽)

  3. その他に追加したいレシピがあれば、Software recipesから探して同じように追加する


  4. Configurationでビルドターゲットマシン(Machine)を選択する

  5. 必要があればbitbake variablesからBitbake変数を編集する。

  6. 右上のType the recipe you want to buildと書かれているテキストボックスにビルドしたいレシピを入力し、ビルド

となっています。

まだ、本格的に使用できていませんが、少し触ったから感触からはかなり使いやすいツールだと思います。

新しいレシピを試してみたり、新しいボードをビルドするときはlocal.confbblayers.confをあっちゃこっちゃすることも多く、結構時間がかかっていたのですが、Toasterでは一画面でそれらの操作を完結出来るため、効率アップが期待できそうです。

Yoctoの最も悩ましい側面であるビルドエラーもそこそこ見やすいので、現状満足しています。



参考資料

Toaster Usetr Manual