New BSD Installer

Devin Teske devin.teske at
Tue Feb 14 18:04:04 UTC 2012

> -----Original Message-----
> From: owner-freebsd-stable at [mailto:owner-freebsd-
> stable at] On Behalf Of Lars Engels
> Sent: Tuesday, February 14, 2012 9:28 AM
> To: Ian Smith
> Cc: Bruce Cran; Alex Samorukov; Joe Holden; FreeBSD Stable Mailing List
> Subject: Re: New BSD Installer
> On Wed, Feb 15, 2012 at 04:15:17AM +1100, Ian Smith wrote:
> > On Sun, 12 Feb 2012 15:32:51 +0000, Bruce Cran wrote:
> >  > On 2/10/2012 7:47 PM, Alex Samorukov wrote:
> >  > > I am highly against reverting. Old installer is not GPT aware and in fact
> >  > > is unmaintained for a very long time.
> >  >
> >  > That's not really correct: quite a lot of work was done on it last year.
> >
> > Indeed.  Was it you working on the updated sade(8) adding GPT and ZFS?
> >
> > <rant>
> >
> > I don't see it in terms of reverting.  Much other useful functionality
> > of sysinstall has yet to be reimplemented.
> What exactly are you missing?
> There's sysutils/host-setup to configure your system like sysinstall
> did.

sysutils/host-setup (written/maintained by me) is only good for the following bits right now:

1. Time zone
2. Hostname/Domain
3. Network Interfaces
4. Default Router/Gateway
5. DNS nameservers

There's still quite a bit more that sysinstall(8) offered which isn't provided by anything yet (sysutils/host-setup included).

> There's sade and I am working on a tool to browse and add packages from
> the installation media and / or the ftp mirrors.

Ron McDowell and I are working on a new tool named "bsdconfig(8)" which is very modular and written in sh(1).

bsdconfig(8) is designed squarely at reimplementing all of the sysinstall(8) post-install bits so that we can cleanly whack sysinstall(8) without the prior complaints.

The portion of bsdconfig(8) that will handle browsing and adding of packages from either the installation media or ftp mirrors is incomplete at the moment, and we'd love it if you were willing to either:

(a) download the preliminary framework for bsdconfig(8) and start working on the packages module, or

(b) join the SourceForge CVS project and start working on bsdconfig(8) in realtime with Ron and I

NOTE: Choice of either option will result in further information being disbursed for your digestive pleasure.

So far, bsdconfig(8) has the 8529 lines of code (counting all modules, internationalization files, and Makefiles) with the following modules/components (status listed for each):

1. Distributions
	Description: Install additional distribution sets
	Status: pending development

2. Documentation installation
	Description: Install FreeBSD Documentation set
	Status: Done. Links to "bsdinstall docsinstall"

3. Packages
	Description: Install Pre-packaged Software
	Status: pending development

4. Password
	Description: Set Root Password
	Status: pending development

5. Fdisk
	Description: Fdisk Partition Editor
	Status: pending development
	Note: Could be linked directly to sade(8)

6. Disklabel
	Description: Disk Label Editor
	Status: pending development
	Note: Could be linked directly to sade(8)

7. Login/Group Management
	Description: Add user's login and group information
	Status: Done (by Ron McDowell)

8. Console
	Description: Console Settings
	Status: pending development

9. Timezone
	Description: Set up Time Zone
	Status: Done (by Devin Teske; me)

NOTE: Functionality shamelessly ripped from my ports addition: sysutils/tzdialog

10. Media Selection
	Description: Select Media to Install From
	Status: pending development

11. Mouse
	Description: Configure the Mouse
	Status: pending development

12. Networking Management
	Description: Setup Networking interfaces, services, etc.
	Status: Done (by Devin Teske; me)

NOTE: Functionality shamelessly ripped from my ports addition: sysutils/host-setup

13. Security
	Description: Set Security Parameters
	Status: pending development

14. Startup
	Description: Set Startup Parameters
	Status: pending development

15. Ttys
	Description: Configure Ttys
	Status: pending development

I am currently working on the framework some more and then I'm going to jump over to working on #14 "Startup".

As you can see from the above-list, we have quite a bit of functionality to migrate from sysinstall(8) over to bsdconfig(8) -- however the most difficult bits (user management, network management, and timezone have all been done so the rest should fall like a house of cards -- especially since we have really nice modular includes making the modules nice and light-weight).

The information contained in this message is proprietary and/or confidential. If you are not the intended recipient, please: (i) delete the message and all copies; (ii) do not disclose, distribute or use the message in any manner; and (iii) notify the sender immediately. In addition, please be aware that any message addressed to our domain is subject to archiving and review by persons other than the intended recipient. Thank you.

More information about the freebsd-stable mailing list