Unable to installworld after successful buildworld and buildkernel

Brooks Davis brooks at freebsd.org
Tue Oct 8 14:15:12 UTC 2013


On Tue, Oct 08, 2013 at 06:29:53AM +0000, Thomas Mueller wrote:
> From $SRCDIR/UPDATING
> 
>  To cross-install current onto a separate partition
>         --------------------------------------------------
>         # In this approach we use a separate partition to hold
>         # current's root, 'usr', and 'var' directories.   A partition
>         # holding "/", "/usr" and "/var" should be about 2GB in
>         # size.
> 
>         <make sure you have good level 0 dumps>
>         <boot into -stable>
>         make buildworld
>         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 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
>         <edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition>
>         <reboot into current>
>         <do a "native" rebuild/install as described in the previous section>
>         <maybe install compatibility libraries from ports/misc/compat*>
>         <reboot>
> 
> This part seems not to have changed so far from RELENG_9 to HEAD.
> 
> I failed on "make installworld DESTDIR=/BETA1 |& tee installworld.log"
> 
> ERROR: Required unbound user is missing, see /usr/src/UPDATING
> 
> How am I supposed to have an unbound user on a partition where there is no existing FreeBSD installation?
> 
> Like the job market, where one needs to have two or more years experience, but how to get that first job?
> 
> I tried
> mergemaster -p -m /BETA1/usr/src -D /BETA1
> on thin air, managed to get a master.passwd that included unbound user, but 
> make installworld DESTDIR=/BETA1 
> failed immediately for lack of unbound user it couldn't find.
> 
> I also tried 
> make distribution DESTDIR=/BETA1
> (and distributeworld too), no joy:
> Target directory, either /BETA1/etc or /BETA1/etc/atf, does not exist.
> 
> There is a bug in $SRCDIR/UPDATING in the part about cross-installing current onto a separate partition.
> 
> I even tried copying /etc directory from USB stick to /BETA1/etc before running mergemaster, but that also failed.
> 
> But this was no barrier when I built and installed FreeBSD 9-stable i386 on a USB stick, mounted as /compat/i386.
> 
> From https://wiki.freebsd.org/i386-Wine
> 
> # cd /usr/src
> # make buildworld TARGET=i386
> # make installworld TARGET=i386 DESTDIR=/compat/i386
> # make distribution TARGET=i386 DESTDIR=/compat/i386
> # mkdir /compat/i386/usr/ports
> # mount -t devfs devfs /compat/i386/dev
> # mount -t nullfs /usr/ports /compat/i386/usr/ports
> 
> but instead of the latter part, after "make distribution ..."
> I made buildkernel and installkernel, and booted from the USB stick, used ports directory on hard drive.
> 
> That worked, but wouldn't work for FreeBSD-current now due to unbound and /etc problems?
> 
> How does one install FreeBSD, building from source, on a partition with no OS installed?

To cross install FreeBSD on a system without the required users/groups
you must either install them on the base system so that install and
mtree can use them or use the -DDB_FROM_SRC option when running the
installworld/installkernel/distribution targets.

-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20131008/afcda83c/attachment.sig>


More information about the freebsd-current mailing list