Re: Unable to installworld after successful buildworld and buildkernel

From: Brooks Davis <brooks_at_freebsd.org>
Date: Wed, 9 Oct 2013 13:52:24 -0500
On Wed, Oct 09, 2013 at 10:05:04AM -0700, John-Mark Gurney wrote:
> Brooks Davis wrote this message on Wed, Oct 09, 2013 at 08:06 -0500:
> > On Tue, Oct 08, 2013 at 10:52:13PM -0700, John-Mark Gurney wrote:
> > > Thomas Mueller wrote this message on Wed, Oct 09, 2013 at 03:00 +0000:
> > > > > > But where is DB_FROM_SRC documented?  I never saw it anywhere.  UPDATING file needs to be updated for installing FreeBSD on a partition where there is no OS installed.
> > > > 
> > > > > It's documented in Makefile.inc1 where the less commonly used options
> > > > > are documented.  It should be documented in the Handbook along with the
> > > > > process of cross installation and image creation.
> > > > 
> > > > > I disagree that UPDATING should document the process of installing to
> > > > > other locations.  That would be a distraction from it's purpose of
> > > > > letting users update their systems.  It's already far too complicated.
> > > > 
> > > > -- Brooks
> > > > 
> > > > UPDATING file has a section on cross-installing current into a separate partition.
> > > > 
> > > > This part ought to be complete, including DB_FROM_SRC, rather than leaving a user lost at sea when a new user (unbound) sneaks in.
> > > > 
> > > > UPDATING documented when user auditdistd was added, so why not for unbound?
> > > 
> > > How does this look:
> > > Index: UPDATING
> > > ===================================================================
> > > --- UPDATING    (revision 256024)
> > > +++ UPDATING    (working copy)
> > > _at__at_ -1899,7 +1899,7 _at__at_
> > >         make buildkernel KERNCONF=YOUR_KERNEL_HERE
> > >         <maybe newfs current's root partition>
> > >         <mount current's root partition on directory ${CURRENT_ROOT}>
> > > -       make installworld DESTDIR=${CURRENT_ROOT}
> > > +       make installworld DESTDIR=${CURRENT_ROOT} -DDB_FROM_SRC
> > >         make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd
> > >         make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT}
> > >         cp /etc/fstab ${CURRENT_ROOT}/etc/fstab                    # if newfs'd
> > > 
> > > 
> > > I tested distribution and it appears not to need it.
> > 
> > Distribution could easily need it in the future so I'd suggest adding in
> > there as well.  If nothing else, if building on a box with a highly
> > non-standard /etc/passwd or /etc/group the results could be bizzare and
> > inconsistant if -DDB_FROM_SRC is not used in both cases.  installkernel
> > is probably safe since people who renumber root/wheel will get what they
> > deserve if they don't audit all of the make infrastructure.
> > 
> > -- Brooks
> > 
> > P.S. This probably shouldn't be documented because it is dangerous in
> > some situations: but for administrators who keep their passwd and group
> > files entirely in sync with FreeBSD's you can skip the whole mergemaster
> > -p annoyance by specifying DESTDIR=/ -DDB_FROM_SRC.
> 
> My patch?

I like your patch other than the fact that you didn't include make
distribution.  The specific case mentioned in my P.S. should not be well
documented as it's potentially dangerous (one somewhat common case
leads to suid binaries with the wrong owner).

-- Brooks

Received on Wed Oct 09 2013 - 16:52:34 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:42 UTC