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:
http://people.freebsd.org/~nwhitehorn/bsdinstall-i386-20110114.iso.bz2
SVN repository: svn://svn.freebsd.org/base/user/nwhitehorn/bsdinstall
Wiki page: http://wiki.freebsd.org/BSDInstall
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.