Re: Unable to installworld after successful buildworld and buildkernel

From: John-Mark Gurney <jmg_at_funkthat.com>
Date: Wed, 9 Oct 2013 10:05:04 -0700
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?

The reason it should be documented as the original poster pointed out
that this is specifically for cross-installing from -stable...  So
either we document this, or we remove this set of instructions entierly..

Second, this is for a completely new, self consistent system, so the new
system will have the proper users (just got installed by make
distribution)..  If you mount that system on another system, you have
the same problem if you mount a normally installed -current on an older
-stable...

I can only see improvements by documenting -DDB_FROM_SRC here..

P.S. I have done this cross-install myself, but iirc, from -current so
the instructions are useful...

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."
Received on Wed Oct 09 2013 - 15:05:11 UTC

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