BSDInstall: merging to HEAD

Nathan Whitehorn nwhitehorn at
Thu Jan 20 23:54:20 UTC 2011

On 01/20/11 17:44, Garrett Cooper wrote:
> On Thu, Jan 20, 2011 at 1:37 PM, David Demelier
> <demelier.david at>  wrote:
>> On 14/01/2011 19:26, Nathan Whitehorn wrote:
>>> As those of you who have been reading freebsd-sysinstall and
>>> freebsd-arch know, I have been working for a few weeks on a lightweight
>>> new installer named 'bsdinstall'. This is designed to replace sysinstall
>>> for the 9.0 release.
>>> After two weeks of testing and bug fixes on the sysinstall list, I
>>> believe this now has all required functionality and is ready to be
>>> merged into the main source tree. I would like to do this on Tuesday, 18
>>> January. Switching this to be the default installer would happen a few
>>> weeks after that, pending discussion on release formats with the release
>>> engineering team. This should provide a sufficient testing period before
>>> 9.0 and allow a maximal number of bugs to be discovered and solved
>>> before the release is shipped.
>>> Demo ISO for i386:
>>> SVN repository: svn://
>>> Wiki page:
>>> Goals
>>> -----
>>> The primary goal of BSDInstall is to provide an easily extensible
>>> installer without the limitations of sysinstall, in order to allow more
>>> modern installations of FreeBSD. This means that it should have
>>> additional features to support modern setups, but simultaneously frees
>>> us to remove complicating features of sysinstall like making sure
>>> everything fits in floppy disk-sized chunks.
>>> New Features:
>>> - Allows installation onto GPT disks on x86 systems
>>> - Can do installations spanning multiple disks
>>> - Allows installation into jails
>>> - Eases PXE installation
>>> - Virtualization friendly: can install from a live system onto disk
>>> images
>>> - Works on PowerPC
>>> - Streamlined system installation
>>> - More flexible scripting
>>> - Easily tweakable
>>> - All install CDs are live CDs
>>> Architecture
>>> ------------
>>> BSDInstall is a set of tools that are called in sequence by a master
>>> script. These tools are, for example, the partition editor, the thing
>>> that fetches the distributions from the network, the thing that untars
>>> them, etc. Since these are just called in sequence from a shell script,
>>> a scripted installation can easily replace them with other things, (e.g.
>>> hard-coded gpart commands), leave steps out, add new ones, or interleave
>>> additional system modifications.
>>> Status
>>> ------
>>> This provides functionality most similar to the existing sysinstall
>>> 'Express' track. It installs working, bootable systems you can ssh into
>>> immediately after reboot on i386, amd64, sparc64, powerpc, and
>>> powerpc64. There is untested support for pc98. The final architecture on
>>> which we use sysinstall, ia64, is currently unsupported, because I don't
>>> know how to set up booting on those systems -- patches to solve this are
>>> very much welcome.
>>> There are still some missing features that I would like to see in the
>>> release, but these do not significantly impact the functionality of the
>>> installer. Some will be addressed before merging to HEAD, in particular
>>> the lack of a man page for bsdinstall. Others, like configuration of
>>> wireless networking and ZFS installation, can happen between merge and
>>> release. The test ISOs are also lacking a ports tree at the moment,
>>> which is a statement about the slow upload speed of my DSL line and not
>>> about the final layout of releases.
>>> Please send any questions, comments, or patches you may have, and please
>>> be aware when replying that this email has been cross-posted to three
>>> lists. Technical discussion (bug reports, for instance) should be
>>> directed to the freebsd-sysinstall list only. Most other discussion
>>> belongs on -sysinstall and -current.
>      GPT makes more sense on modern machines given the limitation of
> disk sizes and the MBR partition schemes (and FWIW MBR is less
> portable outside of the PC world anyhow), but it would be nice if it
> was a knob that defaulted to appropriate values for certain
> architectures as well, like PC98 ->  MBR?

Such a knob exists, and is used. On PC98, the default partition scheme 
is the PC98 one, on sparc64 VTOC8, etc. On x86, it is GPT. If you try to 
put / on a partition scheme that is known not to be bootable on your 
platform, you will get a warning. The bootable schemes on i386/amd64 are 
GPT, MBR, and bsdlabel.

More information about the freebsd-current mailing list