das ganze FreeBSD-System bauen

Bevor wir das neue System installieren ist es zwingend erforderlich die Dateien /usr/src/README und /usr/src/UPDATING zu lesen! Jedenfalls die für uns wichtigen Abschnitte. Denn hier stehen Wichtige Hinweise, die beachtet werden müssen!

Man kann das System auch teilweise aktualisieren, allerdings wird im FreeBSD-Handbuch ausdrücklich darauf hingewiesen, dass die einzige Aktualisierungsmöglichkeit, bei der man davon ausgehen kann, dass alles klappt, die komplette ist.

so hab ich es immer gemacht

bis FreeBSD 4.x

Bevor der Update-Vorgang gestartet wird könnte es sinnvoll sein in der Datei /etc/rc.conf die Variable „kern_securelevel_enable“ auf „NO“ zu setzen (und das System neu starten) und alle seriellen Verbindungen zu trennen (das kann sonst sehr seltsame Effekte ergeben).

cd /usr/src
make buildworld

Um einen Kernel fuer das neue System zu bauen geht man wie folgt vor:

cd /usr/src
make buildkernel KERNCONF=GENERIC

Natuerlich kann man sich auch einen individuellen Kernel konfigurieren:

cd /usr/src/sys/i386/conf/
cp GENERIC MYKERNEL

Natürlich muss die Kernelkonfigurationsdatei noch nach den eigenen Beduerfnissen angepasst werden:

vi MYKERNEL

in dem Fall heissen die Aufruffe dann:

cd /usr/src
make buildkernel KERNCONF=MYKERNEL

Nun wird der neu gebaute Kernel installiert.

make installkernel KERNCONF=GENERIC

oder

make installkernel KERNCONF=MYKERNEL

Ist alles zur Zufriedenheit gelaufen sollte man jetzt rebooten und bei der Meldung „boot:“ den Kernel mit dem Parameter “-s“ in den Single-User-Mode starten:

boot:  boot kernel -s

Im vorletzten schritt wird das neu gebaute System installiert.

cd /usr/src
make installworld

Im letzten schritt werden in das neue System die dazugehoerigen Konfigurationsdateien eingespielt:

cd /usr/src
mergemaster

seit FreeBSD 5.x

Man sollte sich vor einem Update die Datei /usr/src/UPDATING ansehen!

Oben stehen die letzten Änderungen in den Quellen beschrieben und was man unter Umständen noch zu beachten hat.

Weiter unten steht eine Beschreibung wie ein Update durchzuführen ist. Im allgemeinen sollte das mit der folgenden Beschreibung übereinstimmen.

Bevor der Update-Vorgang gestartet wird könnte es sinnvoll sein in der Datei /etc/rc.conf die Variable „kern_securelevel_enable“ auf „NO“ zu setzen (und das System neu starten) und alle seriellen Verbindungen zu trennen (das kann sonst sehr seltsame Effekte ergeben).

cd /usr/src
make buildworld

Um einen Kernel fuer das neue System zu bauen geht man wie folgt vor:

cd /usr/src
make buildkernel KERNCONF=GENERIC

Natuerlich kann man sich auch einen individuellen Kernel konfigurieren:

cd /usr/src/sys/i386/conf/
cp GENERIC MYKERNEL

Natürlich muss die Kernelkonfigurationsdatei noch nach den eigenen Beduerfnissen angepasst werden:

vi MYKERNEL

in dem Fall heissen die Aufruffe dann:

cd /usr/src
make buildkernel KERNCONF=MYKERNEL

Nun wird der neu gebaute Kernel installiert.

make installkernel KERNCONF=GENERIC

oder

make installkernel KERNCONF=MYKERNEL

Ist alles zur Zufriedenheit gelaufen sollte man jetzt rebooten und in dem Bootmenü den Punkt auswählen, mit dem man in den Einzelusermodus kommt.

Im vorletzten Schritt wird das neu gebaute System installiert.

cd /usr/src
make installworld

Im letzten schritt werden in das neue System die dazugehörigen Konfigurationsdateien eingespielt:

cd /usr/src
mergemaster

Anleitung nach Vorschrift

das komplette System neu bauen

mach eine ordentliche Sicherheitskopie

# make buildworld
# make buildkernel
# make installkernel

reboot in Single-User-Mode

# mount -o rw /
# mergemaster -p
# make installworld
# mergemaster -i
# make delete-old
# make delete-old-libs

finaler reboot

einmaliger Kerneltest

Wenn man nur (einmal) für den nächsten Reboot einen neuen Kernel testen möchtest.

make installkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel
nextboot -k testkernel
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:GNU Free Documentation License 1.2
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki