Upgrade FreeBSD ze zdrojovych kodu

Liquid liquid at liquid.cz
Thu Jul 4 14:54:23 CEST 2002


Quoting Cejka Rudolf <cejkar at fit.vutbr.cz>:

> 
> Upgrade FreeBSD ze zdrojovych kodu:
> 
> A) Nainstalovat port cvsup.
> 
> B) Vytvorit /usr/local/etc/supfile. V /usr/share/examples/cvsup jsou
>    priklady. Tag RELENG_4 je 4-STABLE. Kdo chce jen nejake
> aktualizovane
>    releasy, pouzije RELENG_X_Y, treba RELENG_4_6. Zde je priklad,
>    ktery aktualizuje /usr/src a /usr/ports:
> 
> --
> # Defaults that apply to all the collections
> *default host=cvsup.cz.FreeBSD.org
> *default base=/usr
> *default prefix=/usr
> *default release=cvs tag=RELENG_4
> *default delete use-rel-suffix
> 
> # If your network link is a T1 or faster, comment out the following
> line.
> *default compress
> 
> ## Main Source Tree.
> #
> # The easiest way to get the main source tree is to use the "src-all"
> # mega-collection.  It includes all of the individual "src-*"
> collections,
> # except for "src-eBones" and "src-secure".
> # src-all
> 
> # These are the individual collections that make up "src-all".  If you
> # use these, be sure to comment out "src-all" above.
> src-base
> src-bin
> src-contrib
> src-etc
> # src-games
> src-gnu
> src-include
> # src-kerberos5
> # src-kerberosIV
> src-lib
> src-libexec
> src-release
> src-sbin
> src-share
> src-sys
> src-tools
> src-usrbin
> src-usrsbin
> 
> src-crypto
> # src-eBones
> src-secure
> src-sys-crypto
> 
> ## Ports Collection.
> #
> # The easiest way to get the ports tree is to use the "ports-all"
> # mega-collection.  It includes all of the individual "ports-*"
> # collections,
> 
> ports-all tag=.
> 
> --
> 
> C) Vytvorit nebo upravit /etc/make.conf, napriklad:
> 
> --
> USA_RESIDENT=NO
> 
> MASTER_SITE_OVERRIDE=ftp://ftp.freebsd.cz/pub/FreeBSD/ports/distfiles/
${DIST_SUBDIR}/
> 
> SUP_UPDATE=	yes
> SUP=		/usr/local/bin/cvsup
> SUPFILE=	/usr/local/etc/supfile
> # SUPFLAGS=	-g -L 2 -P - -s
> 
> # CFLAGS=-Os -pipe
> # COPTFLAGS=-Os -pipe
> 
> --
> 
> A ted ta vlastni aktualizace, ktera se da sepsat treba i do skriptu.
> Pouzivam oddelene build a install, abych mohl lepe ochytit
> pripade problemy:
> 
> 1) cd /usr/src
> 2) make update # v /usr/src uz musi byt nejaka minimalni baze z
> /usr/src
> 3) rm -rf /usr/obj/usr # docela se tim zrychli kompilace...
> 4) Podivat se do /usr/src/UPDATING, jestli tam neni neco zajimaveho.
> 5) Kdo ma vlastni jadro XXX, podivat se do /usr/src/sys/i386/conf/ na
> zmeny
>    GENERIC a LINT a zajimave veci prenest do sve konfigurace. Ja si
> vzdy
>    kopiruju GENERIC do GENERIC.orig a LINT do LINT.orig a delam diffy.
> 6) make buildworld
> 7) make buildkernel KERNCONF=XXX # Kdo ma vlastni jadro
> 8) make installkernel KERNCONF=XXX # Kdo ma vlastni jadro

Zadrhnul jsem se zde. Napsalo mi to tohle:

chflags noschg /kernel
chflags: /kernel: Operation not permitted
*** Error code 1 (ignored)
mv /kernel /kernel.old
mv: rename /kernel to /kernel.old: Operation not permitted
*** Error code 1

Stop in /usr/obj/usr/src/sys/GENERIC.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.

Pomuze nekdo?

Liquid

> 9) make installworld
> 10) mergemaster
>    # Tohle je ta hlavni finta - docela intelignetni upgrade konfigurace
>    # systemu. Sice nabizi ruzne srovnavaci/spojovaci diffy, ale
> vetsinou
>    # to delam tak, ze kdyz chce nejaky konfigurak updatovat, tak si
> svuj
>    # schovam do stareho souboru, necham jej aktualizovat a podle
> stareho
>    # souboru provedu potrebne zmeny. Nebyva jich tak moc, takze to jde
>    # docela rychle.
> 11) reboot
> 
> Krome vypadku pri rebootu v podstate zadne dalsi vypadky nutne nejsou
> a vse delam za plneho provozu. Kdo chce prechazet do single user podle
> obecnych doporuceni, staci tak udelat jen po dobu make installkernel &
> make installworld & mergemaster.
> 
> Snad to nekomu pomuze ;-)
> 
> -- 
> Rudolf Cejka <cejkar at fit.vutbr.cz> http://www.fit.vutbr.cz/~cejkar
> Brno University of Technology, Faculty of Information Technology
> Bozetechova 2, 612 66  Brno, Czech Republic
> 



More information about the Users-l mailing list