高速化を期待して、ネットワークを使用しないpetalinuxのビルドを試しました。
よくわからず試している部分もあるので間違っているところがあれば指摘してくださると助かります。
準備
sstate-cacheをダウンロードする
次に、ダウンロードもダウンロードする
Xilinxのツールを使っていると、10Gなんて小さく思えてきた。
今回は、Kriaをビルドして試します。そのため、kriaのSOMのbspをダウンロードします。
設定
ダウンロードしたsstate-cacheとdownloadsは解凍します。
tar xfz sstate_aarch64_2022.1_04190222.tar.gz
tar xfz donwloads_2022.1_04190222.tar.gz
petalinuxの環境の準備をします。
source /opt/pkg/petalinux/2022.1/setting.sh
petalinuxのプロジェクトを作成します。
petalinux-create -t project -s xilinx-k26-som-v2022.1-04191534.bsp
cd xilinx-k26-som-2022.1/
ネットワークを使わない設定を行います。
詳細は、ここに書かれています。
petalinux-config
->Yocto Setting
->Local sstate feeds settings
->local sstate feeds url
にaarch64のディレクトリのパスを記載します。
次に、Exitを使って、設定画面の先頭に戻って、Yocto Setting
Add pre-mirror url
Enterを入力します
BackSpaceやdeleteで、記載している文字を削除します。
そして、aarch64のディレクトリを入力します。先頭に、file://をつけます
これで設定は終わりです。ビルドします。時間を測定したいので、timeコマンドを使用しました。
time petalinux-build
結果は、23分でした。
real 23m32.022s
user 0m9.166s
sys 0m1.065s
では、通常のネットワークを使った場合の時間は、
real 29m32.667s
user 0m36.656s
sys 0m5.086s
結果として、ネットワークを使わないビルドの方が6分程度早かったです。
が、微妙な結果となりました。CPUとネットワーク帯域によって、結果が変わりますが、ネットワークをつかない優位性がそれほどない結果となりました。残念。