FreeNAS Code
This project has moved to github - see https://github.com/freenas
Brought to you by:
cochard,
mattolander
File | Date | Author | Commit |
---|---|---|---|
build | 2011-10-27 | yaberauneya | [r8465] Switch over to in-tree copy of nanobsd.sh and r... |
gui | 2011-10-28 | zippybr | [r8493] minor change, remove unused dojo lib |
nanobsd | 2011-10-27 | yaberauneya | [r8465] Switch over to in-tree copy of nanobsd.sh and r... |
patches | 2011-10-27 | yaberauneya | [r8465] Switch over to in-tree copy of nanobsd.sh and r... |
tools | 2011-10-26 | yaberauneya | [r8443] Don't prompt me bro. |
README | 2011-10-27 | yaberauneya | [r8465] Switch over to in-tree copy of nanobsd.sh and r... |
FreeNAS 8.x is relatively stable, but is still being polished. There isn't complete feature parity between 0.7 (legacy) and 8.x, yet, and there are still some rough edges, but there are also some features in 8.x that aren't available in 0.7. There isn't an upgrade path from 0.7 to 8.x, yet. To build the system (experts only): Requirements: - Your build environment must be FreeBSD 8.1-RELEASE or newer. - amd64 or i386 for i386 builds; an amd64 for amd64 builds. Building the System Quickstart Flow: - Checking out the code from svn: % svn co https://freenas.svn.sourceforge.net/svnroot/freenas/trunk % cd trunk More information about checking out sources from svn via SourceForge can be found here: http://p.sf.net/sourceforge/svn . - Use the build script (substituting your favorite cvsup mirror) % sudo env FREEBSD_CVSUP_HOST=cvsup1.freebsd.org sh build/do_build.sh % sudo sh build/create_iso.sh That's it. The End Result: If your build completes successfully, you'll have an image in obj.yyyy/FreeNAS-VVVV-XXXX-yyyy.full.xz where: - VVVV is the 'release' branch version or. - XXXX is the svn revision from the FreeNAS repo. - yyyy is either i386 or amd64 depending on your platform and what was provided via $FREENAS_ARCH on the command line / via the environment. This is a compressed raw disk image, and needs to be decompressed and converted to your favorite VM container format before use, flashed on to a USB key fob, etc. There will also be a CD/DVD image, obj.yyyy/FreeNAS-VVVV-XXXX-yyyy.full.iso, that you can use to install/upgrade FreeNAS. Common workflows: 1. Building an i386 on an amd64 build server: % sudo env FREENAS_ARCH=i386 sh build/do_build.sh 2. Forcing an source / ports update: % sudo env FREEBSD_CVSUP_HOST=cvsup1.freebsd.org sh build/do_build.sh -u 3. Updating ports patches: % sudo rm -Rf obj.$FREENAS_ARCH/ports/packages/ % sudo env FREEBSD_CVSUP_HOST=cvsup1.freebsd.org sh build/do_build.sh -u NOTE: when things get smarter (and they will.. the developers feel your pain too :/..), nuking individual packages won't be required; this will require fiddling around with the ports infrastructure, which is a semi-large undertaking. Thus, I wouldn't expect this to be enhanced anytime soon :(.. (but it's annoyed the author of this document enough that it's time to fix things properly!). 4. Updating source patches and rebuilding FreeBSD: % sudo env FREEBSD_CVSUP_HOST=cvsup10.freebsd.org sh build/do_build.sh -fu 5. Force a build from scratch (nukes packages, rebuild FreeBSD): % sudo env FREEBSD_CVSUP_HOST=cvsup10.freebsd.org sh build/do_build.sh -ff