How to create bootable iso to install custom FreeBSD build?

Here's my hardware situation:

(Remote) Box foo, running 8.2 -RELEASE FreeBSD (running some server daemons and such).
(Local) OS X host OS, hoping to run FreeBSD 9.0 -CURRENT within VMware Fusion, currently running nothing.

I've got -CURRENT sources checked out to 'foo' and am building the world and kernel there. I'm hitting some snags but helpful folks have got that sorted out it seems. I've built with DESTDIR=/FreeBSD-CURRENT/build. It *seems* that I'm installing to /FreeBSD-CURRENT/build but also /usr/obj??? I'm unclear on this.

To be clear, this is what I'm doing:

Code:
mv /usr/obj /usr/obj.old ; mkdir /usr/obj
make buildworld DESTDIR=/FreeBSD-CURRENT/build TARGET=amd64 TARGET_ARCH=amd64 && make buildkernel DESTDIR=/FreeBSD-CURRENT/build TARGET=amd64 
TARGET_ARCH=amd64 && make installworld DESTDIR=/FreeBSD-CURRENT/build TARGET=amd64 TARGET_ARCH=amd64 && make installkernel DESTDIR=/FreeBSD-
CURRENT/build TARGET=amd64 TARGET_ARCH=amd64 && make distribution DESTDIR=/FreeBSD-CURRENT/build TARGET=amd64 TARGET_ARCH=amd64

I want to ideally create, on 'foo', my_bootable_freebsd_current.iso that I can mount with my VM and completely install with. I can't find anything on the net about doing this, but it's obviously possible, since that's how FreeBSD releases are distributed. How do I do this? If this is going to be a hassle, what is better to do? Is there a smart way to create an iso of the files I care about, boot up with an older 9.0 live CD, and then install from the iso I've made? Would I be best off to put up these built files on my OS X machine as an NFS export - if so, exactly what files do I care about and how do I do this? I'm quite flexible but just don't know how to achieve it

My next issue is what happens when I do a 'svn update' and see that some commits have been made to FreeBSD -CURRENT? Ok, I get the new files, now what? Should I now use my -CURRENT VM and check out the sources and build on there? Given my above codeblock, what would that become exactly in order to upgrade in-place on my -CURRENT VM?

Thanks,

Robert
 
/usr/src/UPDATING
20110314:
As part of the replacement of sysinstall, the process of building
release media has changed significantly. For details, please re-read
release(7), which has been updated to reflect the new build process.
From release(7)
EXAMPLES
The following sequence of commands can be used to build a ``-CURRENT
snapshot'':

Code:
           cd /usr
           svn co svn://svn.freebsd.org/base/head src
           cd src
           make buildworld
           cd release
           make release
           make install DESTDIR=/var/freebsd-snapshot
After running these commands, all produced distribution files (tarballs
for FTP, CD-ROM images, etc.) are available in the /var/freebsd-snapshot

In any case you will need to do that from a working 9-Current and not from 8.2-Release.
Hope that helps.
 
gkontos said:
/usr/src/UPDATING

From release(7)


In any case you will need to do that from a working 9-Current and not from 8.2-Release.
Hope that helps.

That's great that it can automatically build all those images. That'll help once I need to update I guess (will it?) But how does that apply to me when getting started
 
I thought that you want to make a 9-Current snapshot (custom release). If I am not mistaken this can not be done from a 8.2-Release.
 
rlorentz said:
I want to ideally create, on 'foo', my_bootable_freebsd_current.iso that I can mount with my VM and completely install with. I can't find anything on the net about doing this, but it's obviously possible, since that's how FreeBSD releases are distributed. How do I do this? If this is going to be a hassle, what is better to do? Is there a smart way to create an iso of the files I care about, boot up with an older 9.0 live CD, and then install from the iso I've made? Would I be best off to put up these built files on my OS X machine as an NFS export - if so, exactly what files do I care about and how do I do this? I'm quite flexible but just don't know how to achieve it.
Maybe I'm missing something, but why not just download a CURRENT snapshot from ftp://ftp.freebsd.org/pub/FreeBSD/snapshots, install from that, and then use whatever method you prefer to update your source tree and rebuild kernel + world? Normally a custom install disc would be used if you wanted to install to multiple systems and either needed a non-standard kernel or wanted to deploy a specific set of software not provided by the standard sysinstall options.
 
Back
Top