Erinevus lehekülje "OpenBSD tarkvara kompileerimine" redaktsioonide vahel
(→Tuuma kompileerimine) |
(→Tuuma kompileerimine) |
||
56. rida: | 56. rida: | ||
OpenBSD 4.3 (GENERIC) #0: Sat May 3 20:13:53 EEST 2008 | OpenBSD 4.3 (GENERIC) #0: Sat May 3 20:13:53 EEST 2008 | ||
root@loomaaed.tartu.ee:/usr/src/sys/arch/i386/compile/GENERIC | root@loomaaed.tartu.ee:/usr/src/sys/arch/i386/compile/GENERIC | ||
+ | |||
+ | NB! Kui tuuma kompileerimine leiab aset seoses OpenBSD stabiilsele versioonile errata paikade rakendamisega, siis pole tarvis CVS'st uuendusi kopeerida. Piisab kasutada src.tar.gz ja sys.tar.gz arhiive ja rakendada patch programmi abil paigad nagu on kirjeldatus palas | ||
====Operatsioonisüsteemi kompileerimine==== | ====Operatsioonisüsteemi kompileerimine==== |
Redaktsioon: 4. jaanuar 2009, kell 16:08
Sisukord
Sissejuhatus
Kuna OpenBSD on vaba tarkvara, siis on võimalik kasutajal operatsioonisüsteem, st tuum ja kasutajamaa (ingl. k. userland) kompileerida lähtetekstidest. Selle tegevuse praktilist vajadust peab iga kasutaja ise hindama, reeglina tavakasutuse puhul ei ole see vajalik. Kogu süsteemi kompileerimisega võiks tegeleda näiteks sellistel põhjustel
- hoida süsteem vastavuses CVS'i stable haruga
- tekitada konkreetsele arvutile arvestatavat koormust, et veenduda süsteemi korrektses toimimises
Lisaks annab OpenBSD kompileerimisest ettekujutuse omamine parema lähtepunkti lähtetekstidena jagatavate errata paikade juurutamiseks.
Süsteem tuleb kompileerida ja uuendused kasutusele võtta sellises järjekorras
- kompileerida uus tuum
- alglaadida arvuti uue tuumaga
- kompileerida uus kasutajamaa
- tingimata pole vajalik just alglaadimise teel tagada, et uued teegid kasutusele võetakse, aga nii on ilmselt kõige otsekohesem
OpenBSD lähtetekstide kopeerimine
OpenBSD tarkvara lähtetekstid saab kopeerida anonüümsest CVSi hoidlast, soovitatav on seda teha kahes etapis
- kopeerida reliisile vastav osa ftp peeglist
- rakendada reliisile CVSist uuendus (ingl. k. update)
Operatsioonisüsteemi kasutajamaale (st kõik va tuum) vastav osa asub ftp peeglites failis src.tar.gz, tuuma lähtetekst asub failis sys.tar.gz. Mõlemad failid tuleb kopeerida kataloogi /usr/src ja seal lahti pakkida, selliselt
# cd /usr/src # wget ftp://ftp.aso.ee/pub/OpenBSD/4.3/sys.tar.gz # wget ftp://ftp.aso.ee/pub/OpenBSD/4.3/src.tar.gz # tar zxf sys.tar.gz # tar zxf src.tar.gz
Seejärel tuleb /usr/src kataloogis asudes rakendada CVS'ist uuendused
# export CVSROOT=anoncvs@anoncvs.se.openbsd.org:/cvs # cvs -d$CVSROOT up -rOPENBSD_4_3 -Pd
Tuuma kompileerimine
Tuuma kompileerimiseks tuleb öelda i386 arhitektuuril
# cd /usr/src/sys/arch/i386/conf # config GENERIC # cd ../compile/GENERIC # make clean && make depend && make
Uue tuuma paigaldamiseks tuleb öelda, kusjuures rm, ln jt käsud annab make ise
# make install rm -f /obsd ln /bsd /obsd cp bsd /nbsd mv /nbsd /bsd
Tulemusena kopeeritakse vana tuum faili /obsd ning uus tuum on /bsd. OpenBSD bootloaderit ennast tuuma paigaldamine otseselt ei mõjuta. Uue tuuma kasutuselevõtmiseks tuleb süsteem alglaadida, kompileerimise kohta on märge ka dmesg teisel real
OpenBSD 4.3 (GENERIC) #0: Sat May 3 20:13:53 EEST 2008 root@loomaaed.tartu.ee:/usr/src/sys/arch/i386/compile/GENERIC
NB! Kui tuuma kompileerimine leiab aset seoses OpenBSD stabiilsele versioonile errata paikade rakendamisega, siis pole tarvis CVS'st uuendusi kopeerida. Piisab kasutada src.tar.gz ja sys.tar.gz arhiive ja rakendada patch programmi abil paigad nagu on kirjeldatus palas
Operatsioonisüsteemi kompileerimine
Operatsioonisüsteemi teekide ja binaaride ehk kasutajamaa kompileerimiseks tuleb öelda
# rm -rf /usr/obj/* # cd /usr/src # make obj # cd /usr/src/etc && env DESTDIR=/ make distrib-dirs # cd /usr/src # make build
NB! Viimane käsk kompileerib ning ka paigaldab uue tarkvara asendades töötava süsteemi vastavad failid.
Kompileerimisel tuleb arvestada, et /usr/obj all võiks mõni GB vaba ruumi olla, ja samuti /usr/src all. Kui kompileerimine ebaõnnestub, siis saab lähteasendisse tagasi pöörduda käsudega
# cd /usr/src # find . -type l -name obj | xargs rm # make cleandir # rm -rf /usr/obj/* # make obj