From owner-freebsd-arch@FreeBSD.ORG Sun Jan 2 19:51:40 2011 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C1515106566C; Sun, 2 Jan 2011 19:51:40 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-pv0-f182.google.com (mail-pv0-f182.google.com [74.125.83.182]) by mx1.freebsd.org (Postfix) with ESMTP id 8467A8FC0A; Sun, 2 Jan 2011 19:51:40 +0000 (UTC) Received: by pvc22 with SMTP id 22so2743010pvc.13 for ; Sun, 02 Jan 2011 11:51:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=EkZ+4AITfJUQc92KdFwgtMuDxS1Y/gLALHkdyJM7akc=; b=x5ffiqZRgHHnPbJo5XvBdl0GFkn3h12FEDPS2MyOA4Yw+1AwTBYORH4OU1MgPw43OZ bimp6HpBc+TnIsOMaoeqBoUZzkBoaGMaoTn0Euu2sA4s5n79mXWFN53VGLcYnWcQEnCn D68vCrNITV17JUX13b0PPHxuCstSdZCnz5dME= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=m7WkLGnlA8H2vZhjma9dQvGMLEIdv2XI9HnlQ2Vy5EUrdQ/lXETe5Vioi5xcu3rNrq f5R2C/G3Eaoh8VOotbnhmt3y8KNUdRgi2LxXF05vMvIjYCRbgjSkpDzXo9Iot6OobgE6 o/iEevze586b0LaJTR4fQBBstzTcyQ/72rsdE= Received: by 10.142.191.10 with SMTP id o10mr14844026wff.208.1293997899303; Sun, 02 Jan 2011 11:51:39 -0800 (PST) Received: from [192.168.20.5] (c-24-130-151-210.hsd1.ca.comcast.net [24.130.151.210]) by mx.google.com with ESMTPS id b11sm28078518wff.9.2011.01.02.11.51.36 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 02 Jan 2011 11:51:37 -0800 (PST) Mime-Version: 1.0 (Apple Message framework v1082) Content-Type: text/plain; charset=us-ascii From: Garrett Cooper In-Reply-To: <4D20C8BF.701@freebsd.org> Date: Sun, 2 Jan 2011 11:51:33 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: References: <4D20C8BF.701@freebsd.org> To: Nathan Whitehorn X-Mailer: Apple Mail (2.1082) Cc: freebsd-sysinstall@freebsd.org, freebsd-arch@FreeBSD.org Subject: Re: BSDInstall: I want the bikeshed painted plaid X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Jan 2011 19:51:40 -0000 On Jan 2, 2011, at 10:49 AM, Nathan Whitehorn wrote: > As those of you who obsessively follow the SVN commit mails may have = noticed, I recently began work on a new installer, which I have = tentatively named 'bsdinstall'. You can find the code itself at = svn://svn.freebsd.org/base/user/nwhitehorn/bsdinstall and a wiki page = describing it at http://wiki.freebsd.org/BSDInstall. >=20 > Why Plaid? > ---------- > This project started because we have never, in three major releases, = shipped an installer on PowerPC capable of installing a booting system = without absurd amounts of handholding and use of external tools. This is = especially galling when we have tools in the base (gpart, newfs, and = tar) fully capable of doing this. As it turns out, by the time you've = written a shell script to combine these things, you're well on your way = to deciding to write a new installer. >=20 > The goal of this project then, was to maximally reuse existing tools = and to make the installer a chain of easily modifiable or replaceable = components so that future installer-tinkerers will not run away in = terror as quickly as I and many others have from sysinstall and libdisk. >=20 > Architecture > ------------ > BSDInstall is a set of tools that are called in sequence by a master = script. These tools are, for example, the partition editor, the thing = that fetches the distributions from the network, the thing that untars = them, etc. Since these are just called in sequence from a shell script, = a scripted installation can easily replace them with other things, (e.g. = hard-coded gpart commands), leave steps out, add new ones, or interleave = additional system modifications. >=20 > Status > ------ > This provides almost all of the functionality of the existing = sysinstall 'Express' track, and works Right Now. It installs working, = bootable systems you can ssh into immediately after reboot on i386, = amd64, sparc64, powerpc, and powerpc64. There is untested support for = pc98. The final architecture on which we use sysinstall, ia64, is = currently unsupported, because I don't know how to set up booting on = those systems. >=20 > Paint Comes in Plaid? > --------------------- > With only a little more spit and polish, I think this could easily = replace sysinstall for the 9.0 release. It works right now on almost all = architectures for which we ship install media. There are no dependencies = on strange scripting languages, and only one on tools not currently in = the base system. >=20 > bsdinstall depends on the newer dialog and libdialog from Thomas = Dickey (devel/cdialog). This is LGPL2, but that is better than the = current dialog's license, and the software is so much better to develop = with than the current mess that is libdialog it might be good to have = anyway. In addition, I believe he is the sole author, and it's possible = he could be persuaded to relicense it. >=20 > I don't entirely know how all of this relates to pc-sysinstall. = pc-sysinstall has some more features (e.g. installation onto geli = disks), and certainly more thought went into it, but requires an immense = amount of work to make it work on non-x86 systems and a text front-end = is not yet complete. When it is ready, a lot of the infrastructural = changes required for bsdinstall (live CDs for installation, a new = libdialog, revised distfile format, etc.) will probably help = pc-sysinstall as well. Please see pc-sysinstall if you like to see a different effort = in chartreuse. No guarantees as to how many x86-isms are in the = infrastructure. Thanks, -Garrett=