Date: Sun, 2 Jan 2011 11:51:33 -0800 From: Garrett Cooper <yanegomi@gmail.com> To: Nathan Whitehorn <nwhitehorn@freebsd.org> Cc: freebsd-sysinstall@freebsd.org, freebsd-arch@FreeBSD.org Subject: Re: BSDInstall: I want the bikeshed painted plaid Message-ID: <A8ADEA5D-DE5D-43EE-A123-364EB6593FEF@gmail.com> In-Reply-To: <4D20C8BF.701@freebsd.org> References: <4D20C8BF.701@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A8ADEA5D-DE5D-43EE-A123-364EB6593FEF>