Ich arbeite nicht für eine Distribution, aber mir fallen mindestens zwei Gründe ein:
- Einige Distributionen wenden ihre benutzerdefinierten Patches auf den Kernel an, die noch nicht in die Hauptlinie eingebunden sind. Das bedeutet, dass sie bei jedem Update des Kernels sicherstellen müssen, dass ihre Patches nichts kaputt machen und immer noch richtig funktionieren.
- Sogar die neueste stabile Kernel-Version kann einen Fehler enthalten, Distributionen, die Zuverlässigkeit ernst nehmen, werden einige Testverfahren/Prozesse durchlaufen wollen, bevor sie einen Kernel an ihre Kunden ausliefern.
Der Systemaufruf des Linux-Kernels Schnittstellen sind sehr stabil. Aber der Kernel hat andere Schnittstellen, die nicht immer kompatibel sind.
/proc
ist größtenteils stabil, aber in der Vergangenheit gab es einige Änderungen (z. B. einige Schnittstellen wurden auf/sys
verschoben einige Zeit nach/sys
wurde erstellt).- Einige gerätebezogene Schnittstellen wurden in der Vergangenheit entfernt.
/sys
enthält einige stabile Schnittstellen (aufgelistet inDocumentation/ABI/stable
) und einige, die es nicht sind. Sie sollten nicht diejenigen verwenden, die dies nicht tun, aber manchmal tun es die Leute, und ein einfaches Sicherheits- und Stabilitäts-Upgrade sollte die Dinge für sie nicht kaputt machen.- In der Vergangenheit gab es Inkompatibilitäten mit Modutils (neuere Kernel erfordern eine neuere Version von Modutils), obwohl ich glaube, dass das schon eine ganze Weile her ist.
- Es gab auch Inkompatibilitäten in Bezug auf den Startvorgang bei einigen ungewöhnlichen Konfigurationen. Selbst eine Vergrößerung des Kernels könnte auf einigen eingebetteten Systemen zu Problemen führen.
- Während der Kernel extern ist Schnittstellen sind ziemlich stabil, die internen Schnittstellen nicht. Die Regel für interne Schnittstellen ist, dass jeder sie brechen kann, solange er interne Verwendungen repariert, aber die Reparatur von Modulen von Drittanbietern liegt in der Verantwortung des Autors dieser Module. Insgesamt führen ziemlich viele Installationen Module von Drittanbietern aus:zusätzliche Treiber für Hardware, die vom Kernel nicht unterstützt wurde (wenn die Hardware vom neuen Kernel unterstützt wird, ist das in Ordnung, aber was ist, wenn nicht), proprietäre Treiber ( Während die Welt ein besserer Ort wäre, wenn alle Treiber Open Source wären, ist dies nicht der Fall; wenn Sie beispielsweise eine gute 3D-GPU-Leistung wünschen, sind Sie ziemlich auf proprietäre Treiber angewiesen) usw.
- Einige Leute müssen ihren Kernel oder einige Module von Drittanbietern neu kompilieren. Neuere Kernel können oft nicht mit älteren Compilern kompiliert werden.
Alles in allem sind Module von Drittanbietern der Hauptgrund, nicht auf eine neuere Kernel-Version umzusteigen.
Einige Distributionen bieten dennoch neuere Kernel als Option an. Beispielsweise stellt Debian Kernel aus Testing für Benutzer der Stable-Version durch Backports zur Verfügung. In ähnlicher Weise sind unter Ubuntu LTS Kernel aus neueren Ubuntu-Versionen verfügbar, werden jedoch nicht standardmäßig verwendet. Dies ist vor allem für Neuinstallationen auf Hardware nützlich, die noch nicht unterstützt wurde, als die Distribution fertiggestellt wurde.