From owner-freebsd-questions@FreeBSD.ORG Fri Nov 2 09:01:30 2007 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D464816A417 for ; Fri, 2 Nov 2007 09:01:30 +0000 (UTC) (envelope-from erik@cederstrand.dk) Received: from mail.itu.dk (pluto.itu.dk [130.226.142.18]) by mx1.freebsd.org (Postfix) with ESMTP id 1D84913C491 for ; Fri, 2 Nov 2007 09:01:29 +0000 (UTC) (envelope-from erik@cederstrand.dk) Received: from localhost (unknown [10.0.0.3]) by mail.itu.dk (Postfix) with ESMTP id 7F25032CDE7; Fri, 2 Nov 2007 07:58:17 +0100 (CET) X-Virus-Scanned: amavisd-new at itu.dk Received: from superman.itu.dk ([130.226.142.5]) by localhost (daredevil.itu.dk [130.226.142.26]) (amavisd-new, port 10024) with ESMTP id KCA-VeosvHdw; Fri, 2 Nov 2007 07:58:14 +0100 (CET) Received: from [192.168.1.149] (stud1-15.itu.dk [130.226.140.15]) by superman.itu.dk (Postfix) with ESMTP id A55CC9E6B6; Fri, 2 Nov 2007 07:58:14 +0100 (CET) Message-ID: <472ACA9A.2090903@cederstrand.dk> Date: Fri, 02 Nov 2007 07:58:34 +0100 From: Erik Cederstrand User-Agent: Thunderbird 2.0.0.6 (X11/20071022) MIME-Version: 1.0 To: David Yeske References: <85bdae4e0711011137m930c7e4w9ce5920b5d61f7f7@mail.gmail.com> In-Reply-To: <85bdae4e0711011137m930c7e4w9ce5920b5d61f7f7@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-questions@freebsd.org, freebsd-embedded@freebsd.org Subject: Re: remote binary upgrade from 4.10 to 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: Fri, 02 Nov 2007 09:01:30 -0000 David Yeske wrote: > I have a lot of appliances in the field running FreeBSD. These > machines do not have a working compiler. They need to be upgraded > from FreeBSD 4.10 to FreeBSD 6.2. Has anyone gone through this > successfully? Does anyone have pointers on a clean way to do this? > Due to the lack of console support for most of these machines, booting > from the 6.2 cd will not work. This has to be a remote binary > upgrade. I need to have FreeBSD 4.10 install FreeBSD 6.2, although > this could be done in stages with multiple reboots. I want to avoid > upgrading from FreeBSD 4.10 to 5.5 to 6.2. It appears that FreeBSD > 6.2 runs just fine on UFS1. First, I should mention that I have not done something like this before. However, I think it would help if you could be a little more specific. What are the specs of the machine (CPU, RAM, disk)? How remote are they (i.e. "next building" or "Greenland")? How many appliances need upgrading? Do you control the network they're attached to? A couple of ideas: 1) As you say, the official advice is 4.10 -> 5.5 -> 6.2. You could cross-compile the 5.5 world + kernel on a build machine and installworld/kernel on the appliance. Reboot, and repeat for 6.2. This assumes you have the disk space for the new world/kernel, or that you can at least NFS mount a remote /usr/obj. 2) If you have the disk space, you can create another partition, place a complete 6.2 distribution there (compiled on a build machine) and change the boot loader to boot the new partition. 3) If you are able to PXE boot the machine, you could do a network install of the appliance. 4) If you control the network, you could build a kernel with NFS_ROOT support so you're independent on the local disk. Wipe the disk and install a new distribution there. 5) Finally, if you have the RAM, you could build a kernel with MFS_ROOT support, place a memdisk image on the local disk and proceed as 4) Erik