Giter Club home page Giter Club logo

build's Introduction

Building FreeNAS 11 from Scratch

Note: All these commands must be run as root.

Requirements:

  • Hardware

    • CPU: amd64-compatible 64-bit Intel or AMD CPU.
    • 16GB memory, or the equivalent in memory plus swap space
    • at least 80GB of free disk space
  • Operating System

    • The build environment must be FreeBSD 11.x (or 11-STABLE) (building on FreeBSD 10 or 12 is not supported at this time).

Make Targets

  • checkout creates a local working copy of the git repositories with git clone

  • update does a git pull to update the local working copy with any changes made to the git repositories since the last update

  • release actually builds the FreeNAS release

  • clean removes previously built files

Procedure

  • Install git

    pkg install -y git
    rehash
    
  • Clone the build repository (/usr/build is used for this example):

    git clone https://github.com/freenas/build /usr/build
    
  • Install Dependencies

    cd /usr/build
    make bootstrap-pkgs
    python3 -m ensurepip
    python3 pip install six
    
  • First-time checkout of source:

    make checkout
    

A FreeNAS release is built by first updating the source, then building:

make update
make release

To build the SDK version:

make update
make release BUILD_SDK=yes

Clean builds take a while, not just due to operating system builds, but because poudriere has to build all of the ports. Later builds are faster, only rebuilding files that need it.

Use make clean to remove all built files.

Results

Built files are in the freenas/_BE subdirectory, /usr/build/freenas/_BE in this example.

ISO files: freenas/_BE/release/FreeNAS-11-MASTER-{date}/x64/.

Update files: freenas/_BE/release/.

Log files: freenas/_BE/objs/logs/.

build's People

Contributors

650elx avatar abwaters avatar amotin avatar anodos325 avatar araujobsd avatar b-a-t avatar chris3torek avatar cyberjock avatar darkfiberiru avatar deepikadhiman avatar dennisjensen-owc avatar dlavigne avatar erincodepirate avatar fzzr avatar jeamland avatar justinclift avatar jwestfall69 avatar kithrup avatar kmoore134 avatar pkgdemon avatar raheelh avatar sonicaj avatar themylogin avatar vaibhav-rbs avatar wblock avatar william-gr avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.