Menu

Tree [r13467] / projects / cli /
 History

HTTPS access


File Date Author Commit
 build 2012-02-24 yaberauneya [r10239] Merge r8826:r10238
 core 2011-10-26 yaberauneya [r8445] freenas8-plugins -> cli.
 doc 2011-10-09 yaberauneya [r8195] Add appropriate directories to split up the plu...
 docs 2012-02-24 yaberauneya [r10239] Merge r8826:r10238
 examples 2012-02-24 yaberauneya [r10239] Merge r8826:r10238
 gui 2012-02-24 yaberauneya [r10239] Merge r8826:r10238
 nanobsd 2012-02-24 yaberauneya [r10239] Merge r8826:r10238
 network 2011-11-10 yaberauneya [r8622] Merge changes from trunk (r8588:r8621).
 patches 2012-02-24 yaberauneya [r10239] Merge r8826:r10238
 service 2011-11-09 yaberauneya [r8608] - services -> service.
 src 2012-02-24 yaberauneya [r10239] Merge r8826:r10238
 storage 2011-11-10 yaberauneya [r8622] Merge changes from trunk (r8588:r8621).
 system 2011-11-10 yaberauneya [r8622] Merge changes from trunk (r8588:r8621).
 tools 2012-02-24 yaberauneya [r10239] Merge r8826:r10238
 COPYING 2011-10-11 yaberauneya [r8215] Add an obvious licensing clause to the project ...
 README 2012-02-24 yaberauneya [r10239] Merge r8826:r10238
 ReleaseNotes 2012-02-24 yaberauneya [r10239] Merge r8826:r10238

Read Me

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.
- You need the following ports/packages to build FreeNAS:
  - devel/git or devel/subversion
  - lang/python26 or lang/python27
  - sysutils/cdrtools

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 .

- Checking out the code from the *unofficial* Gitorious git repository
  (it might lag behind the svn repo):

% git clone git://gitorious.org/freenas/freenas.git
% cd freenas

- Use the build script (substituting your favorite cvsup mirror)

% sudo env FREEBSD_CVSUP_HOST=cvsup1.freebsd.org sh build/do_build.sh

That's it.

The End Result:

If your build completes successfully, you'll have an image in
obj.yyyy/FreeNAS-VVVV-XXXX-yyyy.img.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.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. Update source and ports, patch, and rebuild 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

6. Build everything required (src, ports) but don't produce GUI upgrade/CD
   images:

% sudo sh build/do_build.sh -- -i

Submitting Build Bugs:

Please execute the 'build/build_bug.sh' command and follow the directions
described by the script.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.