Tuum ja Baas
Sisukord
FreeBSD uuendamine
FreeBSD uuendamiseks tuleb uuesti kompileerida kokku nii baas kui tuum. Sourcest saab tõmmata lihtsate vahenditega nii kõige viimase release kui ka veel arenduses olevaid versioone. FreeBSD võimaldab ka käigult kompileerida näiteks FreeBSD versioo 6 ümber versioon 7'meks. Ei tasuks ainult uuendamisel ühte versiooni vahele jätta näiteks üritada versioon 4 kompileerida kohe versiooniks 7 vaid esimesena versiooniks 5 ja siis 6 ning seejärel 7 alles. Sellise uuendamise teeb võimalikuks see ,et kõik kolmanda osapoole tarkvara paigaldatakse kausta /usr/local ja baas ning kernel on monoliitne ühtne bsd arendusmeeskonna poolt loodav. Selline võimalus teeb lihtsaks FreeBSD käigupealt uuendamise.
Koodi hankimine
FreeBSD 6x ja 7x sees on juba olemas käsk csup nii ,et ei pea enam cvsup-without-gui hakkama installima piisab kui teha cvsup fail nimega (nimi võib olla tahes milline) 7-sup ja sisuga
*default host=cvsup.eenet.ee *default base=/var/db *default prefix=/usr *default release=cvs tag=RELENG_7 src-all
Ja anda käsk
csup 7-sup
Tuum
Operatsioonisüsteemi tuum laetakse mällu peale arvuti käivitamist esimesena ning tema ülesanne on vahendada füüsilisi seadmeid operatsioonisüsteemi programmidele.
Vajadus uue tuuma järele tekib tavaliselt siis, kui
- soovite eemaldada või lisada olemasolevasse tuuma mõne seadme toetust, näiteks PS2 hiirt
- soovite eemaldada või lisada tuuma teatud funktsioone, näiteks toetust IP pakettide filtreerimiseks
FreeBSD tuuma juurde kuuluvad samuti moodulid mis vaikimisi tekitatakse igakordsel tuuma paigaldamisel kataloogi /modules. Lähtetekstid
FreeBSD tuuma lähtetekstid tulevad koos reliisiga kaasa ja neid ei avaldata reliiside vahel sarnaselt näiteks Linuxi tuumale.
Konfigureerimine
Enne lähtetekstidest tuuma kompileerimist peab näitama, milliste omadustega tulemust soovitakse saada. Seda tehakse ühe tekstifaili sisu redigeerides.
Kerneli seadistusfail asub kaustas /usr/src/sys/arhidektuurinimi/conf nimega GENERIC näiteks 64 bitine kernelifail asub
/usr/src/sys/amd64/conf/GENERIC
Sisenege kataloogi /usr/src/sys/amd64/conf ning kopeerige meelepärase nime alla tuuma näidiskonfiguratsioonifail GENERIC
bash# cp GENERIC TUUM1
Tuuma nimi kirjutatakse traditsiooniliselt suurte tähtedega. Tuuma konfiguratsioonifaili süntaks on traditsiooniline, trellist (#) paremale jäävat teksti ja tühje ridu ignoreeritakse. Teistel ridadel on parameetrid ja nende väärtused süstaksiga
parameeter väärtus1 [väärtus2]
näiteks selline rida konfigureerib tuuma ISO9660 standardile vastavate CD-plaatide lugemise toetuse
options CD9660
aga rida
options SMP
lisab mitmeprotsessori toe
Samas kataloogis asuv fail LINT sisaldab kõikvõimalikke parameetreid koos kommentaaridega. Eriliste vajaduste puhul tasub seda faili uurida.
Tuuma kompileermine ja paigaldamine
make buildkernel KERNCONF=TUUM1 make installkernek KERNCONF=TUUM1
muutuja KERNCONF abil tohib defineerida tuumanime juba /etc/make.conf'i alla lihtsustades veelgi kompileerimist.
Olles installeerinud uue kerneli jäetakse ka eelmine kernel nime alla /kernel.old alles. Vana saate kasutada katkestades bootimise ja andes käsu
config> boot /kernel.old
Samas kirjutatakse kernel.old igakord uuesti yle nii ,et tasuks siiski teha erineva nimealla eelnevast kernelist varukoopja
cd /boot cp -r kernel.old kernel.generic
Ning boodil tuleb anda käsud.
unload config>boot /boot/kernel.generic/kernel
Systeemi kompileerimine ja paigaldamine
seejärel siseneda kausta /usr/src ja anda käsud
make buildworld
ning kui need käsud läksid veatult läbi siis
make installworld
ja kõige viimasena kataloogis /etc paiknevate konfiguratsioonifailide võrdlemine ja uuenenute asendamine.
mergemaster
Selle käsu väljundit ja küsimusi tuleks hoolikalt jälgida sest mergemaster võib tahta kirjutada üle faile milledes võib leiduda väärtuslikke seadistusi.
Moodulid
Tuuma modulaarsuse põhjuseks on see, et parasjagu mitteoluline kood poleks arvuti mällu laetud ja ei raiskaks süsteemi ressurssi. Moodulid asuvad kataloogis /boot/kernel ja nendega manipuleerimine toimub järgmiste programmidega:
kldstat - kuvatakse nimekiri kernelisse laetud moodulites kldload nimi - moodul laetakse mällu kldunload nimi - moodul eemaldatakse mälust
© EENet 2008