* Trixie related changes for scale-build
* Point to HM mirrors
* Update apt preferences for trixie
* Update debootstrap changes for trixie
* Minor fix
* Remove python3 package
* Remove mandatory explicit dep
* Use openjdk-21-jdk for kernel
* Update passwd
* There is no need for custom openssl now
* Move from libssl3 to libssl3t64
* Remove util-linux from build manifest
* Set env variable for spdk
* Don't buidl spdk for now
* ipmctl is not available in stable
* Remove legacy sysv unit stuff
* Comment out netdata for now
* Small umount fix
* Also umount efivars
* Update build manifest to reflect updated branches
* Remove nfs entry from mtree
* Make sure to umount efivars
* Properly have apt sources fixed in update image
* Pull in grub2-common
* Add netdata mirror
* Fix url
* Make sure corepack is non-interactive
* Update netdata groups
* Fix efivars mounting
* Properly use clean_mounts
* Add fixme for netdata
* Properly comment out spdk explicit deps
* Remove grub-efi-amd64-signed from iso
* Make sure efivarfs is definitely mounted
* Bring in isc-dhcp-client for now
* Revert "Bring in isc-dhcp-client for now"
This reverts commit 259ffebba5.
* Only try to umount efivarfs if host is actually efi based
* Update repo's branches
truenas-build
A build framework for TrueNAS SCALE.
Found an issue in the build for SCALE? Please report it on our Jira bugtracker.
Requirements
- Debian 10 or later (VM or Bare-Metal)
- 20GB of RAM
- At least 15GB of free disk space
In 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"