Date: Wed, 19 Dec 2001 11:49:02 +0200 From: Vikash Badal / PCS <VikashB@ComparexAfrica.co.za> To: 'Piotr Wozniak' <piotr.wozniak@cs.put.poznan.pl>, freebsd-stable@FreeBSD.org Subject: RE: make buildworld failed (upgrade system from 3.5 to 4.x STABLE ) Message-ID: <501BF453CDCFD111A6E40080C83DAC04E4BB94@PSICS001>
next in thread | raw e-mail | index | archive | help
Hi below is the procedure I used to upgrade from 3.2 to 3.5 and then to 4.4 Hope it helps Upgrade from 3.5 STABLE to 4.1.1 RELEASE ============================= edit supfile entries should be: ----- *default host=localcvsup *default tag=RELENG_4_1_1_RELEASE *default release=cvs *default base=/usr *default prefix=/usr *default delete use-rel-suffix src-all ---- o boot the old FreeBSD 3.x in multi-user mode o provide a particular build environment $ vi /etc/make.conf NOPERL=true # else Perl would fail to build under 3.x initially NOPROFILE=true # to speed up building MAKE_RSAINTL=YES # for non-US USA_RESIDENT=NO # dito. CFLAGS=-O -pipe # standard optimization COPTFLAGS=-O -pipe # dito. COMPAT1X=yes # install compatibility libraries COMPAT20=yes # dito. COMPAT21=yes # dito. COMPAT22=yes # dito. COMPAT3X=yes # dito. o provide boot-strapping run-time environment $ mkdir -p /usr/obj/usr/src/lib/libc $ ldconfig -R /usr/obj/usr/src/lib/libc o build the world initially (still under FreeBSD 3.x run-time) $ cd /usr/obj $ chflags -R noschg * $ rm -rf * $ cd /usr/src $ make buildworld o build and install new GENERIC kernel+modules $ make buildkernel KERNEL=GENERIC $ make installkernel KERNEL=GENERIC $ chflags noschg /kernel.GENERIC /GENERIC $ mv /kernel.GENERIC /kernel.GENERIC.3 $ mv /GENERIC /kernel.GENERIC $ chflags schg /kernel.GENERIC o upgrade FOO kernel config from 3.x to 4.x $ vi /sys/i386/conf/FOO - remove "config kernel ...", "bio", "tty", "net", "conflicts" - remove unnecessary quotations - remove "pnp" device - remove "acd0" device - remove obsolete options (check output of "config FOO") - replace some "xxx0" with "xxx" (compare LINT for details) - replace "controller" & "disk" with "device" - replace "wdc0" with "ata0" plus more "ata*" from GENERIC - replace "bpfilter" with "bpf" - replace "isa?" with "atkbdc?" for "atkbd0" and "psm0" device o build and install new FOO kernel+modules $ make buildkernel KERNEL=FIREWALL $ make installkernel KERNEL=FIREWALL $ chflags noschg /kernel /FIREWALL $ mv /kernel /kernel.3 $ mv /FOO /kernel $ chflags schg /kernel o upgrade devices $ cd /usr/src/sbin/mknod && make install $ cp /usr/src/etc/MAKEDEV* /dev $ cd /dev $ sh MAKEDEV all - make sure really all devices for disks exists: for N in the list of disks sh MAKEDEV N # eg ad0 for M in the list of slices sh MAKEDEV NsMa # eg ad0s1a - edit /etc/fstab and replace "wd0" with "ad0" o upgrade boot blocks and loader $ cd /sys/boot && make install o boot FreeBSD 4.x kernel (still with 3.x user-land) in single-user mode $ shutdown -r now > boot -s $ mount -a o install the world $ cd /usr/src/gnu/usr.bin/texinfo/install-info $ make install $ ldconfig -R /usr/obj/usr/src/lib/libc $ cd /usr/src $ make installworld $ cd /usr/src/release/sysinstall && make all install o upgrade /etc $ cp -rp /etc /etc.old $ mergemaster -v -s o final adjustments for new FreeBSD 4.x user-land $ touch /var/log/security $ touch /var/log/cron $ rm /var/cron/log* o switch to new shipped OpenSSH [OPTIONAL!] $ ssh-keygen -f /etc/ssh/ssh_host_key $ ssh-keygen -d -f /etc/ssh/ssh_host_dsa_key $ vi /etc/rc.conf sshd_enable="YES" $ pkg_delete ssh-1.2.26 $ vi /etc/ssh/ssh/sshd_config change permitrootlogin to yes o boot FreeBSD 4.x kernel and user-land in multi-user mode $ shutdown -r now o rebuild some criticial programs to avoid spurious segfaults under the forthcoming final "buildworld/installworld" step $ vi /etc/make.conf #NOPERL=true $ cd /usr/src/gnu/usr.bin/perl $ (cd libperl && make all install) $ (cd perl && make all install) $ make clean all install $ cd /usr/src/usr.bin/lex && make clean all install $ cd /usr/src/usr.bin/yacc && make clean all install $ cd /usr/src/gnu/usr.bin/as && make clean all install $ cd /usr/src/gnu/usr.bin/cc && make clean all install $ cd /usr/src/gnu/lib/libgcc && make clean all install o build and install the world finally from scratch (under FreeBSD 4.x run-time) $ cd /usr/obj $ chflags -R noschg * $ rm -rf * $ cd /usr/src $ make buildworld $ make installworld o rebuild the kernel with the final tools $ cd /sys/i386/conf $ config FOO $ cd /sys/compile/FOO $ make depend all $ make install o reboot to switch to the final FreeBSD 4.x system $ shutdown -r now Upgrade from 4.1.1 to 4.4 ============================= edit supfile entries should be: ----- *default host=localcvsup *default tag=RELENG_4_4 *default release=cvs *default base=/usr *default prefix=/usr *default delete use-rel-suffix src-all ---- execute the command cvsup -g -L 2 -Z supfile edit /etc/make.conf add the following lines: ------- MAKE_RSAINTL=NO USA_RESIDENT=NO CFLAGS=-O -pipe COPTFLAGS=-O -pipe COMPAT1X=YES COMPAT20=YES COMPAT21=YES COMPAT22=YES COMPAT3X=YES ---------- cd /usr/src make buildworld cd /usr/src/sys/i386/conf config -g FIREWALL cd ../../compile/FIREWALL make depend && make && make install && shutdown -r now after reboot cd /usr/src make installworld mergemaster -v [ this is interactive ] cd /dev sh MAKEDEV all cd /usr/src/release/sysinstall make all install shutdown -r now -----Original Message----- From: Piotr Wozniak [mailto:piotr.wozniak@cs.put.poznan.pl] Sent: 19 December 2001 11:41 To: freebsd-stable@FreeBSD.org Subject: make buildworld failed Hi, I'd like to upgrade system from 3.5 to 4.x STABLE (tag in supfile was RELENG_4) but 'make buildworld' stops and following error occurs: ----------------------------------------------------------------------- c++ -O -pipe -I/usr1/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib -I/usr1/src/gnu/usr.bin/gperf -c /usr1/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/new.cc /usr1/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/new.cc:80: warning: `catch', `throw', and `try' are all C++ reserved words /usr1/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/new.cc: In function `void operator delete(void *)': /usr1/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/new.cc:82: declaration of `operator delete(void *)' throws different exceptions... <internal>:82: ...from previous declaration here *** Error code 1 Stop. *** Error code 1 ------------------------------------------------------------------------ What can I do? Please help :) Piotr Wozniak To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?501BF453CDCFD111A6E40080C83DAC04E4BB94>