https://github.com/truenas/scale-build
TrueNAS SCALE Build System
https://github.com/truenas/scale-build
debian nas truenas truenas-scale
Last synced: 6 months ago
JSON representation
TrueNAS SCALE Build System
- Host: GitHub
- URL: https://github.com/truenas/scale-build
- Owner: truenas
- License: gpl-3.0
- Created: 2020-05-05T16:56:12.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-04-18T00:15:12.000Z (over 1 year ago)
- Last Synced: 2024-04-18T14:50:43.174Z (over 1 year ago)
- Topics: debian, nas, truenas, truenas-scale
- Language: Python
- Homepage: http://www.truenas.com
- Size: 1.27 MB
- Stars: 302
- Watchers: 25
- Forks: 81
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# truenas-build
A build framework for TrueNAS SCALE.
Found an issue in the build for SCALE? Please report it on our [Jira bugtracker](https://jira.ixsystems.com).
## Requirements
- Debian 10 or later (VM or Bare-Metal)
- 20GB of RAM
- At least 15GB of free disk spaceIn addition to the host, you will want to pre-install the following packages:
* build-essential
* debootstrap
* libjson-perl
* git
* python3-pip
* python3-venv
* squashfs-tools
* rsync
* unzip
* libarchive-tools``` % sudo apt install build-essential debootstrap git python3-pip python3-venv squashfs-tools unzip libjson-perl rsync libarchive-tools```
## Usage
After the pre-requistes are installed, simply run "make" (as root or sudo) to perform a complete build which performs the following steps:
``` make checkout ```
Pulls in the latest target source repos from online. Re-run to update to latest sources at any time.
``` make packages ```
Builds all the *.deb packages from the checked out source repos and stages them for further stages. Re-running it will perform an incremental build, only re-building packages which have changed sources in source/.
``` make update ```
Builds the stand-alone update file, used for online/offline updating or building ISO images.
``` make iso ```
Builds the ISO image for fresh installation.
``` make clean ```
Cleans up all the temporary files and returns to original state.
## Overrides
It is possible using make and environment variables to override which source repos get checked out during "make checkout" phase.
TRUENAS_BRANCH_OVERRIDE - Can be used to override all source repos at once
_OVERRIDE - Can override specific repos, I.E. debootstrap_OVERRIDE="master"