FreeBSD - pre(kompilacia) kernelu

16.03.2007 18:25 | patie

Kedze som vcera robil kompletny upgrade mojho fbsd 5.4 kernelu na 6.2 a mam to cerstvo v pamatai tak sem davam nejake to minihowto ;], ktore sa mozno aj niekomu hodi..Podla man sa da takato (pre)kompilacia zriesit v 11. krokoch, postup je jasny,cisty (narozdiel od niektorych linux distier _NO_FLAME_ :)))) trosku som to rozsiril o editaciu confacov..

este takto na zaciatok upozornim, ze userland a kernel musia mat rovnaku verziu! (toto sa moze zdat linuxakom divne nakolko v linuxe moze mat kernel a binarky z userlandu odlisne verzie... verte mi vsak, ze rovnake verzie userlandu a kernelu su vyhodou)
tak podme na to:

(ak ta nezaujima aspon minimalna optimalizacia systemu skoc rovno na krok 5.)

1. cd /sys/i386/conf

2. cp GENERIC NASKERNEL

samozrejme namiesto NASKERNEL mozme pouzit hocico ine. (velke pismena)

3. vi NASKERNEL

teraz si nakonfigurujeme buducu podobu statickeho jadra.. pozuil som vi, samozrejme mozno pouzit iny editor. jednoducho sa to da poriesit tak. ze co nepotrebujeme vykomentujeme.. (neskor sa daju loadovat dynamicke moduly) pripadne pozreme sem Handbook - The Configuration File

upravujeme machine,cpu,ident + polozky tykajuce sa hardware a snazime sa nezakazat nic systemu dolezite!

4. vi /etc/make.conf

pred samotnou kompilaciou si este optimalizujeme make
mne to spolahlivo funguje takto:

CPUTYPE?=pentium4
CFLAGS= -O -pipe
COPTFLAGS= -O -pipe
INSTALL=install -C

5. cd /usr/src

6. make buildworld

toto zabezpeci vytvorenie /usr/obj ktory bude obsahovat docasne subory a celu strukturu noveho systemu + zacne kompilovat kniznice a system. Tento proces musi skoncit bezchybne.

7. make buildkernel KERNCONF=NASKERNEL

pouzil som "NASKERNEL" pretoze uz na zaciatku som si vytvoril subor NASKERNEL (defaultne sa pouziva GENERIC co vsak vzdy nieje najstastnejsia volba ak chceme system aspon trosku vytunit)
pokial vsetko dobre dopadlo pokracujeme instalaciou.. (ak bezime vo vyssom secureleveli ako 0 tak sa prepnite do single user modu a pokracujeme tam, svoj securelevel mozme zistit napr. sysctl kern.securelevel)

8. make installkernel KERNCONF=NASKERNEL

znovu ak vsetko prebehlo v poriadku tak..

9. reboot

10. mergemaster -p

Tuna prichadza FreeBSD s nastrojom mergemaster. Ten sleduje zmeny medzi konfiguracnymi subormi a upozornuje na ne. (vypisuje prieniky medzi suborami aj s komentarom, ak do novej verzie suboru
bolo nieco pridane vysvetli na zaciatku riadku +, ak nieco bolo odobrane tak - a nakoniec sa opyta co ma spravit d-zmazanie docasneho,i-instalacia docasneho,m-spoji subory | ak ste schopny
znovu si upravit konfiguracne subory vyberte i)

11. cd /usr/src

12. make installworld

13. make delete-old

14. mergemaster

15. reboot

16. cd /usr/src

17. make delete-old-libs

hotovo.. mozte sa pokochat uname -a

