2016-05-12 12 views
0

プロジェクト(Arm i.mx6)では、セットアップを作成するためにbuildrootを使用します。 これは非常にうまく動作します。Buildrootスピードアップ

私の問題は、ビルドを再利用してインストーラを作成したいということです。 make cleanオプションを使用しないでください。私は現在やっている何を

1]。ファイルシステムオーバーレイでビルドルートをコンパイルする(A)

2]きれいにしてください

3]。ファイルシステムオーバーレイでビルドルートをコンパイルする(B)

これには多くの時間がかかります。

私が試してみました:

1]。ファイルシステムオーバーレイでビルドルートをコンパイルする(A)

2] (B) システムオーバーレイ(A)からのファイルは、システムオーバーレイ(B)に挿入されます。

BIインストーラスクリプトを持っていると私はBにはしたくない何A. のtar.gz形式の結果は、Aが、私はネットワークの設定を持っているという事実のためのスクリプトですので、私はAとBを必要とします

答えて

0

あなたが理解する限り、2つの「独立した」ルートファイルシステムが必要です。あなたは、2つのフォルダを作成して、二つの異なるコンフィグでそれらを使用することができます。

cd buildroot 
mkdir rootfsa 
mkdir rootfsb 
make O=rootfsa menuconfig 
make O=rootfsa 
make O=rootfsb menuconfig 
make O=rootfsb 

今、あなたは二つの異なるrootfs.tarファイルがあります:rootfsa/imagesに1つ、rootfsb/images

+0

ありがとうございました。しかし、これはまだコンパイルに非常に長い時間がかかります。私が探しているのは:1]。すべてのライブラリを一度コンパイルしてください。 2]。 rootfsa用のルートファイルシステムを構築する。 3]。 rootfsb用のルートファイルシステムを構築する。 –

0

で別のものを良い方法が本当に現時点ではありませんビルドルートでこれを達成する。ツールチェーンを別々に構築し、両方のビルド構成に使用することは可能です。例えば、永続的な場所を指すようにBR2_HOST_DIRを設定する必要があり

toolchain_defconfig 
overlay_a_defconfig 
overlay_b_defconfig 

toolchain_defconfig:つまり、あなたは、3つの構成を持っているでしょう/opt/toolchain。他の設定では、その場所に基づいてカスタム外部ツールチェーンを使用する必要があります。

このオプションは、ツールチェーン自体(コンパイラとlibc)でのみ使用できます。追加のライブラリでツールチェーンを拡張し、ビルドでこれらを使用することはできません。

2番目の可能性は、BR2_CCACHEを有効にすることです。 ccacheは、実際のコンパイル手順のほとんどを避けることができます。これは特に大きなパッケージ(Qt、Webkit、Node、...)に役立ちます。あなたの二つの構成の間のみ差がオーバーレイである場合

は最後に、あなたもbuildrootでオーバーレイ以外のすべてを構築するためのオプションを持っている、そして、あなたのオーバーレイでbuildrootによって生成されたtarballを組み合わせるためにカスタムスクリプトを記述し、それから最終的なrootfsを作成します。

+0

あなたの答えをありがとう、この時点で私は再構築が単なる事実であると判断しました。 2つのスクリプトのメンテナンスは、一晩の再構築にはるかに大きな影響を与えます。 –

関連する問題