Etizolam

For our good night sleep.

Yocto Linux 自力でのコンパイル再挑戦, Interface 2014/6月号を写経

“お手軽ボードでホントにできる! インテルでI/O”と書かれたInterfaceによるGalileo特集号が出ていたので買ってみた。

組み込みに関しては何から始めていいのか全然分からなかった僕には、一通りまとまった情報として非常に参考なった。又第3部以降は、yocto Projectに関する記事がしっかり書かれていたので、実際に写経をしてみることにした。

その際に、読み飛ばして逆に無駄な時間を使ってしまったポイントを箇条書きしてみた。(記事をちゃんと読んでいる人は問題ないと思うけど…)

  • VirtualBoxの仮想マシンのディクスのサイズは、最低でも32Gバイト以上を準備する。toolchaineをコンパイルするなら、雑誌の時事通り100Gバイトを用意しておく。ディスク容量不足は、コンパイル後半で分かるので大幅な時間のロスになります。(記事では「100Gバイト程度」になっている…)
  • VirtualBoxの仮想マシンのネットワークのグローバルIP接続設定と確認は、事前に済ませる。(当然か…)
  • ubuntuの配布パッケージには、unzipxは存在しないようなので、apt-get installではunzipに変更する。
  • wgetなどで仮想マシンへ直接DLしたい場合は、次のリンクBoard_Support_Package_Sources_for Intel_Quark_V0.7.5.7zを利用する。
  • Ubuntu12.04の場合、ビルド時に渡ってくる引数が長すぎるとコンパイルエラーになる。従って必ず記事の指定通りの方法でmeta-clanton_v0.7.5.tar gzを解凍する。(つまらないコンパイルエラーが一番時間の無駄!)
  • meta-clanton_v0.7.5/yocto_build/conf/local.conf内のBB_NUMBEWR_THERADSPARALLEL_MAKEの値を、仮想マシンの割当CPUコア数に合わせて変更をしておく。ビルド時に並列プロセスが重なると逆に遅くなる。(雑誌の110項右上参照)
  • ShellにPathを設定していないので、source porky/oe-build-env yocto_buildを真面目に実行しないとbitbakeが実行できなかった。(当然かonz…)

尚コンパイル環境にUbuntu12.10以降を使う場合は、田所氏の「IntelのGalileoのSDカード用Linuxイメージを作る」がとっても参考になります。是非参考にしてください。

蛇足ですが…。今回の記事を読まなかったらSDイメージのコンパイルに再挑戦することはなかったと思います。田所氏のSDイメージは、何でも簡単に手に入手できる便利なrepoがあるのという意味で、初心者には最高の選択肢だと思っています。

これから、次の段階のカスタムイメージ作成に挑戦します~。

追記:

Interface誌に従って、meta-toolchainをコンパイルしていたら軽く32Gのディスクスペースを使いは果たしてしまいました。後で後悔しない為にも100Gバイトのディスクスペース確保は必要!