From owner-freebsd-current@FreeBSD.ORG Sun Jan 16 15:46:06 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 84CA9106566C; Sun, 16 Jan 2011 15:46:06 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from mail.icecube.wisc.edu (trout.icecube.wisc.edu [128.104.255.119]) by mx1.freebsd.org (Postfix) with ESMTP id 446128FC1A; Sun, 16 Jan 2011 15:46:05 +0000 (UTC) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.icecube.wisc.edu (Postfix) with ESMTP id 56B2D5811D; Sun, 16 Jan 2011 09:46:05 -0600 (CST) X-Virus-Scanned: amavisd-new at icecube.wisc.edu Received: from mail.icecube.wisc.edu ([127.0.0.1]) by localhost (trout.icecube.wisc.edu [127.0.0.1]) (amavisd-new, port 10030) with ESMTP id z4Eh6-9RFUoT; Sun, 16 Jan 2011 09:46:05 -0600 (CST) Received: from comporellon.tachypleus.net (adsl-76-208-68-88.dsl.mdsnwi.sbcglobal.net [76.208.68.88]) by mail.icecube.wisc.edu (Postfix) with ESMTP id 6C6535811A; Sun, 16 Jan 2011 09:46:04 -0600 (CST) Message-ID: <4D3312BB.30203@freebsd.org> Date: Sun, 16 Jan 2011 09:46:03 -0600 From: Nathan Whitehorn User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.13) Gecko/20101214 Thunderbird/3.1.7 MIME-Version: 1.0 To: krad References: <4D309563.1000404@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-current Current , freebsd-sysinstall@freebsd.org, freebsd-arch@freebsd.org Subject: Re: BSDInstall: merging to HEAD X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jan 2011 15:46:06 -0000 On 01/16/11 05:48, Garrett Cooper wrote: > On Sun, Jan 16, 2011 at 3:06 AM, krad wrote: >> On 14 January 2011 18:26, Nathan Whitehorn wrote: >>> As those of you who have been reading freebsd-sysinstall and freebsd-arch know, I have been working for a few weeks on a lightweight new installer named 'bsdinstall'. This is designed to replace sysinstall for the 9.0 release. >>> >>> After two weeks of testing and bug fixes on the sysinstall list, I believe this now has all required functionality and is ready to be merged into the main source tree. I would like to do this on Tuesday, 18 January. Switching this to be the default installer would happen a few weeks after that, pending discussion on release formats with the release engineering team. This should provide a sufficient testing period before 9.0 and allow a maximal number of bugs to be discovered and solved before the release is shipped. >>> >>> Demo ISO for i386: http://people.freebsd.org/~nwhitehorn/bsdinstall-i386-20110114.iso.bz2 >>> SVN repository: svn://svn.freebsd.org/base/user/nwhitehorn/bsdinstall >>> Wiki page: http://wiki.freebsd.org/BSDInstall >>> >>> Goals >>> ----- >>> The primary goal of BSDInstall is to provide an easily extensible installer without the limitations of sysinstall, in order to allow more modern installations of FreeBSD. This means that it should have additional features to support modern setups, but simultaneously frees us to remove complicating features of sysinstall like making sure everything fits in floppy disk-sized chunks. >>> >>> New Features: >>> - Allows installation onto GPT disks on x86 systems >>> - Can do installations spanning multiple disks >>> - Allows installation into jails >>> - Eases PXE installation >>> - Virtualization friendly: can install from a live system onto disk >>> images >>> - Works on PowerPC >>> - Streamlined system installation >>> - More flexible scripting >>> - Easily tweakable >>> - All install CDs are live CDs >>> >>> 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. >>> >>> Status >>> ------ >>> This provides functionality most similar to the existing sysinstall 'Express' track. 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 -- patches to solve this are very much welcome. >>> >>> There are still some missing features that I would like to see in the release, but these do not significantly impact the functionality of the installer. Some will be addressed before merging to HEAD, in particular the lack of a man page for bsdinstall. Others, like configuration of wireless networking and ZFS installation, can happen between merge and release. The test ISOs are also lacking a ports tree at the moment, which is a statement about the slow upload speed of my DSL line and not about the final layout of releases. >>> >>> Please send any questions, comments, or patches you may have, and please be aware when replying that this email has been cross-posted to three lists. Technical discussion (bug reports, for instance) should be directed to the freebsd-sysinstall list only. Most other discussion belongs on -sysinstall and -current. >> I dont follow the freebsd-sysinstall and freebsd-arc list so sorry if >> this has already been discussed. From what I have seen pc-sysinstall >> already does all these things, and can install freebsd. Therefore why >> are we reinventing the wheel? >> >> I don't mean this as any disrespect to the work you have done. > Hi Krad, > I asked this two weeks ago and in summary: > > - pc-sysinstall is x86-centric and porting to powerpc is non-trivial, > and sysinstall is incomplete on powerpc. Nate sought to get a working > powerpc port with minimal effort. > > Please read other replies in the archives on freebsd-arch / > freebsd-sysinstall to get more info as to why things have been done > the way they have been done. Here's the summary of why this doesn't use pc-sysinstall. PC-sysinstall is the backend of the PC-BSD installer, and was imported into FreeBSD in June 2010 with the goal of replacing sysinstall. It is much more full-featured that either bsdinstall or sysinstall, providing support for encrypted disks, ZFS, and mirroring. These are all good things. However, 9.0 is coming up quite soon, and pc-sysinstall still does not have a usable front-end (the code in the tree is just a script interpreter) nor support for non-x86 platforms. Adding these things appeared to be quite difficult and, in the second case, to require major rearchitecting of the installer backend. Since the original goal that Garrett alluded to was to provide an installer on PowerPC, this was obviously a non-starter. What BSDinstall is is a stopgap, designed to provide a subset of pc-sysinstall's features but to be available quickly, in time for 9.0, and to have all of the features it does provide actually hooked up and usable. At the same time, I have architectured bsdinstall in such a way that (a) I would be happy enough to be stuck with it permanently (i.e. it is not a quick hack and was designed to be easily maintainable and extendable) and (b) it could be later adapted into the missing front-end for pc-sysinstall without an enormous amount of trouble. Many of the issues we need to face now to integrate bsdinstall (making bootable live CDs or the integration of a newer libdialog, for instance) are common to any later effort to import a pc-sysinstall front-end. Having these things in use and in the tree will only help pc-sysinstall whenever it is finished. -Nathan