Począwszy od wersji 2.7, OpenBSD udostępnia źródła zawierające wszystkie ważne łatki i poprawki (tj. łatki z erraty plus inne poprawki, które są oczywiste, proste i nie tak ważne by konieczne było ich opisanie w erracie) dostępne przez CVS jako dodatek do bieżącego kodu źródłowego. Użytkownik dostaję do wyboru trzy opcje:
Podstawową zasadą jest włączanie wszystkich zmian do drzewa łatek, które znalazły się w Erracie w przeciągu 48 godzin od jej opublikowania. Inne łatki mogą zostać dołączone jeśli spełniają kilka poniższych warunków:
Drzewo łatek dla konkretnej wersji OpenBSD można uzyskać w prosty sposób uaktualniając istniejące źródła (uzyskane z FTP lub płyty CD) lub pobierając kompletne drzewo z serwera AnonCVS. Opis czynności niezbędnych do uaktualnienia (bądz pobrania) drzewa łatek znajduje się w sekcji Zaczynamy używać Anonimowy CVS w Dokumentacji AnonCVS. Proszę mieć na uwadze to, że drzewo łatek nie umożliwia przejścia z jednego wydania OpenBSD do drugiego, np. z wersji 3.7 do 3.8. Możliwe jest tylko utrzymywanie aktualnego systemu w danej wersji. Jeśli planujesz przejście do nowej wersji z pewnością zainteresuje Cię dokument upgrade-minifaq. Nie ma możliwości także "powrotu" do wersji -stable z wersji -current z powodu różnych problemów z bibliotekami.
Oto skrócona instrukcja kompilacji kernela:
# cd /usr/src/sys/arch/i386/conf # /usr/sbin/config GENERIC # cd /usr/src/sys/arch/i386/compile/GENERIC # make clean && make depend && make
W zależności od posiadanej architektury sprzętowej zamień i386 na sparc, alpha, itd.
Reboot komputera:
# cd /usr/src/sys/arch/i386/compile/GENERIC # cp /bsd /bsd.old (Kopia zapasowa dotychczasowego jądra) # cp bsd /bsd (Nowy kernel) # reboot
Podobnie jak w poprzednim przykładzie jeśli posiadasz inna architekturę odpowienio zmodyfikuj frazę i386. Jeśli uruchomienie systemu z nowym jądrem nie powiedzie się, można w prosty sposób przywrócić poprzenie ustawienie ładując poprzedni kernel, który teraz nazywa się bsd.old.
Aby skompilować system operacyjny należy wykonać poniższe kroki:
# cd /usr/src # rm -r /usr/obj/* # make obj && make build
Czynność ta zajmie trochę czasu...