Wydrukuj tę dokumentację Pokaż jako slajdy
Spis Treści
Wykorzystanie ccache
Można wykorzystać ccache w celu przyspieszenia kompilacji. Co prawda pierwsza kompilacja nie jest szybsza (w końcu cache musi powstać), ale kolejne powinny znacząco skrócić czas kompilacji źródeł systemu.
Instalacja ccache
Z wykorzystaniem własnego repozytorium pakietów zainstalować sam ccache:
pkg install -Uy ccache
Konfiguracja globalna
W pliku /usr/local/etc/ccache.conf wykonujemy konfigurację:
cache_dir = /var/cache/ccache
max_size = 5.0G
Oraz wykonujemy katalog na cache:
mkdir -p /var/cache/ccache
# albo jako oddzielny zfs
zfs create sys/data/v/cache/ccache
Ustawienia dla make
Program make musi być świadomy, że ma skorzystać z ccache. W tym celu należy w pliku make.conf dodać następujące wpisy (najlepiej w /etc/make/make.local.conf:
WITH_CCACHE_BUILD= yes
CCACHE_DIR= /var/cache/ccache
Wykorzystanie meta_mode
Drugim mechanizmem przyspieszającym kompilację jest wykorzystanie META_MODE. W tym celu trzeba wykonać dwa ustawienia.
make
WITH_META_MODE= yes
Załadowanie modułu kernela
kldload filemon
Po wykonanej kompilacji powinno zadziałać polecenie kldunload filemon, ale niestety kończy się błędem "Device is in use". Ale rychły restart powinien znacznie pomóc.
Uruchomienie kompilacji
Jeżeli wykonujemy upgrade systemu z wersji do wersji, to może się zdarzyć, że w katalogach "roboczych" (/usr/obj) zostanie stara wersja programu bmake. Tak więc przed kompilacją warto usunąć katalog, aby wykonywanie kroku instalacji świata nie zwracało błędów.
rm -rf /usr/obj/usr/src/amd64.amd64/usr.bin/bmake/
Następnie (zgodnie z klasyką) uruchamiamy kompilację źródeł:
cd /usr/src
# okre/slenie maksymalnej liczby jednoczesnych zadań kompilacji
# sprawdzone w boju: ustawienie wartości większej niż 6 może powodować błędy.
${MAKEJOBS:=-j$(sysctl -n hw.ncpu)}
export $MAKEJOBS
# wykonanie poszczególnych kroków
make $MAKEJOBS buildworld && make $MAKEJOBS buildkernel && make installkernel KERNCONF=HQ11x64
# wykonanie ew. koniecznych instalacji plików konfiguracyjnych (zgodnie z manualem)
mergemaster -p
# Single user mode
make installworld
# synchronizacja plików konfiguracyjnych
# (ale wcześniej warto na chwilę skopiować skrypt startowy do sshd)
#
mv /etc/rc.d/sshd /etc/rc.d/sshd-old
Źródła w sieci internet
(c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.

Gdy trzeba dołączyć inną (pod)stronę https://moinmo.in/HelpOnMacros/Include https://moinmo.in/HelpOnParsers
Nieprawidłowe argumenty "pagename, heading, level, from="regex", to="regex", sort=ascending|descending, items=n, skipitems=n, titlesonly, editlink"!