akekolvek otazky piste pod clanok do komentov..

    • Re: FreeBSD - pre(kompilacia) kernelu 17.03.2007 | 01:38
      jann   Návštevník

      po pravde, nechapem vyznam tohoto mini how-to, je to bezna rutina, ktoru zvladne aj lama mojho typu. Okrem toho si nespomenul to ako si sa dostal z 5 ky na 6 tku, hovorim o cvsupe sourcov 6.2 ky. Pac lepit 6.2 na 5 kovu radu je katastrofa. Bezny linuxacky geek ma len pocit ze ako to tym fbsdckarom pekne ide samo od seba.

      • Re: FreeBSD - pre(kompilacia) kernelu 17.03.2007 | 04:11
        Avatar patie   Návštevník

        ja som ziadny problem pri cvsupe nemal :) zeditoval confac cvsupol zdrojaky a porty a siel som na upgrade... nechapem kde je problem... je to mini-howto... je to tam napisane. mozno je takychto howto na nete dost ale preco to nenapisat sem a v slovencine... a imho by sa najmenej mali ozyvat co najmejen priepievaju niecim pre tuto "komunitu"

        zivot je tazky - jeden z najtazsich

        zivot je tazky - jeden z najtazsich
        • Re: FreeBSD - pre(kompilacia) kernelu 30.03.2007 | 01:35
          jann   Návštevník

          patie, co si tym chcel akoze povedat? tvoj dedo bol v szm? ty komunita. citas od zadu svoje pocity alebo to c osom napisal?

        • Re: FreeBSD - pre(kompilacia) kernelu 07.04.2007 | 11:55
          Corwin   Návštevník

          No ja osobne by som sa podla tohoto howto bal ist upgradovat 5.x na 6.x. Pretoze si tam vynechal par zivotne dolezitych veci, ako je precitanie si UPDATING a pod. Informacie v tom subore ti vedia neraz zachranit par prebdenych noci. Ale je krasne, ze je to v slovencine, aj ked technicka hodnota je velmi nizka (upgrade 5.4 kernelu na 6.2 a pritom upgradujes cely svet - mozno sa ale len prilis divam na formulaciu). Snad ta neodradim od pisania, nabuduce drzim palce k lepsiemu clanku.

      • Re: FreeBSD - pre(kompilacia) kernelu 17.03.2007 | 19:01
        Avatar blackhole_ventYl   Používateľ

        ja to vitam... keby ma nebodaj trafilo nieco tvrde do hlavy a siel by som FBSD instalovat zo zdrojakov, vcelku by mi tento navod bodol.

        ---
        Cuchat s nadchou, to je ako sniffovat bez promiscu.

        --- Cuchat s nadchou, to je ako sniffovat bez promiscu.
    • Re: FreeBSD - pre(kompilacia) kernelu 17.03.2007 | 04:21
      Avatar dc   Používateľ

      imho se to nekomu muze hodit a je jedine dobre ze patko neco napsal, protoze blackhole je v obdobi kdy moc obsahu nepribyva, takze i kdyby nekdo napsal howto k masturbaci, portalu to jedine prospeje ;) jedine co bych tomu clanku vytknul tak je rozsah, chtelo by to trosku podrobneji rozebrat, na druhou stranu uz z nazvu vypliva ze je to "mini howto"..
      ---
      >> i love my penis <<

      --- [root@holy-terminal]# /etc/rc.d/world restart Dilino phenel, so džanel, goďaver džanel, so phenel.
    • Re: FreeBSD - pre(kompilacia) kernelu 02.04.2007 | 18:28
      yuri   Návštevník

      ja by som len doplnil, ze ti znas, ktori chcu mat svoj kernelconfig aj po cvsupe na dalsiu verziu do /usr/src/i386/conf len symlinkuju napriklad z rootovho homu

    • Re: FreeBSD - pre(kompilacia) kernelu 02.04.2007 | 19:03
      gabriel   Návštevník

      ta ci povim ze ta optimalizacia make.conf je bohovska :o))))))) ale to je jedno...

      toz len v skratke:

      staci si buchnut GENERIC conf do /root/ a nasymlinkovat tam kam patri, zeditovat ho podla potrieb (vyhadzat hovadiny, kto sa ma potom divat na 7 MB kernelfile, fuj! ;o)

      cd /usr/src
      make buildworld && make buildkernel (ja mam KERNCONF direktivu v make.conf, je to mac izier ;)
      make installkernel
      mergemaster -p
      make installworld
      mergemaster

      este nejake to poletovanie po /etc/ ci je vsetko OK

      a az potom reboot :)

      z 5.3 na 6.2 takymto stylom uplne v pohode, popritom dalsich par masin z 5.4, 6.x ... :)

      kto to videl masinu na 2x rebootit ked staci raz ;o))

      no flame :)

      • Re: FreeBSD - pre(kompilacia) kernelu 04.04.2007 | 00:34
        Avatar patie   Návštevník

        pekne riesenie :))) kazdopadne dik za vylepsenie/ulahcenie gabika

        zivot je tazky - jeden z najtazsich

        zivot je tazky - jeden z najtazsich
      • Re: FreeBSD - pre(kompilacia) kernelu 07.04.2007 | 11:51
        Corwin   Návštevník

        A co take vsetko chces davat do make.conf na optimalizaciu? :) Toto nie je gentoo, ze tam pridas miliony prapodivnych cflagov a potom sa nestacis divit (casto preto, ze nemas ani sajnu, co tie ktore optiony robia, ale das ich tam, lebo je to in, lebo ti pojde openoffice na 10000% rychlejsie).

        • Re: FreeBSD - pre(kompilacia) kernelu 07.04.2007 | 15:48
          gabriel   Návštevník

          bud rad ze ma nepoznas, inac by si sa vazne nestacil divit... :o))))