distcc による分散クロスコンパイル
Bishop の U-Boot や Linuxカーネルを distcc でビルドする手順です。
目次
- 1. distcc 環境の構築
- 1.1. Debian
- 1.2. Fedora
- 2. distcc によるクロスコンパイル
- 2.1. Linux カーネル
- 2.2. U-Boot
- 3. リンク
1. distcc 環境の構築
例として以下の環境を想定しています。
- host-a, host-b, host-c の3台で環境を構築するとします。
- 各ホストのプロセッサ・コアの数はそれぞれひとつだけとします。
- 各ホストのアーキテクチャは x86 (IA-32) とします。
- あらかじめ各ホストに同じバージョンのクロス開発環境が用意されているものとします。
1.1. Debian
# aptitude install distcc
/etc/default/distcc の設定例:
# デーモンとして起動
STARTDISTCC="true"
# local と 192.168.0.0/24 からの要求を許可する
ALLOWEDNETS="127.0.0.1 192.168.0.0/24"
# listner は限定しない
LISTENER=""
# NICE 値はデフォルト
NICE="10"
# zeroconfサポートを有効 (etch の distcc では zeroconf はサポートされていません)
ZEROCONF="true"1.2. Fedora
...
2. distcc によるクロスコンパイル
2.1. Linux カーネル
host-a が localhost とすると以下のようになります。
$ export DISTCC_HOSTS="localhost host-b host-c" $ make -j6 ARCH=arm CROSS_COMPILE=arm-linux-gnu- CC="distcc arm-linux-gnu-gcc-4.1" uImage
- 環境変数 DISTCC_HOSTS でホストを指定します。
- -j オプションでジョブの数を指定します。FAQ によるとCPU数の2倍程度が目安のようです。
2.2. U-Boot
...
3. リンク
著作権と免責
Copyright © 2012 Pylone, Inc.
この文書の著作権は株式会社パイロンが保有します。
この文書は「現状のまま(as is)」で提供され、明示的であるかどうかを問わず、内容についてなんら保証するものではありません。
この文書には、技術的な誤り、誤植、不適格な表現や未完成部分等を含む可能性があります。従って、この文書は予告無しに追加、変更、削除される可能性があります。
この文書は「クリエイティブ・コモンズ-表示-2.1-日本 以降」(CC-by-2.1 or later) の下で配布されています。