From owner-freebsd-stable@FreeBSD.ORG Thu Jan 8 09:22:02 2009 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8703B106566B for ; Thu, 8 Jan 2009 09:22:02 +0000 (UTC) (envelope-from byshenknet@byshenk.net) Received: from core.byshenk.net (core.byshenk.net [62.58.73.230]) by mx1.freebsd.org (Postfix) with ESMTP id 18B088FC14 for ; Thu, 8 Jan 2009 09:22:01 +0000 (UTC) (envelope-from byshenknet@byshenk.net) Received: from core.byshenk.net (localhost.aoes.com [127.0.0.1]) by core.byshenk.net (8.14.3/8.14.3) with ESMTP id n088wBIe040260; Thu, 8 Jan 2009 09:58:11 +0100 (CET) (envelope-from byshenknet@core.byshenk.net) Received: (from byshenknet@localhost) by core.byshenk.net (8.14.3/8.14.3/Submit) id n088wBOm040259; Thu, 8 Jan 2009 09:58:11 +0100 (CET) (envelope-from byshenknet) Date: Thu, 8 Jan 2009 09:58:11 +0100 From: Greg Byshenk To: freebsd-stable@freebsd.org Message-ID: <20090108085811.GB1580@core.byshenk.net> References: <49657C0A.7040404@vintners.net> <4965B4F1.8050707@bsd.ee> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4965B4F1.8050707@bsd.ee> User-Agent: Mutt/1.4.2.3i X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on core.byshenk.net Cc: Andrei Kolu , Mike Lempriere Subject: Re: mergemaster broken -- take 2 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jan 2009 09:22:02 -0000 On Thu, Jan 08, 2009 at 10:10:25AM +0200, Andrei Kolu wrote: > Mike Lempriere wrote: > >Hi folks -- sorry to be a nag, but my main production system is barely > >limping along on an old kernel with mismatched libraries. I have no > >idea what else to do -- please help! > >--- > >I'm upgrading 5-stable (was at 5.5) to 6-stable, in preparation for > >6-stable to 7-stable. > >No problems with cvsup, make buildworld, make installworld, make > >buildkernel, mergemaster -p. > >make installkernel, boot to single user. Then mergemaster -- blammo: > What is your exact make sequences are? > > I usually do this way: > > # csup /usr/share/examples/cvsup/standard-supfile > # cd /usr/src > here I usually softlink my kernel config file in /root directory to > appropriate architecture one and edit /etc/make.conf: > --------------------------------------------------------------------------- > SUP_UPDATE=yes > SUPHOST=cvsup.no.FreeBSD.org > SUPFILE=/usr/share/examples/cvsup/standard-supfile > PORTSSUPFILE=/usr/share/examples/cvsup/ports-supfile > DOCSUPFILE=/usr/share/examples/cvsup/doc-supfile > KERNCONF=KERNEL > --------------------------------------------------------------------------- > /usr/src/sys/amd64/conf > KERNEL -> /root/kernel/KERNEL > > # make buildkernel > # make installkernel > # make buildworld > # mergemaster -p > # make installworld > # mergemaster It may be me that is mistaken, but this seems wrong to me, as does the sequence in the original message: # cvsup # make buildworld # make installworld # make buildkernel # mergemaster -p. # make installkernel # boot to single user # mergemaster If I am not very much mistaken, the "canonical" process is: # make buildworld # make buildkernel # make installkernel # reboot (*) # mergemaster -p # make installworld # mergemaster The reasons for the other methods being wrong are (as I understand them): - You should build your new world before building your new kernel, as it may be the case that some aspects of the new kernel build are dependent upon aspects of the new world build. If you build your new kernel before building your new world, you will be building your new kernel against the old world. - You should install your new kernel before installing your new world, as it can be the case that some aspects of the new world will not be understood by your old kernel. A new kernel should always be compatible with an old userland/world, but an old kernel may not always be compatible with a new userland/world. > NOTE: I do not reboot my system until everything is updated. Why it is > necessary to boot new kernel and then upgrade world is beyound me..YMMW - I suppose that it is not strictly necessary to reboot between installing kernel and world, but I always do so. The reason for this is that, if something has gone horribly wrong, it is quite easy to go back and boot kernel.old. If you don't realize that there is something wrong until after you have installed everything (kernel and userland), it can be much more difficult to recover. -- greg byshenk - gbyshenk@byshenk.net - Leiden, NL