From owner-freebsd-questions@FreeBSD.ORG Thu Feb 22 17:35:48 2007 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A912716A400 for ; Thu, 22 Feb 2007 17:35:48 +0000 (UTC) (envelope-from jerrymc@gizmo.acns.msu.edu) Received: from gizmo.acns.msu.edu (gizmo.acns.msu.edu [35.8.1.43]) by mx1.freebsd.org (Postfix) with ESMTP id 705CE13C48E for ; Thu, 22 Feb 2007 17:35:48 +0000 (UTC) (envelope-from jerrymc@gizmo.acns.msu.edu) Received: from gizmo.acns.msu.edu (localhost [127.0.0.1]) by gizmo.acns.msu.edu (8.13.6/8.13.6) with ESMTP id l1MHXW3V020464; Thu, 22 Feb 2007 12:33:32 -0500 (EST) (envelope-from jerrymc@gizmo.acns.msu.edu) Received: (from jerrymc@localhost) by gizmo.acns.msu.edu (8.13.6/8.13.6/Submit) id l1MHXWm9020463; Thu, 22 Feb 2007 12:33:32 -0500 (EST) (envelope-from jerrymc) Date: Thu, 22 Feb 2007 12:33:32 -0500 From: Jerry McAllister To: Robin Becker Message-ID: <20070222173332.GB20259@gizmo.acns.msu.edu> References: <45DDB8EA.6040503@chamonix.reportlab.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <45DDB8EA.6040503@chamonix.reportlab.co.uk> User-Agent: Mutt/1.4.2.2i Cc: freebsd-questions@freebsd.org Subject: Re: binary updating 6.0-6.2 X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Feb 2007 17:35:48 -0000 On Thu, Feb 22, 2007 at 03:38:18PM +0000, Robin Becker wrote: > I see from the latest announcement that freebsd-update is now in the base > system for 6.2. Following the links I see there's a procedure for 6.0-61. > and another for 6.1-6.2 binary updating. > > In the past I have always dumped all my files and /etc /usr/local/etc done > a completely fresh install, reinstalled files and manually hacked any of > the modified system files. Then follows a long process of updating the > ports tree and rebuilding the ports I need. > > Clearly I will still dump all my files in case anything horrific goes > wrong. But can I update 6.0-6.1 6.1-6.2 with a reasonable hope of success. > > The very first step seems the hardest since I have been using > freebsd-update already in my 6.0 system and the kernel is no longer a > 6.0-RELEASE, but 6.0-SECURITY FreeBSD and a warning in the notes on the > 6.1-6.2 update process says I need a GENERIC or SMP kernel. Does the > updater know about updates? What you want to do is a cvsup (Mathew Seaman recently pointed out csup that is supposed to be part of the system, but I don't seem to have it on the machine I am presently on running 6.1) so you would have to install cvsup from ports (/usr/ports/net/cvsup or /usr/ports/net/cvsup-without-gui) if you need it. I just posted a basic rundown on doing this (but with slightly different numbers) just a couple days ago. You might want to check the questions archive. Briefly, you install cvsup (if not already installed); run the cvsup (or csup if you have it) using a supfile set for *default tag=RELENG_6_2 (I will append my working supfile at the end. It is a simple one) Then build and install everything. Do this stuff in a script(1) session to preserve messages and warnings. cvsup -g -L 2 /etc/supfile62 Check out /etc/group and /etc/passwd files to make sure there are no conflicts or important changes. Then build stuff. cd /usr/src make buildworld Edit/create your kernel config if needed, Then: make buildkernel KERNCONF=GENERIC (or your own kernel config) make installkernel KERNCONF=GENERIC (or your own kernel config) Then reboot to single user. fsck -p For good measure mount -u / mount -a swapon -a cd /usr/src make installworld Take a look at things to see if everything is OK, especially make sure you have enough disk space. Then run mergemaster mergemaster -cv After this, reboot to a running system and check your config files and other things. Then install the ports and other stuff you want. > > Does the updater squirrel away copies of the updated files so a last ditch > attempt at status quo restoration can be made? It preserves some things, but I am not sure all the details. > > Also do my existing ports continue to work with the new kernel? Probably they need to be reinstalled or updated, or at least rebuilt with the latest libraries, etc. It is best to assume so, even though some might still work fine. Note that the supfile I show updates both the system and the ports tree in one swell foop.. Note also, that this should be no problem going from one 'minor' version level to a couple down the line, within the same 'major' version level such as your 6.0 -> 6.2 but I am much less convident crossing 'major' version levels such as 5.x -> 6.x and do a complete reinstall for those. > -- > Robin Becker -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- A supfile for going from 6.0 to 6.2. Note, I keep my supfile in /etc and name it with the OS version which accounts for the cvsup -g -L 2 /etc/supfile62 command & arguments as above. Ports don't have branches in the way the system source does, thus the line for ports is: ports-all tag=. Same for doc. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- # $FreeBSD: src/share/examples/cvsup/standard-supfile,v 1.23.4.2.2.1 2006/05/06 07:41:03 scottl Exp $ # # cvsup standard-supfile # # If not running X, or invoking cvsup from a non-interactive script, then # run it as follows: # # cvsup -g -L 2 standard-supfile # *default host=cvsup.FreeBSD.org *default base=/var/db *default prefix=/usr *default tag=RELENG_6_2 *default release=cvs *default delete use-rel-suffix *default compress ## Main Source Tree. # The easiest way to get the main source tree is to use the "src-all" # mega-collection. It includes all of the individual "src-*" collections. src-all ports-all tag=. doc-all tag=.