From owner-freebsd-hackers@FreeBSD.ORG Fri Feb 25 00:34:01 2005 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6606E16A4CE for ; Fri, 25 Feb 2005 00:34:01 +0000 (GMT) Received: from malasada.lava.net (malasada.lava.net [64.65.64.17]) by mx1.FreeBSD.org (Postfix) with ESMTP id 271CA43D45 for ; Fri, 25 Feb 2005 00:34:01 +0000 (GMT) (envelope-from cliftonr@lava.net) Received: by malasada.lava.net (Postfix, from userid 102) id 42C5C153883; Thu, 24 Feb 2005 14:34:00 -1000 (HST) Date: Thu, 24 Feb 2005 14:34:00 -1000 From: Clifton Royston To: freebsd-hackers@freebsd.org Message-ID: <20050225003359.GB17163@lava.net> Mail-Followup-To: freebsd-hackers@freebsd.org References: <20050224120108.274C916A4D6@hub.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050224120108.274C916A4D6@hub.freebsd.org> User-Agent: Mutt/1.4.2i Subject: Re: Remote upgrade of 4.X-5.3-Stable X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Feb 2005 00:34:01 -0000 On Thu, Feb 24, 2005 at 12:01:08PM +0000, freebsd-hackers-request@freebsd.org wrote: > Date: Wed, 23 Feb 2005 17:06:02 +0000 > From: Wouter van Rooij > Subject: Remote upgrade of 4.X-5.3-Stable > To: freebsd-hackers@freebsd.org > Message-ID: <7603e5d8050223090633360cc1@mail.gmail.com> > Content-Type: text/plain; charset=US-ASCII > > You did a make buildworld? > You just have to boot in single user mode and run mergemaster -p and > mergemaster. This doesn't work for the remote update case without physical console access, which he's asking about. Once the machine comes up in single user mode, sshd is not running and there's no way to get into it. Sorry to belabor the obvious. I believe that what's really needed here is to replicate some magic that is done on the first boot after installing FreeBSD on a system. IIRC, there's a special one-time invocation of an rc file - I think after a quick check of /etc/rc that it's rc.early that I'm thinking of. You can put commands in here which are run very early on following the first automatic boot into multi-user of the system, after all virtual drives are "assembled" but before filesystems are checked and mounted. If all steps of your upgrade script succeed, you can then at the end have the rc.early file rename itself (so it won't run on the next boot) sync the root file system, and reboot again. Obviously you want to test this very carefully, because in a remote environment you will probably get just one shot at having it work correctly; but hopefully this puts you on a workable path. -- Clifton -- Clifton Royston -- cliftonr@tikitechnologies.com Tiki Technologies Lead Programmer/Software Architect "I'm gonna tell my son to grow up pretty as the grass is green And whip-smart as the English Channel's wide..." -- 'Whip-Smart', Liz Phair