Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Jan 2011 12:04:19 -0800
From:      Garrett Cooper <yanegomi@gmail.com>
To:        Garrett Cooper <yanegomi@gmail.com>
Cc:        jhixson@gmail.com, freebsd-arch@FreeBSD.org, Nathan Whitehorn <nwhitehorn@freebsd.org>, Bruce Cran <brucec@freebsd.org>, matt@ixsystems.com, freebsd-sysinstall@freebsd.org
Subject:   Re: BSDInstall: I want the bikeshed painted plaid
Message-ID:  <29AA82C4-6301-4DCD-BC9D-423AD162998E@gmail.com>
In-Reply-To: <A8ADEA5D-DE5D-43EE-A123-364EB6593FEF@gmail.com>
References:  <4D20C8BF.701@freebsd.org> <A8ADEA5D-DE5D-43EE-A123-364EB6593FEF@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?29AA82C4-6301-4DCD-BC9D-423AD162998E>