From owner-freebsd-hackers Wed Mar 21 20:50:19 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from InterJet.elischer.org (c421509-a.pinol1.sfba.home.com [24.7.86.9]) by hub.freebsd.org (Postfix) with ESMTP id B269D37B71A; Wed, 21 Mar 2001 20:50:15 -0800 (PST) (envelope-from julian@elischer.org) Received: from InterJet.elischer.org (InterJet.elischer.org [192.168.1.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id UAA11790; Wed, 21 Mar 2001 20:52:05 -0800 (PST) Date: Wed, 21 Mar 2001 20:52:04 -0800 (PST) From: Julian Elischer To: "David O'Brien" Cc: Matt Simerson , freebsd-hackers@freebsd.org Subject: Re: In general, how to upgrade by rebuilding.. In-Reply-To: <20010321204041.A1425@dragon.nuxi.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I would also add that new kernels are almost always capable of running old binaries but the reverse is often not true.. Old kernels can often not run new binaries. (new API additions etc.) So alwyas make and install a new kernel first. (Even if you call it kernel.new or something) that way if it is bad you can still boot you old system. Then build and install your new system, running on the new kernel. On Wed, 21 Mar 2001, David O'Brien wrote: > First let me say to anyone reading the email I am replying to: > > ____ _ _ ___ _____ _ _ _ _ > | _ \ ___ | \ | |/ _ \_ _| __| | ___ | |_| |__ (_)___ > | | | |/ _ \ | \| | | | || | / _` |/ _ \ | __| '_ \| / __| > | |_| | (_) | | |\ | |_| || | | (_| | (_) | | |_| | | | \__ \ > |____/ \___/ |_| \_|\___/ |_| \__,_|\___/ \__|_| |_|_|___/ > > > > On Wed, Mar 21, 2001 at 12:58:04PM -0700, Matt Simerson wrote: > > # cd /usr/src > > # make buildkernel KERNEL= > > # cd /usr/src; make buildworld > > # make installworld > > # make installkernel > > # mergemaster > > # reboot > > > The order or "make buildworld" and "make buildkernel" are 100% totally > BACKWARDS. > > Lets explain why: There are times when the kernel source is changed to > use constructs of newer compiler/assembler/linker tools. Thus the kernel > will not build with an older set of tools. The what "make buildkernel" > does is use the tools (ie, those built from the most up to date sources) > that are built during "make buildworld" to compile a new kernel. Thus > "make buildworld" must PROCEED "make buildkernel". > > Second, the install order above is not the conservative, careful > approach. One should issue "make installkernel && reboot" after the > "make buildkernel" to ensure the new kernel works sufficiently well. If > not, one can always fall back to ``kernel.old''. Since there is no > ``world.old''; after one does the "make installworld" backup tapes are > the only way of taking the system back to its previous state. > > -- > -- David (obrien@FreeBSD.org) > GNU is Not Unix / Linux Is Not UniX > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message