Beginnend mit Version 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 via CVS zusätzlich zum current source erhältlich. User können sich aussuchen welchem Zweig (branch) sie folgen wollen:
Das Daily Changelog hat die Details welche Patches in den patch branch aufgenommen wurden. ALs generelle Regel gilt, dass alle Errata-Einträge innerhalb von 48 Stunden in den patch branch eingefügt werden, nachdem der Errata-Eintrag erfolgt ist. Andere Patches für die jeweilige Version können ebenfalls eingefügt werden, das hängt aber von folgenden Bedingungen ab:
Um den patch branch für eine spezielle Version von OpenBSD zu bekommen, kannst du entweder den bereits existierenden Source tree updaten (von FTP oder der CD) oder du kannst den Source Code frisch von einem AnonCVS Server beziehen (Vorsicht: Das ist eine ganze Menge Source !) Instruktionen, um den patch branch zu bekommen gibt es in der Der Anfang mit AnonCVS-Sektion der AnonCVS Dokumentation. Denk daran, dass die patch branches nicht gut sind, um von einer Version zu einer anderen zu wechseln, z.B. von 2.5 zu 2.6. Sie sind nur sinnvoll, um die Patches auf dem aktuellen Stand zu halten. Wenn du versuchst, von einer Version zur nächsten mit source zu wechseln, besuche und lese bitte auch die upgrade-minifaq-Seite.
Um den Standardkernel aus stable zu bauen:
# 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 ausfbewahren) # cp bsd /bsd (Den neuen Kernel an seinen Platz kopieren) # reboot
Wie oben ersetze die Architektur, anstatt von i386 nimm 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 heisst.
Um die System Binaries neu zu erzeugen:
# cd /usr/src # rm -r /usr/obj/* # make obj && make build
Das wird eine Weile dauern...