FreeNAS Code
This project has moved to github - see https://github.com/freenas
Brought to you by:
cochard,
mattolander
File | Date | Author | Commit |
---|---|---|---|
kernel-config | 2010-06-28 | daoyama | [r5243] merge from 7S/8S |
kernel-patches | 2011-01-04 | daoyama | [r5726] merge from 7S. |
ports | 2011-03-07 | zoon01 | [r5801] Update zoneinfo |
CHANGES | 2011-02-23 | daoyama | [r5797] Upgrade istgt to 20110223. |
LICENSE | 2010-04-01 | daoyama | [r5100] merge to trunk. |
README | 2009-12-21 | cochard | [r4948] Do not ask for network card OPT if only one net... |
freenas-create-bootdir.sh | 2010-06-29 | daoyama | [r5246] misc update |
freenas-create-pot.sh | 2010-04-18 | daoyama | [r5150] Update translation files. |
freenas-create-rootfs.sh | 2010-05-20 | daoyama | [r5201] Merge r5173 through r5199. |
freenas-modify-permissions.sh | 2011-01-10 | daoyama | [r5741] merge from 8S |
freenas.files | 2011-01-10 | daoyama | [r5741] merge from 8S |
make.conf | 2008-01-02 | votdev | [r2496] Update make.conf. Add WITHOUT_X11=yes. |
make.sh | 2011-01-10 | daoyama | [r5741] merge from 8S |
ports-supfile | 2010-04-15 | daoyama | [r5144] Update options. |
source-supfile | 2010-01-27 | cochard | [r5004] Fix source-supfile to 8.0-Release |
FreeNAS (http://freenas.org) Olivier Cochard-Labbe (olivier@freenas.org) Licence: BSD ============== SUMMARY ========= 1. Files and directories listing 2. Preparing your FreeBSD for compiling FreeNAS 3. How to generate an FreeNAS ISO or IMG file 4. Building FreeNAS from the latest sources 5. Building kernel ================================ 1. Files and directories listing - /freenas/bootloader : Contains FreeBSD boot loader files - /freenas/rootfs: Minimum FreeBSD root filesystem and FreeNAS script/WebGUI - /freenas/svn: Contains the whole up-to-date (working) release and scripts =============================================== 2. Preparing your FreeBSD for compiling FreeNAS The FreeNAS build scripts are stupid scripts: They copy the binary files of your FreeBSD host. This means that your FreeBSD used for compiling FreeNAS need to be compiled/re-installed with this /etc/make.conf: - NO_SHARED=no - Debug symbol disabled (comment the line WITH_DEBUG=yes if you have it) - Remove all customization for CPU (comment the line CPUTYPE?=native if you have it) Check the make.conf include in the source Note about NO_SHARED: It seems that since FreeBSD 5.0 many executables binaries in /bin and /sbin are build using dynamic linking (this KNOBS is a m0n0wall heritage, don't know if it's still important to use it). ============================================= 3. How to generate an FreeNAS ISO or IMG file Edit the script '/freenas/svn/build/make.sh' and adapt the directory variables with your local ones. Check that you have installed the following ports: - subversion - bash - cdrtools - portupgrade Additional you might install the following ports, otherwise they are build from sources: - perl - ruby - m4 - bison Start /freenas/svn/build/make.sh Burn the freenas.iso file created. ================================= 3. Building FreeNAS from the latest sources (normally possible with make.sh) Here is how to build FreeNAS from the latest sources: - Use the root user account on your FreeBSD system 3.1 Update your FreeNAS scripts/WebGUI code with SVN: (this creates the svn directory) cd /usr/local/freenas svn co https://freenas.svn.sourceforge.net/svnroot/freenas/trunk svn You should now have these directories: /usr/local/freenas /usr/local/freenas/svn 3.2 Update your ports collection: Using portsnap the first time: portsnap fetch extract To update the ports collection next time: portsnap fetch update 3.3 Use the building script: svn/build/make.sh Execute all menus in '20 - Build FreeNAS from scratch advanced menu' to build your FreeNAS from scratch. After that use one of the following menus: 10 - Create 'Embedded' (IMG) file (rawrite to CF/USB/DD) 11 - Create 'LiveCD' (ISO) file 12 - Create 'LiveCD' (ISO) file without 'Embedded' file 13 - Create 'Full' (TGZ) update file ================================= 4. Building kernel Before building the kernel it is recommended to delete the directory /usr/src completely. Next, run the build scripts and update the kernel sources via cvsup + freebsd-update. Continue building using the 'Build kernel' menu in the build script.