Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Mar 2011 12:55:16 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Nathan Whitehorn <nwhitehorn@freebsd.org>
Cc:        freebsd-current@freebsd.org, freebsd-sysinstall@freebsd.org, FreeBSD Arch <freebsd-arch@freebsd.org>
Subject:   Re: HEADS UP: sysinstall is no longer the default installer
Message-ID:  <201103141255.16292.jhb@freebsd.org>
In-Reply-To: <4D7E3A9E.10800@freebsd.org>
References:  <4D7E228A.4090906@freebsd.org> <201103141144.32815.jhb@freebsd.org> <4D7E3A9E.10800@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, March 14, 2011 11:56:14 am Nathan Whitehorn wrote:
> On 03/14/11 10:44, John Baldwin wrote:
> > On Monday, March 14, 2011 10:13:30 am Nathan Whitehorn wrote:
> >> 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.
> > Please consider supporting using SVN or CVS to obtain docs, ports, and source
> > trees.  I have a custom SVN repo at work that is not exported to CVS and
> > available via csup and am able to use the existing SVNROOT SVNBRANCH variables
> > with 'make release'.  Having support for this sort of thing would be useful.
> > I have also made much use of LOCAL_PATCHES in the past for building releases,
> > so having support for that would be useful as well.
> 
> SVNBRANCH works now, and source comes over SVN, the others via cvsup. 
> Support for a different SVNROOT and regular cvs for ports and docs can 
> certainly be added. In the case of LOCAL_PATCHES, you can just use the 
> regular makefile on your patched tree -- I don't think the chroot and 
> checkouts make much sense in this case.

Hmm, I've actually used LOCAL_PATCHES a lot to test out changes while still
doing builds in a chroot (I'm paranoid about not having pollution from
the build machine in the release builds so have always used the chroot).

Being able to use CVS and a custom CVSROOT and SVNROOT would be good to have.

> > I think for re@ especially it is nice to just do 'make release TAG=7.2' (or
> > some such) and have it DTRT to check out matching ports, doc, and src into the
> > chroot, etc.  I think the new process should be similarly automated.
> 
> The generate-release.sh script likely needs some work. It exists almost 
> purely for the benefit of re@, and I don't know exactly what their 
> requirements are. A list (or patches) would be very welcome. The feature 
> you want here, though, can be obtained now by the CVSUP_TAG and svn 
> branch arguments to generate-release.sh.

Note that re@ uses CVS to checkout ports and docs rather than cvsup.  There
was also logic in the old release Makefile to take a single CVS-style src
tag and convert it into suitable tags for docs and ports.  An example of the
re@ style is found in the bottom of the old release(7):

EXAMPLES
     The following sequence of commands was used to build the FreeBSD 4.9
     release:

           cd /usr
           cvs co -rRELENG_4_9_0_RELEASE src
           cd src
           make buildworld
           cd release
           make release CHROOTDIR=/local3/release BUILDNAME=4.9-RELEASE \
             CVSROOT=/host/cvs/usr/home/ncvs RELEASETAG=RELENG_4_9_0_RELEASE

     After running these commands, a complete system suitable for FTP or CD-
     ROM distribution is available in the /local3/release/R directory.

> > Have you tested network installs using PXE or the like?  This was fairly easy
> > before as you could copy the '/boot' directory from a bootable ISO and the
> > mfsroot was self-contained.  Do you now have to put the entire contents of
> > release.iso up via NFS?  Is there a subset you put in the NFS root and then do
> > an NFS or FTP install?
> >
> 
> Yes, I have, and it works well (tested on i386, sparc64, and powerpc). 
> Right now, you need the whole system (which is a regular installworld + 
> the rc.local to give the installer menu, and, optionally the distfiles). 
> For the future, the set of things the installer needs from the userland 
> is intentionally fairly small. I need to do some work anyway to make a 
> minimal system for bootonly CDs and the like, which should also a 
> smaller system for PXE as well.

Ok.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201103141255.16292.jhb>