HEADS UP: sysinstall is no longer the default installer
Nathan Whitehorn
nwhitehorn at freebsd.org
Mon Mar 14 14:13:34 UTC 2011
I just committed (r219641) changes that make the release infrastructure
(src/release/Makefile) use bsdinstall by default instead of sysinstall
on install media. A big thank you is in order to everyone who provided
advice, criticism, and testing for this project over the last few months!
Along with sysinstall, the original sysinstall build stuff has been
preserved (now /usr/src/release/Makefile.sysinstall) and will continue
to be for the lifetime of the 9.x release series, although it will not
be used by default. This change modifies the process of building
releases somewhat, so I'll outline changes that people who run snapshot
buildbots will have to make below, and some next steps planned with the
installer.
Changes to release(7)
-----------------------------
Release builds work and look slightly different now, so everyone who
snapshot tinderboxes will likely find them breaking shortly. The nearest
analog to the old make release (with version-control checkouts and a
chroot) is src/release/generate-release.sh, which can be run as
generate-release.sh head /path/to/chroot/dir. If you want to include
ports and documentation on the release media, CVSUP_HOST must be defined
in the environment to point to a cvsup mirror. The output is placed in
/R in the chroot directory, as before.
If the chroot is unimportant (it ensures a total clean-room build, but
may not be necessary in most cases), you can get a release build using
the regular makefile, like so:
cd /usr/src
make buildworld buildkernel
cd /usr/src/release
make obj release
By default, this will include ports and documentation if you have them
checked out to /usr/ports and /usr/doc, though this behavior can be
modified (see the top of the makefile). In addition, some architectures
(i386, amd64, powerpc, powerpc64, and maybe ia64) have release media
that can be cross-built, so you can set TARGET/TARGET_ARCH appropriately
for those. Output goes to .OBJDIR, which is /usr/obj/usr/src/release in
the case of the above commands. The equivalent to disc1 is called
release.iso, the memstick image (i386, amd64 only) is called memstick,
and a directory of distfiles for FTP mirrors is generated named ftp.
Next steps
--------------
The new installer is feature-complete at this time (except for a merge
with the pc-sysinstall code base and the possible addition of ZFS
support in the partition editor), so the next steps mostly involve
documentation updates to manpages and the handbook. Generation of a
bootonly ISO is another thing that should happen soon. Given time (or
external patches), I would also like to update sysinstall to use the
new-style distribution files so it can be an option on the 9.0 install CDs.
Beyond that, please test this code as much as possible, and report any
bugs, suspicious behaviors, or bad interfaces (or patch them -- patches
for anything are always very welcome!). We have another several months
before 9.0, so let's try to find all the bugs long before then.
Thanks again to everyone who helped this project with comments and
testing, especially to Bjoern Zeeb who got me irritated enough by
sysinstall to start working on this project.
-Nathan
More information about the freebsd-current
mailing list