Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/truenas/core-build
TrueNAS CORE/Enterprise Build System
https://github.com/truenas/core-build
enterprise freenas truenas
Last synced: 2 months ago
JSON representation
TrueNAS CORE/Enterprise Build System
- Host: GitHub
- URL: https://github.com/truenas/core-build
- Owner: truenas
- License: gpl-3.0
- Created: 2017-03-14T16:58:27.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-07-02T16:12:41.000Z (3 months ago)
- Last Synced: 2024-07-09T02:54:07.360Z (3 months ago)
- Topics: enterprise, freenas, truenas
- Language: Python
- Homepage:
- Size: 1.86 MB
- Stars: 223
- Watchers: 40
- Forks: 76
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Building TrueNAS 13 CORE/Enterprise 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 13.x (or 13-STABLE)
## 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/truenas/build /usr/build
```* Install Dependencies
```
cd /usr/build
make bootstrap-pkgs
python3 -m ensurepip
pip3 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/TrueNAS-13-MASTER-{date}/x64/```.
Update files: ```freenas/_BE/release/```.
Log files: ```freenas/_BE/objs/logs/```.