Robert Watson wrote:
For me, it's really about minimizing the time to get to a generic
install from a CD or DVD. Most of the time, I don't do a lot of
customization during the install -- I configure machines using DHCP, I
add most packages later, and I tend to use default disk layouts since my
servers don't multi-boot and the defaults currently seem "reasonable".
I don't like being asked many more questions than whether or not to
enable sshd, and what to set the root password to. This means that I
find our current distributions menu a bit inefficient (I don't want
sub-menus, I just want checkboxes), and that the inconsistency in the
handling of the space/enter/tab/cursor keys across different libdialog
interfaces in the install is awkward. The current generic and express
installs seem to capture a lot of my desire, in that I can get a box
installed in <5m including actual time to write out the file systems,
which is great. I really don't want to lose this with a new installer :-).
That's the route I'm trying to go with the Sysinstall-BSD Installer
"mashup." No "submenu hell", no "XYZ distribution" choices, and no
extraneous configuration choices. My basic philosophy is that there
should be no "Basic", "Expert", or "Custom" modes. There should only be
one mode with sensible default choices so that the novice user can
simply just click "Next" and the more expert user can modify the default
choices and get exactly what he/she wants. Also, the installer's job
should only be to install a useable system. Post-installation chores
like configuration, adding/removing users, etc should be done by another
application. You shouldn't need the installer once you've installed the
OS. And oh yeah-- if you can't reliably upgrade from a previous version
of the OS, you shouldn't offer the user the option of doing so.
Essentially the user only needs to supply 6 things: 1) Where to install
to. 2) Where to get installation files from. 3) Network card
configuration. 4) Date and Time zone. 5) Hostname. 6)root's password.
I'm leaning towards adding a 7th question on whether to enable sshd(8)
simply because it's so useful and one of the first things I do after
installing a server. Although I didn't want to have the installer setup
additional users at first I'm also leaning towards implementing it since
enabling sshd(8) without having a non-root user to login as is kinda
pointless.
Other than that:
1. The stock installation disk should allow the user to easily automate
installation (through a configuration file on a flash disk or something).
2. You shouldn't have to edit the source code to make changes to release
name, ftp installation sites, etc...
3. Completely divorce the UI from the backend installation logic. So,
that all that you need to implement a new UI is boiler plate code to
display items sent by the backend and return responses/choices made by
the user. Although it needs a few improvements, the BSD Installer pretty
much already does this.
Status update on the installer I'm woring on:
The installer can already install a basic FreeBSD system (including the
ports collection) from CD, UFS, or DOS partition. I'm currently working
on getting FTP/HTTP/NFS installation to work. Next on my list after that
is setting Date and Time Zone. At that stage the installer will be more
or less feature-complete, and I can start code cleanup, getting it to
work on additional architectures, etc. I had initially intended to
include package installation as one of the criteria for
feature-completeness, but after reading through this thread I've decided
not to use sysinstall's package installation code and instead write
one from scratch once I'm happy with the rest of the installer.
Cheers.
--
Mike Makonnen | GPG-KEY: http://people.freebsd.org/~mtm/mtm.asc
mtm @ FreeBSD.Org | AC7B 5672 2D11 F4D0 EBF8 5279 5359 2B82 7CD4 1F55
FreeBSD | http://www.freebsd.org
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"