installkernel/world to different directory

Matthew Dillon dillon at
Wed Sep 15 15:39:33 PDT 2004

:The directions for how to build and install world/kernels on the same
:machine are good and have worked fine for me. But I'd like to do the
:install steps differently and am looking for some advice. I have
:access to a big/fast FreeBSD machine to do dfly builds, but how do the
:installkernel and installworld steps work if I want to put the build
:on a different machine? Is there a way to specify a destination other
:than / for the install directory?
:Chuck Tuffli
:Agilent Technologies

    You can, but it's dangerous.   You use a DESTDIR=<path> directive on
    your make line (see the buildiso: target in /usr/src/nrelease/Makefile
    to see how the release build process installs the world into
    /usr/release/root).  If you use this methodology create a script to
    do it rather then typing it in manually so you don't make any mistakes.


    A better solution would be to export your build machine's /usr/src and
    /usr/obj via read-only NFS.  You then mount them on the target machines
    and installworld locally on each target machine.  This is much safer.

    For that to work properly the absolute source and object paths must be
    the same.  e.g. if your source is on /usr/src on the build machine it 
    has to be on /usr/src on the target machine.  If your source is on
    /fu/bar/usr/src on the build machine and it has a softlink from
    /usr/src to /fubar/bar/usr/src then you have to mount it as 
    /fu/bar/usr/src on the target machine and have the same softlink.

    Also, /etc/make.conf on the target machine should match 
    /etc/make.conf on the build machine (at least for any makefile
    variables that might effect the build/install operation).

					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>

More information about the Users mailing list