Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Mar 2001 11:00:59 -0800
From:      "Michael A. Dickerson" <mikey_nospam@singingtree.com>
To:        <freebsd-stable@freebsd.org>
Subject:   Re: build 4-stable on 3-stable: how?
Message-ID:  <00ca01c0a5a6$a5ee83c0$db9497cf@singingtree.com>

next in thread | raw e-mail | index | archive | help
> Can anybody explain why to fix it? Or one must use 4.2-release as
> trampoline??? A month ago I asked this and Ruslan Ermilov sent me a patch,
> but this patch causes build fault also.

There seem to be about n ways to do the upgrade, where n is the number of
machines that have ever run FreeBSD 3.x.  There was a great deal of
discussion about this a few weeks ago, you can start by searching
the -stable archives for "gperf"; that will get you in to all sorts of
3.5 -> 4.stable upgrade problems.  Here is the procedure that worked for me,
which was written and revised by Pekka Savola:

-----
1. install some tools that are required to build & install RELENG_4 with old
tools:

cd /usr/src/gnu/usr.bin/texinfo/libtxi && make
cd /usr/src/gnu/usr.bin/texinfo/makeinfo && make all install
cd /usr/src/gnu/usr.bin/texinfo/install-info && make all install
cd /usr/src/gnu/usr.bin/texinfo && make all install clean

edit /usr/src/gnu/usr.bin/groff/Makefile.cfg, comment out -fno-exceptions
from CXXFLAGS

cd /usr/src/gnu/usr.bin/groff/libgroff && make
cd /usr/src/gnu/usr.bin/groff/groff && make all install clean

2. build world without perl.  miniperl requires setresuid which isn't there
yet.  Perl will be built and installed later.

make buildworld -DNOPERL

3. build the kernel and install it.

make buildkernel KERNCONF=xxx
make installkernel KERNCONF=xxx

4. reboot (multiuser is fine, I use it all the time)

reboot

5. install the tools, except perl which was not built

ldconfig -R /usr/obj/usr/src/lib/libc
cd /usr/src && make installworld -DNOPERL

6. build and install perl (and optionally sysinstall)

cd /usr/src/gnu/usr.bin/perl && make all install
cd /usr/src/release/sysinstall && make all install

7. prepare for mergemaster

cp -pr /etc /etc.backup
mv /etc/sendmail.cf /etc/mail/
mv /etc/aliases* /etc/mail/
mv /etc/mail/sendmail.cw /etc/mail/local-host-names

8. mergemaster the way you like it, change over to OpenSSH, etc.
(note: be especially careful about updating ssh; if you had an old port
installed, there will be old copies of config files and binaries in
/usr/local/sbin et al.  make sure you're running the one you think you
are! --MD)

9.  change wd* -> ad* in /etc/fstab, create these devices in /dev.

10. clean out lastlog etc., the format changed

rm /var/run/utmp /var/log/wtmp /var/log/lastlog
touch /var/run/utmp /var/log/wtmp /var/log/lastlog

11. reboot and be done ;-)
-----

Many people also report success going from 3.stable to 4.2-release, then to
4.stable.

Good luck..
M.D.



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?00ca01c0a5a6$a5ee83c0$db9497cf>