Date: Wed, 22 Mar 2000 10:32:20 -0500 From: "J. W. Ballantine" <jwb@homer.att.com> To: freebsd-stable@FreeBSD.ORG Subject: Re: HEADS UP: 3.x -> 4.0-STABLE upgrade instructions [Failure] Message-ID: <200003221532.KAA10998@akiva.homer.att.com>
next in thread | raw e-mail | index | archive | help
Sometime in recorded history Warner Losh wrote: Let me know if the following doesn't work: > To update from 3.x to 4.0 stable > -------------------------------- > cd /usr/src > make buildworld > cd sbin/mknod > make install > <follow directions to build/install a kernel> > <follow rebuild disk /dev entries above> [*] > reboot > <in single user> > cd /usr/src > make -DNOINFO installworld > make installworld > > [*] You may need to switch from wd to ad ala 19991210 > > To build a kernel > ----------------- > Update config, genassym and go: > cd src/usr.bin/genassym > make depend all install > cd ../../usr.sbin/config > make depend all install > cd ../../sys/i386/conf > config YOUR_KERNEL_HERE > cd ../../compile/YOUR_KERNEL_HERE > make depend && make > make install > > To rebuild disk /dev entries > ---------------------------- > > MAKEDEV should be copied from src/etc/MAKEDEV to /dev before > starting the following: > > For N in the list of disks > MAKEDEV N # eg ad0 > for M in the list of slices > MAKEDEV NsMa # eg ad0s1a > So, being the brave (and foolish) soul, I set my cvsup releng tag to RELENG_4 and cvsup the sources with src-all and cvs-crypto. I then edit /etc/make.conf to set USA_RESIDENT, cd to /usr/src and do a make buildworld and it starts: -------------------------------------------------------------- >>> Rebuilding the temporary build tree -------------------------------------------------------------- rm -rf /usr/obj/usr/src/i386 mkdir -p /usr/obj/usr/src/i386/usr/bin mkdir -p /usr/obj/usr/src/i386/usr/lib/compat/aout mkdir -p /usr/obj/usr/src/i386/usr/games mkdir -p /usr/obj/usr/src/i386/usr/libdata/ldscripts mkdir -p /usr/obj/usr/src/i386/usr/libexec/elf mkdir -p /usr/obj/usr/src/i386/usr/sbin mkdir -p /usr/obj/usr/src/i386/usr/share/misc mkdir -p /usr/obj/usr/src/i386/usr/include/arpa mkdir -p /usr/obj/usr/src/i386/usr/include/g++/std mkdir -p /usr/obj/usr/src/i386/usr/include/objc mkdir -p /usr/obj/usr/src/i386/usr/include/protocols mkdir -p /usr/obj/usr/src/i386/usr/include/readline mkdir -p /usr/obj/usr/src/i386/usr/include/rpc mkdir -p /usr/obj/usr/src/i386/usr/include/rpcsvc mkdir -p /usr/obj/usr/src/i386/usr/include/openssl mkdir -p /usr/obj/usr/src/i386/usr/include/security mkdir -p /usr/obj/usr/src/i386/usr/include/ss ln -sf /usr/src/sys /usr/obj/usr/src/i386/sys -------------------------------------------------------------- >>> stage 1: bootstrap tools -------------------------------------------------------------- Several hours later (well it is a pentium 90) it ends with: cc -O -pipe -DLIBWRAP -DLOGIN_ACCESS -I/usr/src/secure/usr.sbin/sshd/../../.. /usr.bin/login -I/usr/obj/usr/src/i386/usr/include - o sshd sshd.o auth-rhosts.o auth-passwd.o auth-rsa.o auth-rh-rsa.o pty.o log-server.o login.o servconf.o serverloop.o login_access.o -L/usr/obj/usr/src/secure/usr.sbin/sshd/../../lib/libssh -lssh -lcrypt -lcrypto -lutil -lz -lwrap gzip -cn /usr/src/secure/usr.sbin/sshd/../../../crypto/openssh/sshd.8 > sshd.8.gz ===> etc ===> etc/sendmail rm -f freebsd.cf (cd /usr/src/etc/sendmail && m4 -D_CF_DIR_=/usr/src/etc/sendmail/../../contr ib/sendmail/cf/ /usr/src/etc/sendmail/../../contrib/sen dmail/cf/m4/cf.m4 freebsd.mc) > freebsd.cf chmod 444 freebsd.cf you have mail in /var/mail/root I then continue on with: # cd sbin/mknod # make install install -c -s -o root -g wheel -m 555 mknod /sbin install -c -o root -g wheel -m 444 mknod.8.gz /usr/share/man/man8 # cd /usr/src/usr.bin/genassym # make depend all install install -c -s -o root -g wheel -m 555 genassym /usr/bin install -c -o root -g wheel -m 444 genassym.8.gz /usr/share/man/man8 # cd ../../usr.sbin/config # make depend all install install -c -s -o root -g wheel -m 555 config /usr/sbin install -c -o root -g wheel -m 444 config.8.gz /usr/share/man/man8 # cd ../../sys/i386/conf # config GENERIC /usr/libexec/ld-elf.so.1: Shared object "libc.so.4" not found Ah ha, the famous "libc.so.4" not found error, quick check the archives and find I need to set LD_LIBRARY_PATH to point to /usr/obj/usr/src/lib/libc I do this and start from that point in the instructions: # cd /usr/src/sys/i386/conf # config GENERIC Don't forget to do a ``make depend'' Kernel build directory is ../../compile/GENERIC # cd ../../compile/GENERIC # make depend && make cc -c -O -Wreturn-type -Wcomment -Wredundant-decls -Wimplicit -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer- arith -Winline -Wuninitialized -Wformat -Wunused -fformat-extensions -ansi -nostdinc -I- -I. -I../.. -I../../../include -D_KERNEL -include opt_global.h -elf ../../i386/i386/genassym.c genassym genassym.o >assym.s rm -f param.c And a couple of hours later: sh ../../conf/newvers.sh GENERIC cc -c -O -Wreturn-type -Wcomment -Wredundant-decls -Wimplicit -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer- arith -Winline -Wuninitialized -Wformat -Wunused -fformat-extensions -ansi -nostdinc -I- -I. -I../.. -I../../../include -D_KERNEL -include opt_global.h -elf vers.c linking kernel text data bss dec hex filename 2174751 142284 123136 2440171 253beb kernel At this point I feel really brave and: # make install chflags noschg /kernel mv /kernel /kernel.old install -c -m 555 -o root -g wheel -fschg kernel /kernel Having commited to this point I then: # cp /usr/src/etc/MAKEDEV . # ./MAKEDEV all Although this may have been not needed, since I'm using da devices, not wd. I then shutdown now to single user mode, cd to /usr/src and do ``make -DNOINFO installworld''. This starts and continues to /bin/test where it fails due to a kernel failure. When I try to reboot the system, with the RELENG_4 kernel I get: / not unmounted cleanly, run fsck and reboot. I go into single user mode and run fsck ; fsck -p ; fsck /dev/da0s1a and a few sync's thrown in just for good luck, but still the same error. When I try to reboot with kernel.old (3.4-STABLE), it fails. Other than reinstalling the 3.4-RELEASE binaries, and thoughts on how to set / to showin it was unmounted cleanly?? thanks for any advice or thoughts, Jim Ballantine 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?200003221532.KAA10998>