カーネルの構築に時間がかかります。

カーネルの構築に時間がかかります。

カーネルのビルド時間に関連する小さな問題があります。汚れた文章を書いてすみません。私はこれが本当にひどいです。 :D私たちのチームはqemuを使って私たちの製品のLinuxカーネルを再構築しています。私たちは皆、少なくともある程度類似したハードウェアを共有します(詳細は後で参照)。興味深いことに、コンパイル時間はホストごとに大きく異なる場合があります。 3~5分と1時間の違いについて話します。

清掃後に測定してみてください。私たちはすべてqemu-armを使ってシステム全体(私たちが開発したデバイスのシステム)のインストールイメージからbashをエミュレートして構築しました。システム自体が実行されていません。 chroot + arm bashをシミュレートし、別のarmプログラムを実行し、ホストカーネルを呼び出すだけです。 3つのホストのうち2つはホスト上でWindowsを実行するため、Linux全体(Ubuntu VM)内にさらにパッケージ化されます。すべてのホストは、利用可能なすべてのコアを利用します。

使用されたハードウェアとソフトウェアの完全な再構築時間と説明:

  1. ホスト1. Win + Hyper-VはUbuntu 20(カーネル5.4.3)をエミュレートします。 I7 第8世代6コアです。 16GB RAM。 8はVM時間3分50秒を意味します。
  2. ホスト2. Win + VMBox(ハードウェア仮想化)Ubuntu 18(カーネルは不明ですが5+)。 I7 9番6番コア。約30分かかります。仮想マシンのメモリは6GBです。
  3. ホスト3. Linux(manjaro)。カーネル 5.8. I7 6番目の4コア。 40GB RAM。 qemuはUbuntu VMなしでホスト上で実行されます。時間は約1時間です。

ハードウェアは少し異なりますが、そのような違いを作るには不十分です。プロセッサはほぼ同じです。 9世代は8世代よりもひどいですね。数字6が範囲外です。ハードウェアベース(加速)仮想化は、ホストがなければ問題になりません。 (LinuxとWindowsの間にわずかな違いがあるかもしれませんが、最終的にLinuxに基づいて構築されたので、大きな意味はありません。Arch / Debianの違いはないようです)。私はそれがすべての状況で本当だと思います。

これらのデータのどれも意味がないため、この記事を書き込みます。また、この構成では、ビルド時間に影響を与える要因が何であるかを理解しようとしましたが、ご覧のように非常に具体的です。大きな成功はなかった。

どの仕様/設定がビルドに影響するかを知っていますか?

興味と時間、書き込みスタイルに感謝します;-)

ベストアンサー1

おすすめ記事