Permalink
Browse files

README update to reflect current methods of building FreeNAS

  • Loading branch information...
1 parent 97bee76 commit e4f20397887c305ce590c55736bc04efe286d10c @jhixson74 jhixson74 committed Jun 22, 2013
Showing with 22 additions and 38 deletions.
  1. +22 −38 README
View
60 README
@@ -1,77 +1,61 @@
-FreeNAS 8.x is a complete different software compared to 0.7. There is a
+FreeNAS 9.x is a complete different software compared to 0.7. There is a
complete feature parity between 0.7 (legacy) and 8.x with plugins, 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.
+are also some features in 9.x that aren't available in 0.7.
+There isn't an upgrade path from 0.7 to 9.x.
To build the system (experts only):
Requirements:
-- Your build environment must be FreeBSD 8.1-RELEASE or newer.
+- Your build environment must be FreeBSD 9.1-RELEASE or newer.
- amd64 or i386 for i386 builds; an amd64 for amd64 builds.
- You will need the following ports/packages when compiling anything
FreeNAS-related:
- - devel/git-subversion
+ - devel/git
- lang/python26 or lang/python27
- You need the following additional ports/packages to build the FreeNAS base
OS image:
- sysutils/cdrtools
-- You need the following additional ports/packages to build the plugins jail:
- - ports-mgmt/pbi-manager
-
- The port security/sudo is recommended but not required, if you do not have
the port installed you can run the commands listed in this doc as root.
-- If you have the devel/gamin port installed, you may encounter errors
- during the FreeNAS build when it tries to unmount nullfs file systems.
- To fix this, you either can remove the port, or create a config file
- /usr/local/etc/gamin/gaminrc with the following entries to disable gamin
- notifications on certain file systems:
-
- fsset nullfs none
- fsset ufs none
- fsset zfs none
-
- See: http://people.gnome.org/~veillard/gamin/config.html for more details.
-
Building the System Quickstart Flow:
- Checking out the code from git:
-% git clone --depth 1 git://github.com/freenas/freenas.git
+% git clone http://github.com/freenas/freenas.git
% cd freenas
+More information about checking out sources from git via github
+can be found here: https://github.com/
+
- Use the build script
% sudo sh build/do_build.sh
-This will fetch TrueOS and ports for the build. However it is recommended that you maintain a local git mirror to speed up further builds:
-
-% git clone git://github.com/freenas/ports.git ${HOME}/ports
-% git clone git://github.com/trueos/trueos.git ${HOME}/trueos
-
-To build using those local mirrors run:
+- Or, If you want jail distfiles and packages as part of the image:
-% sudo env GIT_REPO=${HOME}/trueos GIT_PORTS_REPO=${HOME}/ports sh build/do_build.sh
+% sudo sh build/do_build.sh -J
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:
+os-base/ARCH/FreeNAS-VVVV-XXXX-YYYY-ZZZZ.(iso|img.xz|GUI_Upgrade.txz)
-- VVVV is the 'release' branch version or.
-- XXXX is the git commit hash from the FreeNAS repo.
-- yyyy is either i386 or amd64 depending on your platform and what was
+- VVVV is the 'release' branch version.
+- XXXX is ALPHA, BETA or RELEASE.
+- YYYY is either x32 or x64 depending on your platform and what was
provided via $FREENAS_ARCH on the command line / via the environment.
+- ZZZZ is the git revision.
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
+obj.yyyy/FreeNAS-VVVV-XXXX-YYYY-ZZZZ.iso, that you can use to install/upgrade
FreeNAS.
Common workflows:
@@ -82,12 +66,12 @@ Common workflows:
2. Forcing an source / ports update:
-% sudo sh build/do_build.sh -u
+% sudo env build/do_build.sh -u
3. Updating ports patches:
-% sudo rm -Rf os-base/$FREENAS_ARCH/ports/packages/
-% sudo sh build/do_build.sh -u
+% sudo rm -Rf obj.$FREENAS_ARCH/ports/packages/
+% sudo env 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
@@ -98,11 +82,11 @@ things properly!).
4. Update source and ports, patch, and rebuild FreeBSD:
-% sudo sh build/do_build.sh -fu
+% sudo env build/do_build.sh -fu
5. Force a build from scratch (nukes packages, rebuild FreeBSD):
-% sudo sh build/do_build.sh -ff
+% sudo env build/do_build.sh -ff
6. Build everything required (src, ports) but don't produce GUI upgrade/CD
images:

0 comments on commit e4f2039

Please sign in to comment.