> From: Garrett Cooper <youshi10_at_u.washington.edu> > Date: December 18, 2007 4:55:41 PM PST > To: mtm_at_FreeBSD.Org > Subject: Re: YAFI or Yet Another FreeBSD Installer > > On Dec 18, 2007, at 3:24 PM, Mike Makonnen wrote: > >> Hi folks, >> >> I've been working on an installer for FreeBSD for the past month, >> and I've finally come along far enough that I have something usable >> that people can play with and provide feedback. >> >> Our sysinstall(8) is actually pretty darn nice. No really. Think >> about >> it. Forget for a moment that it doesn't have a spiffy GUI and look at >> some of the things it does right: >> 1. It doesn't have any 3rd party dependency (it builds out of >> the src >> tree). >> 2. You're not limited by the physical media the installer is on. >> You can install from CD, FTP, HTTP, NFS, UFS, FAT, etc. >> 3. If you want to build your own release you can use a >> configuration >> file for unattended setup. >> 4. libdisk(3) >> >> On the other hand it suffers from one major flaw (which is the root >> cause of its other problems): the presentation and logic is so >> tightly >> coupled together that it's damn hard to make non-trivial changes >> without >> breaking it. So, it hasn't been able to move with the times or change >> significantly over the years because it would essentially have >> meant a >> complete rewrite. >> >> The DragonFly folks went ahead and did a complete re-write, but while >> their implementation addressed sysinstall's major problem, they >> didn't >> keep (or re-implement) its good points. Worse, from our stand-point, >> the BSD Installer (www.bsdinstaller.org) only works from a live-cd >> and depends on messy command lines and string-parsing to install the >> system. Recently, I believe they've gone even further and re- >> implemented >> the back-end using the Lua scripting language (making it even more >> unusable for us). Having said that; however, there is one thing that >> I really like about it: they've managed to completely divorce the >> presentation layer from the installer logic. All the logic for >> installing the system is contained in the back-end application, and >> all the front-end does is essentially just display forms and return >> the user's choices to the back-end. What I like even better is that >> the front-end and the back-end don't even have to be on the same >> machine, which opens up a whole new area of installation options. >> >> So essentially, what I'm doing is taking all the parts I like about >> sysinstall(8), putting it on the framework provided by the BSD >> Installer >> folks, and adding a couple of ideas of my own. Here's what I envision >> the end-product to look like: >> 1. One back-end (in C), multiple front-ends (curses, web >> browser, X) >> 2. Supports multiple installation media >> 3. XML based application configuration >> - no hard coded options/distributions/packages in source >> files >> - no flat file (key=value) configuration files >> 4. Supports Internationalization >> 5. Clean and modular backend so that the installer can grow right >> along FreeBSD itself (i.e. - ZFS support, etc) >> >> What I have so far is alpha quality. It will install a basic FreeBSD >> system that you can boot into, but that's about it. It works on >> i386/amd64, uses libdisk(3) for slicing and dicing disks, and looks >> for the install cd on the first IDE CD-Rom. It installs the complete >> base system (all distributions), and doesn't know about packages yet. >> >> You can find the tarball at: http://people.freebsd.org/~mtm/ >> fin.tar.bz2 >> The tarball contains the modified BSD Installer source code, a script >> to copy the code into the right places in the source tree, and a diff >> against src/ to integrate it into the build system and make a release >> CD. >> The script I use to build a release is here: >> http://people.freebsd.org/~mtm/scripts/makerelease >> >> I'm very much interested in your comments and suggestions. >> >> Cheers. >> -- >> Mike Makonnen | GPG-KEY: http://people.freebsd.org/~mtm/ >> mtm.asc >> mmakonnen _at_ gmail.com | AC7B 5672 2D11 F4D0 EBF8 5279 5359 2B82 >> 7CD4 1F55 >> mtm _at_ FreeBSD.Org | FreeBSD - http://www.freebsd.org > > That's awesome! I assume that certain GUI~ish features can now be > invoked via the command line like the disklabel editor? That would > be the ultimate next step if it's not already in the works :).. > > Thanks Mike! > -Garrett Forgot to include current_at_. -GarrettReceived on Wed Dec 19 2007 - 02:41:47 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:24 UTC