FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

Zynq用Yocto-LinuxをビルドするためのVagrantfileとchef (2)

msyksphinz.hatenablog.com

前のブログで、Yocto-LinuxをビルドするためのVagrantfileとchefを作成したが、途中でビルドが失敗してしまう問題があった。 何度か繰り替えしたトライした結果、どうやらタイムアウトになっていたようだ。Vagrant(というかChef?)は1時間(3600秒)以上一つのプロセスが終了しないと異常終了するようだ。

Chefのビルドプロセスに、

timeout 36000 # 10時間

を追加することでビルドの成功が確認できた。こういうときはきちんとデバッグメッセージを表示させながらやるべきだね。

github.com

diff --git a/vagrant-yocto/yocto-repo/site-cookbooks/yocto-tools/recipes/default.rb b/vagrant-yocto/y
index 0cdd53c..31f0dd5 100644
--- a/vagrant-yocto/yocto-repo/site-cookbooks/yocto-tools/recipes/default.rb
+++ b/vagrant-yocto/yocto-repo/site-cookbooks/yocto-tools/recipes/default.rb
@@ -64,6 +64,7 @@ bash "Format Build environment" do
   user "vagrant"
   environment "HOME" => "/home/vagrant"
   cwd "/home/vagrant/poky/"
+  timeout 36000
   code <<-EOS
   source ./oe-init-build-env
   cd /home/vagrant/poky/build/conf/