Beginnend mit 2.7 hat OpenBSD einen Source-Tree, der wichtige Patches und Fixes von der Errata-Seite und andere, unwichtige, die keinen Errata-Eintrag verdienen, enthält und macht ihn via CVS zusätzlich zum current-Quellcode erhältlich. Benutzer können sich aussuchen, welchem ,branch' sie folgen wollen:
Als generelle Regel gilt, dass alle Errata-Einträge innerhalb von 48 Stunden nachdem der Eintrag erfolgt ist, in den ,patch branch' eingefügt werden. Andere Patches für das jeweilige Release können ebenfalls eingefügt werden, das hängt aber von folgenden Bedingungen ab:
Um den ,patch branch' für ein spezielles Release von OpenBSD zu bekommen, kannst du entweder den bereits existierenden Source-Tree aktualisieren, (von FTP oder der CD) oder du kannst den Quelltext frisch von einem AnonCVS-Server beziehen (Vorsicht: Das ist eine ganze Menge Quelltext!). Instruktionen, um den ,patch branch' zu bekommen, gibt es in der Sektion Den Anfang mit AnonCVS finden der AnonCVS-Dokumentation. Denk daran, dass die ,patch branches' nicht dafür vorgesehen sind, um von einem Release zu einem anderen zu wechseln, z. B. von 3.7 zu 3.8. Sie sind nur sinnvoll, um die Patches auf dem aktuellen Stand zu halten. Wenn du versuchst, von einem Release zum nächsten mittels Quelltext zu wechseln, lies bitte die Upgradeanleitung. Außerdem kannst du nicht von -current zu -stable zurückgehen, da es dabei Versionsprobleme mit den Bibliotheken gibt.
Um den Standardkernel aus -stable zu erzeugen:
# cd /usr/src/sys/arch/i386/conf # /usr/sbin/config GENERIC # cd /usr/src/sys/arch/i386/compile/GENERIC # make clean && make depend && make
Ersetze i386 mit deiner Architektur, z. B. sparc, alpha, etc.
Um mit dem neu kompilierten Kernel zu booten:
# cd /usr/src/sys/arch/i386/compile/GENERIC # cp /bsd /bsd.old (Eine Kopie des alten Kernels aufbewahren) # cp bsd /bsd (Den neuen Kernel an seinen Platz kopieren) # reboot
Ersetze die Architektur wie oben. Anstatt von i386 nimmst du deine. Wenn dein System Schwierigkeiten hat, mit dem neuen Kernel zu booten, kannst du einfach wieder mit dem alten Kernel booten, der jetzt bsd.old heißt.
Um die System-Binaries neu zu erzeugen:
# cd /usr/src # rm -r /usr/obj/* # make obj && make build
Das wird eine Weile dauern ...