So passen Sie Ihren Kernel unter FreeBSD an und kompilieren ihn neu 10.1

Einführung

Das FreeBSD-Betriebssystem verwendet standardmäßig den Kernel + GENERIC +. Dies ist eine Standardkonfiguration, die verwendet wird, um eine Vielzahl von Hardwarekomponenten ab Werk zu unterstützen. Es gibt jedoch viele verschiedene Gründe für das Kompilieren eines benutzerdefinierten Kernels, darunter Sicherheit, erweiterte Funktionalität oder bessere Leistung.

FreeBSD verwendet zwei Code-Zweige für sein Betriebssystem: Stable und Current. Stable ist die aktuelle Codeversion, die produktionsbereit ist. Current ist die neueste Code-Version des Entwicklerteams und verfügt über einige der neuesten Funktionen, ist jedoch anfälliger für Fehler und Systeminstabilität. In diesem Handbuch wird der stabile Zweig verwendet.

In diesem Tutorial werden wir einen FreeBSD-Kernel mit einer benutzerdefinierten Konfiguration neu kompilieren.

Voraussetzungen

Um diesem Tutorial zu folgen, brauchen Sie nur:

  • Ein FreeBSD 10.1-Droplet.

Wenn Sie neu bei FreeBSD sind, können Sie die Tutorials unter Getting Started with FreeBSD nachlesen.

Schritt 1 - Beziehen des Quellcodes

In diesem Schritt ziehen wir den OS-Quellcode.

FreeBSD stellt wie viele andere UNIX-Versionen den Quellcode für sein Betriebssystem zum öffentlichen Herunterladen und Ändern bereit. Um den Kernel neu zu kompilieren, müssen Sie zuerst diesen Quellcode aus dem FreeBSD-Versionskontrollsystem ziehen.

Die FreeBSD-Foundation verwendet Subversion für ihre Code-Repositorys. Installieren wir also zuerst den binären Port von Subversion.

sudo pkg install subversion

Die Standard-Shell für FreeBSD ist tcsh, die eine interne Hash-Tabelle für Befehle in + $ PATH + verwendet. Nach der Installation von Subversion sollten Sie die Verzeichnistabellen erneut speichern.

rehash

Checken Sie abschließend eine Kopie des neuesten Stable-Zweigs in das Verzeichnis "+ / usr / src +" aus.

sudo svn co https://svn0.us-east.FreeBSD.org/base/stable/10 /usr/src

Möglicherweise werden Sie aufgefordert, ein Serverzertifikat zu akzeptieren. Geben Sie * p * ein, um die Eingabe zu akzeptieren, nachdem Sie überprüft haben, ob der Fingerabdruck mit dem im unteren Bereich von this page angegebenen übereinstimmt.

Schritt 2 - Erstellen Sie Ihre benutzerdefinierte Konfiguration

In diesem Schritt werden wir unsere neue Kernel-Konfiguration anpassen.

Die Standard-Namenskonvention für Kernel-Konfigurationsdateien ist der Name des Kernels in Großbuchstaben. Die Konfiguration dieses Tutorials wird als "+ BEISPIEL " bezeichnet. Kernel-Konfigurationsdateien befinden sich im Verzeichnis ` / usr / src / sys // conf +`; Die bei DigitalOcean verwendete Architektur ist AMD64.

Wechseln Sie in das Konfigurationsverzeichnis.

cd /usr/src/sys/amd64/conf

Erstellen und öffnen Sie die Datei "+ EXAMPLE +" zur Bearbeitung mit ee oder Ihrem bevorzugten Texteditor.

sudo ee

Die Beispielkonfiguration finden Sie unter hier. Kopieren Sie den Inhalt und fügen Sie ihn in "+ BEISPIEL +" ein. Speichern Sie die Datei und schließen Sie sie.

Diese Beispiel-Kernel-Konfiguration bezieht sich auf einen minimalen Kernel-Build, der auf ein DigitalOcean Droplet zugeschnitten ist. Die Kernelkonfiguration "+ GENERIC " bietet Unterstützung für viele verschiedene Hardwarekomponenten. Bei ` BEISPIEL +` wurden alle älteren und nicht benötigten Geräte entfernt, sodass nur die erforderlichen Gerätetreiber zum Ausführen eines Droplets erforderlich sind. Es gibt auch Unterstützung für die Paketfilter-Firewall (pf), das Traffic Shaping (altq), die Dateisystemverschlüsselung (geom_eli) und die IP-Sicherheit (IPsec).

Sie können jedoch mehr über die Konfigurationsoptionen in der FreeBSD documentation lesen und selbst experimentieren !

Schritt 3 - Erstellen und Installieren Ihres neuen Kernels

In diesem Schritt beginnen wir mit der Neukompilierung des Kernels.

Wechseln Sie zurück in das Verzeichnis "+ / usr / src " und geben Sie ein " make buildkernel +" aus, das Ihre neue Konfigurationsdatei verwendet.

cd /usr/src
sudo make buildkernel KERNCONF=

Dies kann einige Zeit in Anspruch nehmen, je nachdem, wie viele Ressourcen Sie für Ihr Droplet verwenden. Die durchschnittliche Zeit auf einem 1-GB-Tröpfchen beträgt etwa 90 Minuten.

Sobald die Neukompilierung Ihres Kernels abgeschlossen ist, können Sie mit der Installation beginnen.

sudo make installkernel KERNCONF=

Wenn dies abgeschlossen ist, starten Sie Ihr System neu.

sudo shutdown -r now

Ihr Server sollte jetzt beginnen, die aktuell ausgeführten Dienste herunterzufahren, die Festplatten zu synchronisieren und den neuen Kernel neu zu starten. Sie können sich bei der Droplet-Konsole anmelden, um den Startvorgang zu verfolgen.

Melden Sie sich nach dem Neustart des Servers erneut an. Mit dem folgenden Befehl können Sie überprüfen, ob Ihre neue Kernelkonfiguration verwendet wird:

sysctl kern.conftxt | grep ident

Die Ausgabe sollte sein:

ident

Fazit

Herzliche Glückwünsche! Sie haben Ihren Kernel erfolgreich neu konfiguriert und kompiliert.