コンテナで使用するためのIncredibuildの設定

Docker、Podman、LXC などのコンテナで Incredibuild をマシンにインストールすることが可能です。Incredibuild を (コンテナではなく) ホスト マシンにインストールすると当該マシン上の任意のコンテナで使用できるようになります。一般的に Initiator マシンでの使用を想定しています。

Incredibuild はコンテナの制約を尊重し、ホストマシンの CPU コアなど、コンテナに割り当てられていないリソースは使用しません。Docker コンテナで 「ib_console」を使用してビルドを実行する際は 「--max-local-cores」オプションを使用します。

Incredibuild がコンテナのホストマシン上の全ての リソースを使用できるようにするには、スイッチ「--no-cgroups」 を使用し、「-max-local-cores」 スイッチを使用しないでください。

使用方法

コンテナ実行時、コンテナコマンド[docker]、[podman]、もしくは、「lxc -start」を[ib_docker]、[ib_podman]、もしくは、「ib_lxc -start] 置き換えてください。また、[ib_console]ビルドコマンドを関連するときに使用します。通常のビルドと比較して、-j の数値も大きくする必要があります。

例:[docker]コマンドが以下のようなものであった場合

docker run -i -t  -v /etc/passwd:/etc/passwd -v /etc/group:/etc/group -u 1000:1000 -v /home/xoreax/linux-2.6.34.14/:/home/xoreax/linux-2.6.34.14/  -w /home/xoreax/linux-2.6.34.14  1d070b96eb09 make -j 20

Incredibuild でビルドする場合のコマンド:

/opt/incredibuild/bin/ib_docker run -i -t  -v /etc/passwd:/etc/passwd -v /etc/group:/etc/group -u 1000:1000 -v /home/xoreax/linux-2.6.34.14/:/home/xoreax/linux-2.6.34.14/  -w /home/xoreax/linux-2.6.34.14  1d070b96eb09 ib_console --max-local-cores=6 make -j 80