Ich habe jetzt seit einiger Zeit meine eigenen Kernel kompiliert. Ich habe angefangen, als ich meinen i7-Prozessor bekam und wollte, dass sein Turbo-Boost richtig funktioniert. Seitdem habe ich mir eine SSD gekauft, um weiterhin von einem neueren Kernel als der Repo-Version zu profitieren.
Bei meinen neuesten Builds habe ich angefangen, seltsame CPU-Spikes zu bekommen. Obwohl dies eine Reihe verschiedener Ursachen haben kann, möchte ich mich darauf konzentrieren, den Kernel „richtig“ und wenn möglich optimierter als je zuvor hinzubekommen.
Ich folge dem „Old-Fashioned Debian“ im Kernel/Compile-Wiki. Ich mache das, weil ich aus einem direkten Download von kernel.org baue. Erste Fragen:Soll ich meine Quelle woanders beziehen und eine andere Build-Methode verwenden?
Die Anleitung schlägt vor, sich die aktuelle .config
zu besorgen so:
cp -vi /boot/config-`uname -r` .config
Das ist alles schön und gut, wenn Ihre aktuelle Konfiguration gut funktioniert, aber ich fürchte, meine enthält ein Problem … Zweite Frage:Gibt es eine gute Ubuntu-freundliche, i7-freundliche Standard-.config
Datei, die ich irgendwo herunterladen kann?
Momentan sind viele Kernel-Patches im Umlauf. Einige versprechen ein reaktionsschnelleres System durch das Patchen von IO-Fehlern, andere bieten „bessere“ Scheduler (BFS usw.), aber es ist schwierig, anständige Benchmarks zu finden, um festzustellen, ob dies lohnende Funktionen sind oder ob sie nur instabiler Müll sind. Drittens:Gibt es irgendwelche Patches, die Sie auf 2.6.35 anwenden würden, um es kompatibler mit Lucid zu machen?
Ich fürchte, es ist make menuconfig
wo ich was vermassel. Ich versuche, nicht benötigte Treiber auszuschalten und Optionen auszuwählen, die so aussehen, als würden sie die Dinge optimieren, aber um ehrlich zu sein, ich bin kein Kernel-Entwickler; Ich weiß nicht genau, ob eine Option alles kaputt macht oder überhaupt hilft. Viertens:Wie würden Sie die .config
optimieren /build-process für i7 und SSD?
Akzeptierte Antwort:
Kernel.org ist aus meiner Sicht 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. Sie finden den Unterschied auf der Seite des Linux-Image-Pakets. Seien Sie sich bewusst, dass es einige Konflikte geben kann, die Sie lösen müssen. Also ist die erste Version wahrscheinlich besser.
Ich vermute, Sie würden keine gute .config
finden in der Wildnis. Was ich hilfreich finde, ist make localmodconfig
in der Kernelquelle. Zuerst kopierst du deine alte Konfiguration nach /usr/src/linux-2.6
(oder der Ort, an dem sich Ihre Kernelquellen befinden) und dann führen Sie diesen Befehl aus. Alle nicht geladenen Module werden deaktiviert. So erhalten Sie von vornherein mehr Anpassungsmöglichkeiten.
Mir sind keine Patches bekannt, die gut für Lucid sind.
Ich bin Mitglied einer lokalen LUG. Wir machen von Zeit zu Zeit Kernel-Workshops. Hier treffen sich alle Mitglieder. Wir konfigurieren einen Kernel und sprechen über unser Wissen zu verschiedenen Einträgen. Am Ende profitieren alle davon und das hilft, bessere Kernel zu bauen. Wenn ich also nach Optimierung suche, würde ich unsere Mitglieder fragen. Wenn dies nicht möglich ist, kann auch das Lesen der Linux-Kernel-Mailingliste helfen, eine Lösung zu finden. Sie werden oft hilfreiche Diskussionen finden.