Skip site navigation (1)Skip section navigation (2)
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>