From owner-freebsd-hackers@FreeBSD.ORG Sat Jul 5 15:10:05 2008 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DA6F6106564A; Sat, 5 Jul 2008 15:10:05 +0000 (UTC) (envelope-from mtm@wubethiopia.com) Received: from dire.wubethiopia.com (j071.v.rootbsd.net [208.79.82.223]) by mx1.freebsd.org (Postfix) with ESMTP id 9A1A88FC22; Sat, 5 Jul 2008 15:10:05 +0000 (UTC) (envelope-from mtm@wubethiopia.com) Received: from rogue.mike.lan (unknown [213.55.67.249]) by dire.wubethiopia.com (Postfix) with ESMTPSA id 787B64FD97AF; Sat, 5 Jul 2008 14:53:55 +0000 (UTC) Message-ID: <486F8C57.9050908@wubethiopia.com> Date: Sat, 05 Jul 2008 17:59:35 +0300 From: Mike Makonnen User-Agent: Thunderbird 2.0.0.12 (X11/20080323) MIME-Version: 1.0 To: Robert Watson References: <784966050807021123l267aa20en39eb513c12c90ad2@mail.gmail.com> <20080702235800.H47773@fledge.watson.org> <486C8700.5020100@lobraun.de> <20080703092511.T69986@fledge.watson.org> In-Reply-To: <20080703092511.T69986@fledge.watson.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org, Lothar Braun , freebsd-current@freebsd.org Subject: Re: Re: Sysinstall is still inadequate after all of these years X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jul 2008 15:10:06 -0000 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