8.2. Miks ehitada kohandatud kernel?

Traditsiooniliselt on FreeBSD-l olnud nn. ``monoliitne'' kernel. See tähendas, et kernel oli üks suur programm, mis toetas kindlat hulka seadmeid, ja kui sa soovisid kerneli käitumist muuta, tuli kompileerida uus kernel ja sellega süsteem uuesti käivitada.

Praegu liigub FreeBSD kiirelt mudeli poole, kus suur osa kerneli funktsionaalsusest on moodulites, mida saab vajadusel kernelisse dünaamiliselt lisada või sealt eemaldada. See võimaldab kernelil kohaneda ootamatult tekkivate riistvaraliste võimalustega (nagu näiteks sülearvutite PCMCIA kaardid) või lisada uut funktsionaalsust, mida kerneli kompileerimise hetkel veel ei vajatud. Sellist mudelit tuntakse modulaarse kernelina. Mitteametlikult kutsutakse neid KLD-deks.

Vaatamata sellele on siiski vajalik ka mõningane staatiline kerneli seadistamine. Mõnedel juhtudel on näiteks funktsionaalsus kerneliga niivõrd seotud, et viimast ei saagi teha dünaamiliselt laaditavaks. Võib ka olla, et keegi pole veel lihtsalt jõudnud kirjutada soovitud funktsionaalsusega dünaamiliselt laetavat kernelimoodulit.

Kohandatud kerneli ehitamine on üks põhilisi rituaale, mille pea iga UNIX® kasutaja peab läbima. Kuigi see võtab aega, on kompileerimisel siiski sinu FreeBSD süsteemi jaoks palju eeliseid. Erinevalt GENERIC kernelist, mis peab toetama suurt hulka erinevat riistvara, sisaldab su kohandatud kernel tuge ainult sinu PC riistvarale. Sellel on hulk eeliseid, nagu näiteks: