Return to BSD News archive
Xref: sserve comp.os.386bsd.misc:1723 comp.os.386bsd.questions:7433 Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!europa.eng.gtefsd.com!uunet!newsflash.concordia.ca!sifon!homer.cs.mcgill.ca!storm From: storm@cs.mcgill.ca (Marc WANDSCHNEIDER) Newsgroups: comp.os.386bsd.misc,comp.os.386bsd.questions Subject: Re: Updating to current Date: 14 Dec 1993 04:28:03 GMT Organization: SOCS, McGill University, Montreal, Canada Lines: 138 Message-ID: <2ejfcj$d09@homer.cs.mcgill.ca> References: <2ej7v4INN75v@flop.engr.orst.edu> NNTP-Posting-Host: mnementh.cs.mcgill.ca In article <2ej7v4INN75v@flop.engr.orst.edu>, Jason R. Thorpe <thorpej@xanth.CS.ORST.EDU> wrote: >Does anyone have a canned procedure for updating to current? > >I'd appreciate it... I work with NetBSD, so I will describe this for NetBSD-current. The following is exactly what I did to upgrade to the tar files from saturday morning. I make no guarnatees as to it's working with anything more recent (the tar files are only updated every saturday morning): 1. There was NO /usr/src tree---Mine was completely removed/ trashed. This ends up being big as certain files have moved, and if you just copy over an old tree, things will get screwed up with miltiple copies of things. [okay,. I lied, keep the TOP level Makefile, since the current tar files don't come with it.] 2. I extracted the newest tar_files. 3. Ran the following guantlet: (I use csh) % setenv MACHINE_ARCH i386 % cd /usr/src/include; make && make install % cd /usr/usr/share/mk; make install % cd /usr/src/include; make && make install # don't ask--i just did it % setenv LDSTATIC -static % setenv NOPIC % cd /usr/src/lib/libc; make && make install % cd /usr/src/gnu/lib/libmalloc; make && make install % cd /usr/src/gnu/usr.bin/gas; make && make install % cd /usr/src/gnu/usr.bin/ld; make && make install # Things WILL barf while building rtld (ld.so). Just ignore # it and type make install (where things will barf again, because they # can't find ld.so :-)), and you will be okay. % cd /usr/src/gnu/usr.bin/gcc2; make && make install % unsetenv LDSTATIC NOPIC % cd /usr/src/lib; make && make install % cd /usr/src/gnu/lib; make && make install % cd /usr/src/gnu/usr.bin/ld; make && make install 4. Now, here is where things get messy. Most suggestions I saw recommend now just going to /usr/src, and then typeing make && make install. However, there will be a few barfs along the way, and you will want to rebuild the kernel. The top level Makefile builds things in this order: lib include bin libexec sbin usr.bin usr.sbin share games gnu sys Thus, what I did was to go to each directory, one at a time and build with make && make install. Ie (from /usr/src) % cd lib; make && make install % cd ../include; make && make install % ... AFTER building sbin, I then went and rebuilt a new kernel, because the 0.9 kernel has a bug which will cause extremely frequent kernel panics during long builds. TO do this, use the exact same procedure you used in 0.9 to build a new kernel, EXCEPT YOU MUST INSTALL A NEW CONFIG FIRST. Ie, % cd /usr/src/usr.sbin/config; make && make install % cd /sys/arch/i386/conf % $EDITOR MYCONFIGFILE % config MYCONFIGFILE % cd ../compile/MYCONFIGFILE % make depend && make % cp /netbsd /wumpus % cp netbsd /netbsd % reboot # AFTER REBOOTING< DON'T FORGET TO setenv MACHINE_ARCH i386 You can then continue building where you left off (ie /usr/src/usr.bin). Please note the following (READ ALL FIRST): a. in usr.bin, tn3270 will not build. I have never been able to get this to build, and couldn't be bothered figuring out how to fix it, thus, I just removed it temporarily from the usr.bin Makefile so that the rest would work fine. The old statically linked one will still be there, and (allah willing) should work fine. b. When in gnu/usr.bin/lex, things will vomit left and right. To get it to work, read the Makefile [basically, cd lib, make && make install; cd .. ; cp initscan.c scan.c; make && make install] c. Things in share will vomit left and right, and again, I couldn't have been bothered to fix them up, as much of the stuff was already there. After the first death in share, I just aborted, and went back to install the games tree. This might not be a great idea :-) d. in games, if you do NOT use the obj/ stuff, (as I do not), then fortune will vomit during the build. I fixed this by removing any obj/ from the Makefile. Everything worked fine after that. Finally, please note the following: 1. Please do not attempt this if you are not patient, and willing to tolerate a sudden loss of a lot of data. 2. You might want to have a copy of old binaries lying around. I trashed up a few here and there with really stdupid moves, and had to get a new (old) ld and make. 3. Kneeling towards the east before starting might help a little. this stuff is quite amusing. 4. I don't speak for the NetBSD core team, and might very well get flamed for being an ignorant little twip for this post. Use at your own risk. Right now, I'm having a gas with this thing. I just got a 1,8GB disk, and now, with the -current up and running, have even MORE space free :-) Marc 'em. -- ----------------------------------------------------------------------------- Marc Wandschneider Seattle, WA Barney the Dinosaur sings! You faint... Barney sings! Barney sings! --More-- You Die... --More--