From owner-freebsd-stable@FreeBSD.ORG Wed May 9 22:14:07 2007 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5A99A16A402 for ; Wed, 9 May 2007 22:14:07 +0000 (UTC) (envelope-from janm@transactionware.com) Received: from mail.transactionware.com (mail.transactionware.com [203.14.245.7]) by mx1.freebsd.org (Postfix) with SMTP id AE84713C43E for ; Wed, 9 May 2007 22:14:06 +0000 (UTC) (envelope-from janm@transactionware.com) Received: (qmail 71952 invoked from network); 9 May 2007 22:14:26 -0000 Received: from midgard.transactionware.com (192.168.1.55) by dm.transactionware.com with SMTP; 9 May 2007 22:14:26 -0000 Received: (qmail 80341 invoked by uid 907); 9 May 2007 22:14:04 -0000 Received: from midgard.transactionware.com (HELO IBMA618C20271E) (192.168.1.55) by midgard.transactionware.com (qpsmtpd/0.32) with ESMTP; Thu, 10 May 2007 08:14:04 +1000 From: "Jan Mikkelsen" To: Date: Thu, 10 May 2007 08:13:59 +1000 Message-ID: <001601c79287$58721420$0502a8c0@IBMA618C20271E> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.6822 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028 In-Reply-To: Thread-Index: AceSbTwOLBwHx1KyQ3a6qDFJRYqsZgAFnGgg Importance: Normal Subject: RE: Creating one's own installer/mfsroot 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: Wed, 09 May 2007 22:14:07 -0000 Ivan Voras wrote: > Daniel O'Connor wrote: > > On Wednesday 09 May 2007 03:40, Matthew X. Economou wrote: > >> Could anyone recommend a good guide for developing one's=20 > own mfsroot > >> images suitable for recovery or scripted installation (not using > >> sysinstall)? It appears that one could develop a simplified > >> network-based installation process based around fdisk, disklabel, > >> newfs, mount_ufs, fetch, and pax, perhaps tied together with the > >> usual scripting tools (maybe miniperl or sh/sed/awk). > >=20 > > You could see how make release & FreeSBiE do it. >=20 > You could also look at the INSTALL guides for (early versions of?) > Dragonfly, it taught me how to install a BSD system from=20 > scratch, using > only what's in base of liveCD :) >=20 > (I consider it a bad sign that I've actually needed that=20 > knowledge once > to set up a production machine - I thought we're not in the stone age > anymore :( ) Well, that kind of knowledge is also what lets us leave (say) the bronze age. We have set up a boot CD (or pxeboot/nfs environment) where we can run a Ruby script that will take directives from a configuration file, = configure the disks, slices and partitions, align the partitions to start on a = block boundary appropriate for the underlying RAID system, to end on a = cylinder boundary, populate filesystems as required, etc. Also useful for using = an existing system to set up CF cards for Soekris systems with the correct geometry, etc. Building the system images and installation time filesystems is done = from a build system that builds everything in chroot environments, with as = little dependency on the host system as possible. It manages make buildworld/installworld/kernel, ports, non-ports installations (ie: user generated scripts), dependencies, parallel builds, making jails, etc. >From this we have a system where system installations are reproducible = and recoverable. Upgrading uses the same output from the build process = using a nanobsd-like second slice allowing inplace upgrades with little downtime = and recovery to the previous version. But the most important thing is that = the upgrade image was created using the same process as the installation = image, so we can always get to the same image after a full system rebuild. If anyone is interested, let me know and I'll see what I have to do to release it. Regards, Jan Mikkelsen janm@transactionware.com