Warum sollte ich einen benutzerdefinierten Kernel erstellen? [geschlossen]

7

Einige meiner Mitarbeiter haben benutzerdefinierte Kernel für ihre Workstations und Server erstellt.

Welche Vor- und Nachteile hat das Erstellen eines benutzerdefinierten Kernels?

Warum sollte ich einen benutzerdefinierten Kernel erstellen?

tbenz9
quelle
1
Ein Grund ist, eingebaute und Module zu deaktivieren, die Sie nicht benötigen, um Startzeit und Speicherplatz zu beschleunigen (nicht so sehr ein Problem)
jmathew
2
Um mehr über den Kernel, seine Funktionen und seine Konfiguration zu erfahren.
Jordanm
Ich möchte nur Gentoo erwähnen , eine Distribution, bei der es darum geht, eigene Pakete zu kompilieren.
JCora

Antworten:

6

Es gibt mehrere Gründe, warum man einen Kernel manuell kompilieren kann. Ich werde versuchen, diejenigen aufzulisten, an die ich hier denken kann:

  1. Ein oft zitierter, aber oft falscher Grund ist, dass es schneller funktioniert. Durch Anpassen der Compiler-Flags für das jeweilige System können Sie theoretisch einen besseren Bytecode erstellen. Bei modernen Compilern ist dies jedoch nicht oft der Fall.
  2. Ändern Sie bestimmte Kompilierungszeit-Flags. Beispiel: Zum Kompilieren des Kernels mit enthaltenen Debugging-Informationen. Dies gilt jedoch möglicherweise nicht für Ihren Fall.
  3. So entfernen Sie unnötige Teile aus dem Kernel. Aber wie von @jordanm angegeben, sind diese Teile fast immer Module und spielen möglicherweise keine Rolle. In einigen Fällen kann der Unterschied jedoch erheblich sein.
  4. Für akademische Zwecke. Durch das Kompilieren Ihres eigenen Kernels lernen Sie viel über den Erstellungsprozess. Außerdem lernt man die verschiedenen Konfigurationsoptionen kennen.
  5. Bestimmte Module ersetzen. Zum Beispiel, um das con kolivas-Patchset, das Echtzeit-Patchset usw. zu verwenden.
  6. In bestimmten Situationen, insbesondere in eingebetteten Szenarien, können dem Kernel benutzerdefinierte Systemaufrufe hinzugefügt werden. Diese würden auch eine benutzerdefinierte Kompilierung erfordern.
  7. Einige Leute wie ich lieben es einfach, am System zu basteln. Und einige Konfigurationsoptionen werden zufällig geändert, um zu sehen, wie das endgültige System darauf reagiert. Solche Menschen sind jedoch selten und selten.
verdammt
quelle
4

Durch das Erstellen eines benutzerdefinierten Kernels können Sie einige unnötige Teile des Kernels entfernen, um den Overhead (eingebettete Geräte) oder Sicherheitslücken (Server) zu verringern.

Soosh
quelle
Die meisten "unnötigen" Teile sind Module in vorgefertigten Distribution-Kerneln, daher spielt dies keine große Rolle.
Jordanm