From owner-freebsd-arch@FreeBSD.ORG Sun Jan 2 20:04:25 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 68BAF106566C; Sun, 2 Jan 2011 20:04:25 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-pz0-f54.google.com (mail-pz0-f54.google.com [209.85.210.54]) by mx1.freebsd.org (Postfix) with ESMTP id 22E3D8FC15; Sun, 2 Jan 2011 20:04:25 +0000 (UTC) Received: by pzk32 with SMTP id 32so3101189pzk.13 for ; Sun, 02 Jan 2011 12:04:25 -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=mkmwi1smN+gtyi41D9qGDhtgfLZ6XknPAYMltiDuIt8=; b=Rqh5RTO3T5q2YZAl4FLLtKIIZlbtcrNAnhbBIRTErEHDHPuwmPw6trAqR+whJNx3z3 syR7+BFssv5CklniIESyKtkmLJCtPoHhzuPxBnJ5MIS9ALcGnl8xxj+UJunkTi81oeF3 MF5yl6rjjUZQEhdyBI2ObXcLum38bBnE6chFQ= 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=AAf4TyZ2g097tTmtJT/9Kmf8eTLZyzCzC1/cq50i3pVJSwAf3uiHXIQ9b5c7cwr6Vr 8Uc24rs8QoF7pssPWjkfDOxtGIUO9JtB4nee0zK6Em2EAC1ZB85m8rf5EnytjrOgsknL 7pqMsu4ARvXrD81ZuhQevp5vl52RtJijI47Pw= Received: by 10.142.177.10 with SMTP id z10mr16069919wfe.141.1293998664623; Sun, 02 Jan 2011 12:04:24 -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 q13sm28108856wfc.17.2011.01.02.12.04.21 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 02 Jan 2011 12:04:23 -0800 (PST) Mime-Version: 1.0 (Apple Message framework v1082) Content-Type: text/plain; charset=us-ascii From: Garrett Cooper In-Reply-To: Date: Sun, 2 Jan 2011 12:04:19 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <29AA82C4-6301-4DCD-BC9D-423AD162998E@gmail.com> References: <4D20C8BF.701@freebsd.org> To: Garrett Cooper X-Mailer: Apple Mail (2.1082) Cc: jhixson@gmail.com, freebsd-arch@FreeBSD.org, Nathan Whitehorn , Bruce Cran , matt@ixsystems.com, freebsd-sysinstall@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 20:04:25 -0000 On Jan 2, 2011, at 11:51 AM, Garrett Cooper wrote: > On Jan 2, 2011, at 10:49 AM, Nathan Whitehorn wrote: >=20 >> 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. >=20 > 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. Should have read down to the bottom of the email... = pc-sysinstall really needs to be made non-x86 centric in order to be a = usable installer backend -- not sure how much effort has been put into = making this happen, but I _do_ have a PowerPC Mac I could test on so we = could work together to resolve any x86-isms and I might be able to hack = something together with mips in my spare time (I have potential access = to systems in my old work group, but I'd need to clear it with them = before I did anything with that). text-sysinstall was a WiP but = abandoned because some folks claimed that they were going to produce a = solution to that with lynx, a webserver, etc on install media. Looks = like that idea hasn't panned out though (it's been 2 months and I = haven't seen a prototype or mumbles on arch@, sysinstall@, etc), so a = libdialog-like solution is needed. Scripting changes should be = relatively cakewalk as long as I have a process for producing = pc-sysinstall based media, but there are other potential areas that need = to be audited for security issues in pc-sysinstall. Once upon a time = pc-sysinstall cached passwords on installed media based on some = discussions I had with Bruce Cran... not secure in the least; other = issues may lurk behind the scenes. Bruce Cran and I are interested parties in whatever will = transpire, so please let us know what you have planned. I think everyone can agree that sysinstall is dying and it's = time to sink some nails into its coffin before we send it on its way. Thanks, -Garrett=