Date: Fri, 23 Feb 2001 22:28:19 -0800 (PST) From: Alex Teslik <teslik@yahoo.com> To: Antonio Carlos Venancio Junior <floripa@zoing.net> Cc: stable@freebsd.org, bobb@redbrick.dcu.ie, rse@engelschall.com Subject: RE: 3.X-S to 4.X-S Problem Message-ID: <20010224062819.21874.qmail@web5201.mail.yahoo.com>
next in thread | raw e-mail | index | archive | help
Dear Antonio,
I did solve this problem with the help of the email below. Note that
before I did it I re-CVSup-ed with RELENG_4_0_0_RELEASE, blowing away RELENG_4
which just didn't work. I started with 3.2-RELEASE, upgraded to RELENG_3 with
no problems, then went to RELENG_4_0_0_RELEASE. I followed the steps below
pretty thoroughly except for the OpenSSH stuff (which I didn't need).
A funny thing I noticed was that I had to do the ldconfig part everytime
before I ran the buildworld, or else it would "forget" about where the libc
stuff was. Other than that not too many problems except for the kernel FOO
upgrade part. What a headache. Does anyone have a document that notes changes
from the 3.x kernel syntax to the 4.x kernel syntax besides LINT. <lazy> LINT
doesn't point out the changes, it just has the syntax in it. </lazy>
A big thanks to bobb and Ralf for ending the suffering. I hope it works
for you too! Next step, 4.2-RELEASE.......
ALEX---->
--- Robert bobb crosbie <bobb@redbrick.dcu.ie> wrote:
> Date: Mon, 19 Feb 2001 18:10:01 +0000
> To: teslik@yahoo.com
> Subject: Re: your mail
> Organization: bobb Industries
> From: bobb@redbrick.dcu.ie (Robert "bobb" crosbie)
>
> Charlie Root hath declared on Monday the 19 day of February 2001 :-:
> > Dear List,
> >
> > I keep getting the following error when upgrading to 4-STABLE from
> 3-STABLE.I am following UPDATING exactly. This error occurs during
> buildworld.
>
> There are a number of issues going from 3 to 4.
> There is a good document on how to get around it at
> http://laa.zp.ua/doc/FreeBSD/3.5-4.x.upgrade.txt
> Though the site seems to be down at the moment, I'll attach the copy I
> have.
>
> --
> Robert "bobb" Crosbie.
> > Date: Thu, 3 Aug 2000 15:22:32 +0200
> From: "Ralf S. Engelschall" <rse@engelschall.com>
> To: freebsd-stable@FreeBSD.ORG
> Subject: [PROCEDURE] Successful 3.5-S to 4.1-S upgrade
> Message-ID: <20000803152232.A74889@engelschall.com>
>
>
> This week we've moved all of our 3.5-STABLE boxes to 4.1-STABLE. As others
> already determined, the steps in /usr/src/UPDATING are not sufficient for a
> successful and smooth upgrade. While we upgraded machine after machine this
> week, we had to adjust and enhance our upgrade procedure many times. Now that
> all of our machines were successfully upgraded, I want to share our
> experiences with you by forwarding you our last version of the procedure.
>
> I'm sure some steps can be simplified or perhaps even left out, but I did not
> care very much about optimizations or speedups. For us it was just important
> that the upgrade worked correctly. And that's the case with the above steps.
> I hope this procedure can help you a little bit in upgrading your boxes, too.
>
> Yours,
> Ralf S. Engelschall
> rse@engelschall.com
> www.engelschall.com
>
> Upgrading from FreeBSD 3.5-STABLE to FreeBSD 4.1-STABLE
> Ralf S. Engelschall <rse@engelschall.com>, August 2000
> =======================================================
>
> 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=FOO
> $ make installkernel KERNEL=FOO
> $ chflags noschg /kernel /FOO
> $ 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.27
>
> 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
>
>
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-stable" in the body of the message
>
> --
> $Id: 3.5-4.x.upgrade.txt,v 1.1.2.1 2000/10/02 10:07:02 laa Exp $
>
=====
Alex Teslik
<teslik@yahoo.com>
__________________________________________________
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail.
http://personal.mail.yahoo.com/
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?20010224062819.21874.qmail>
