it-swarm-eu.dev

Der beste Weg, um einen Kernel für einen i7-Prozessor zu kompilieren?

Ich habe jetzt eine Weile meine eigenen Kernel kompiliert. Ich habe angefangen, als ich meinen i7-Prozessor bekam und wollte, dass sein Turbo-Boost richtig funktioniert. Ich habe seitdem eine SSD gekauft, profitiere also weiterhin von einem neueren Kernel als der Repo-Version.

Mit meinen letzten Builds habe ich angefangen, merkwürdige CPU-Spitzen zu bekommen. Dies könnte durch verschiedene Ursachen verursacht werden, ich möchte mich jedoch darauf konzentrieren, den Kernel "richtig" und, wenn möglich, optimierter als je zuvor zu machen.

Ich folge dem "Altmodisches Debian" auf dem Kernel/Compile Wiki. Ich mache das, weil ich aus einem direkten Download von kernel.org baue. Erste Fragen: Soll ich meine Quelle von einem anderen Ort beziehen und eine andere Erstellungsmethode verwenden?

Der Leitfaden schlägt vor, den aktuellen .config Wie folgt zu ermitteln:

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

Das ist alles in Ordnung und gut, wenn Ihre aktuelle Konfiguration gut funktioniert, aber ich bin besorgt, dass meine ein Problem enthält ... Zweite Frage: Gibt es eine gute Ubuntu-freundliche, i7-freundliche Standardeinstellung .config Datei, die ich irgendwo herunterladen kann?

Im Moment schweben viele Kernel-Patches herum. Einige versprechen ein reaktionsfähigeres System durch Patching IO Bugs, andere geben "bessere" Scheduler an (BFS ua), aber es ist schwierig, anständige Benchmarks zu finden, um festzustellen, ob sich diese Features lohnen oder nicht. ' Es ist nur instabiler Junk. Drittens: Gibt es Patches, die Sie auf 2.6.35 anwenden würden, um die Kompatibilität mit Lucid zu verbessern?

Ich fürchte, es ist make menuconfig, Wo ich Dinge vermassle. Ich versuche, Treiber auszuschalten, die ich nicht benötige, und wähle Optionen aus, die so aussehen, als würden sie die Dinge optimieren, aber ehrlich gesagt bin ich kein Kernel-Entwickler. Ich weiß nicht genau, ob eine Option alles kaputt macht oder überhaupt hilft. Viertens: Wie würden Sie den .config/Build-Prozess für ein i7 und ein SSD optimieren?

4
Oli

Aus meiner Sicht ist kernel.org der richtige Ort, um einen Kernel zu bekommen. Normalerweise klone ich das Git-Repository von mainline. Vielleicht könnten Sie auch einen aktuellen Vanilla-Kernel verwenden und die Patches von Ubuntu anwenden. Den Unterschied finden Sie auf der Seite Linux-Image-Paket . Beachten Sie, dass es zu Konflikten kommen kann, die Sie lösen müssen. Die erste Version ist also wahrscheinlich besser.

Ich schätze, Sie würden in freier Wildbahn keinen guten .config Finden. Was ich hilfreich finde, ist make localmodconfig In der Kernelquelle. Zuerst kopieren Sie Ihre alte Konfiguration nach /usr/src/linux-2.6 (Oder an den Ort, an dem sich Ihre Kernelquellen befinden) und führen dann diesen Befehl aus. Es werden alle Module deaktiviert, die nicht geladen sind. So erhalten Sie in erster Linie mehr Anpassungsmöglichkeiten.

Mir sind keine Patches bekannt, die für Lucid gut sind.

Ich bin Mitglied eines lokalen LUG . Wir machen von Zeit zu Zeit Kernel-Workshops. Hier treffen sich alle Mitglieder. Wir konfigurieren einen Kernel und sprechen über unser Wissen über verschiedene Einträge. Am Ende profitieren alle davon und dies hilft, bessere Kernel zu bauen. Wenn ich also nach Optimierung suche, würde ich unsere Mitglieder fragen. Wenn dies keine Option ist, kann auch das Lesen der Linux-Kernel-Mailingliste helfen, eine Lösung zu finden. Sie werden oft Diskussionen finden, die hilfreich sind.

4
qbi

Es gibt einen Hauptkern-PPA: https://wiki.ubuntu.com/Kernel/MainlineBuilds

Wenn Sie nicht versuchen, ein bestimmtes Problem zu lösen (das bei einem Ubuntu-Standard-Kernel auftritt), oder wenn Sie versuchen, eine bestimmte Funktion/Option zu verwenden, die im Ubuntu-Kernel nicht verfügbar ist, verschwenden Sie wahrscheinlich nur Ihre Zeit.

Wenn Sie ein Problem mit Ihrem aktuellen Kernel haben, senden Sie bitte einen Fehlerbericht an das Launchpad.

3
João Pinto

Sie erwähnen nicht, welche Kernelversion Sie erstellen. Da Sie Lucid nach Patches gefragt haben, gehe ich davon aus, dass Sie versuchen, diese zu optimieren.

Mein Vorschlag ist, Ihre Zeit nicht zu verschwenden. Das Ubuntu-Kernel-Team wendet alle Patches, die vom Upstream-Team für stabile Releases veröffentlicht wurden, auf Lucid (und andere Releases) an. Möglicherweise können Sie etwas mehr Leistung aus dem Kernel ziehen, indem Sie die Konfigurationsparameter manuell anpassen, aber Sie müssen viel mehr Zeit darauf verwenden, die Verbesserung zu messen, wenn es tatsächlich eine gibt. Es wäre viel besser, wenn Sie auf einem Standard-Kernel bleiben und die gepatchten Kernel von Ubuntu abholen würden. Diese Patches können Leistungsverbesserungen enthalten, wenn Fehler gefunden und behoben werden.

Der Grund, warum Sie möglicherweise CPU-Spitzen sehen, liegt möglicherweise an einigen Kernel-Fehlern, die kürzlich im Upstream behoben wurden und deren Patches sich gerade in Lucid eingeschlichen haben.

Sobald Sie mit dem Erstellen Ihres eigenen Kernels beginnen, übernehmen Sie die Verantwortung dafür, dass dieser gepatcht und neu erstellt wird. Dafür bezahlt Canonical die Leute, damit Sie es nicht müssen. Sie haben wirklich bessere Dinge mit Ihrer Zeit zu tun.

2
Brad Figg