web-dev-qa-db-ja.com

i7プロセッサ用にカーネルをコンパイルする最良の方法は?

しばらくの間、自分のカーネルをコンパイルしました。 i7プロセッサを手に入れて、ターボブーストを適切に動作させたいと思ったときに始めました。それ以来SSDを購入したので、レポバージョンよりも新しいカーネルの恩恵を受け続けています。

最近のビルドでは、奇妙なCPUスパイクが発生し始めました。これはさまざまな原因で発生する可能性がありますが、カーネルを「正しく」、可能であればこれまで以上に最適化することに焦点を当てたいと思います。

「Kernel/Compile」の「Old-Fashioned Debian」 wikiに従います。 kernel.org から直接ダウンロードして構築しているため、これを行います。 最初の質問:別の場所からソースを取得する必要があり、別のビルド方法を使用する必要がありますか?

このガイドでは、現在の.configを次のように取得することを提案しています。

cp -vi /boot/config-`uname -r` .config

現在の設定がうまく機能していても問題ない場合はこれで問題ありません...2番目の質問:Ubuntuに対応した、i7に対応したデフォルトの.configファイルはどこからダウンロードできますか?

現在、多くのカーネルパッチが流れています。 IOバグをパッチすることでシステムの応答性を高めることを約束する人もいれば、「より良い」スケジューラーを提供する人もいます(BFSなど)。ジャンク。 第3:Lucidとの互換性を高めるために2.6.35に適用するパッチはありますか?

私はそれがmake menuconfigだと恐れています。必要のないドライバーをオフにし、最適化するように見えるオプションを選択しようとしますが、実は、私はカーネル開発者ではありません。オプションがすべてを壊すのか、まったく役に立たないのかは定かではありません。 第4:i7およびSSDの.config/build-processをどのように最適化しますか?

4
Oli

私の観点からは、 kernel.org はカーネルを取得する適切な場所です。通常、メインラインからgitリポジトリを複製します。また、最近のVanillaカーネルを使用してUbuntuのパッチを適用することもできます。 diffは linux-imageパッケージページ にあります。解決しなければならないいくつかの競合がある可能性があることに注意してください。したがって、最初のバージョンの方がおそらく優れています。

野生では良い.configを見つけられないと思います。私が役立つと思うのは、カーネルソースのmake localmodconfigです。最初に、古い構成を/usr/src/linux-2.6(またはカーネルソースがある場所)にコピーしてから、このコマンドを実行します。ロードされていないすべてのモジュールを無効にします。そのため、そもそもより多くのカスタマイズを行うことができます。

Lucidに適したパッチは知りません。

私はローカル LUG のメンバーです。カーネルワークショップを時々開催しています。ここですべてのメンバーが会います。カーネルを構成し、さまざまなエントリの知識について話します。最終的にはすべての利益が得られ、これがより良いカーネルの構築に役立ちます。したがって、最適化を探している場合は、メンバーに尋ねます。それがオプションではない場合、 Linux Kernelメーリングリスト を読むことも解決策を見つけるのに役立ちます。多くの場合、役に立つディスカッションがいくつか見つかります。

4
qbi

メインラインカーネルPPAがあります: https://wiki.ubuntu.com/Kernel/MainlineBuilds

特定の問題(Ubuntuストックekernelで発生する問題)を解決しようとしているのでない限り、Ubuntuのカーネルでは利用できない特定の機能/オプションを使用しようとしているのであれば、おそらく時間を無駄にしています。

現在のカーネルに問題がある場合は、ランチパッドでバグレポートを提出してください。

3
João Pinto

ビルドしているカーネルバージョンについては言及しません。 Lucidへのパッチについて尋ねたので、それがあなたが微調整しようとしているものであると仮定します。

私の提案はあなたの時間を無駄にしないことです。 Ubuntu Kernelチームは、アップストリームの安定版リリースチームによってリリースされたすべてのパッチをLucid(およびその他のリリース)に適用します。構成パラメーターを手動で調整することにより、カーネルからもう少しパフォーマンスを得ることができるかもしれませんが、実際に改善がある場合は、改善を測定するために多くの時間を費やす必要があります。ストックカーネルにとどまり、パッチが適用されたカーネルをUbuntuから取得する方がはるかに良いでしょう。これらのパッチには、バグが見つかって修正されるときにパフォーマンスの改善が含まれる場合があります。

CPUスパイクが発生する原因は、最近アップストリームで修正されたカーネルバグと、パッチが現在Lucidに組み込まれているためです。

独自のカーネルの構築を開始すると、パッチを適用して再構築する責任を負います。それはCanonicalが人々に支払うものであり、そうする必要はありません。あなたは本当にあなたの時間と関係があるのです。

2
Brad Figg