Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 05 Jul 2008 17:59:35 +0300
From:      Mike Makonnen <mtm@wubethiopia.com>
To:        Robert Watson <rwatson@FreeBSD.org>
Cc:        freebsd-hackers@freebsd.org, Lothar Braun <lothar@lobraun.de>, freebsd-current@freebsd.org
Subject:   Re: Re: Sysinstall is still inadequate after all of these years
Message-ID:  <486F8C57.9050908@wubethiopia.com>
In-Reply-To: <20080703092511.T69986@fledge.watson.org>
References:  <784966050807021123l267aa20en39eb513c12c90ad2@mail.gmail.com>	<20080702235800.H47773@fledge.watson.org> <486C8700.5020100@lobraun.de> <20080703092511.T69986@fledge.watson.org>

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?486F8C57.9050908>