TrueOS Core Operating System Repo
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Jenkins Split TrueOS snapshots into two, add a new Snapshot-zol Dec 24, 2018
bin Merge remote-tracking branch 'freebsd/master' into trueos-master Jan 11, 2019
cddl Merge remote-tracking branch 'freebsd/master' into trueos-master Jan 11, 2019
contrib Merge remote-tracking branch 'freebsd/master' into trueos-master Jan 11, 2019
crypto Merge remote-tracking branch 'freebsd/master' into trueos-master Jan 11, 2019
etc Merge remote-tracking branch 'freebsd/master' into trueos-master Jan 11, 2019
gnu Merge remote-tracking branch 'freebsd/master' into trueos-master Jan 14, 2019
include Merge branch 'master' of https://github.com/freebsd/freebsd into true… Dec 24, 2018
kerberos5 Use ${SRCTOP}/contrib/com_err/com_err.h instead of the installed com_… Jan 14, 2019
lib Merge remote-tracking branch 'freebsd/master' into trueos-master Jan 14, 2019
libexec Merge remote-tracking branch 'freebsd/master' into trueos-master Jan 14, 2019
release Run env_check before specific release-trueos operations so we populate Jan 16, 2019
rescue rescue: set NO_SHARED in Makefile Nov 19, 2018
sbin Merge remote-tracking branch 'freebsd/master' into trueos-master Jan 14, 2019
secure Merge branch 'master' of https://github.com/freebsd/freebsd into true… Dec 14, 2018
share Scratch that, only check if release/release-trueos.sh exists, if not Jan 16, 2019
stand Merge remote-tracking branch 'freebsd/master' into trueos-master Jan 14, 2019
sys Merge remote-tracking branch 'freebsd/master' into trueos-master Jan 14, 2019
targets - More ldapd removal Dec 14, 2018
tests Merge remote-tracking branch 'freebsd/master' into trueos-master Jan 14, 2019
tools Merge remote-tracking branch 'freebsd/master' into trueos-master Jan 14, 2019
usr.bin Merge remote-tracking branch 'freebsd/master' into trueos-master Jan 14, 2019
usr.sbin Merge remote-tracking branch 'freebsd/master' into trueos-master Jan 14, 2019
.arcconfig callsign isn't required anymore Sep 29, 2016
.arclint arc lint: ignore /tests/ in chmod Dec 19, 2017
.gitattributes MK_ZFS -> {MK_ZFS|MK_LOADER_ZFS}, this is so we can diable userland /… Jan 5, 2019
.gitignore Change tests/boot.exp and tests/install.exp to work with new TrueOS Nov 15, 2018
COPYRIGHT Happy New Year 2019! Jan 1, 2019
Jenkinsfile Minor spacing changes to fix THD-2 Dec 6, 2018
LOCKS LOCKS: update current locks Jun 9, 2018
MAINTAINERS Register a pre-commit review for ipfilter. Dec 24, 2018
Makefile Cleanup Makefile / Makefile.inc1, no need to duplicate whats Jan 14, 2019
Makefile.inc1 Cleanup Makefile / Makefile.inc1, no need to duplicate whats Jan 14, 2019
Makefile.libcompat Use ...-freebsd13.0 in -target strings. Nov 12, 2018
Makefile.sys.inc AUTO_OBJ: For all top-level targets enforce using an OBJDIR. Dec 5, 2017
ObsoleteFiles.inc Remove iBCS2, part1: userspace Dec 19, 2018
README README: add generic notes about GENERIC and NOTES Jun 17, 2018
README.md add info how to add the portstree from github Jan 5, 2019
UPDATING Add UPDATING entry for r342635. Dec 31, 2018

README.md

Build Status

TrueOS Source:

This is the top level TrueOS source directory. It is more or less a fork of FreeBSD.

TrueOS Differences:

In what ways does TrueOS differ from stock FreeBSD you may be wondering? Read on for a list of the distinctions in no particular order:

  • Bi-Annual Release Cycle - TrueOS follows traditional FreeBSD HEAD and cuts new releases on a 6 months schedule which includes OS and Ports.

  • GitHub - TrueOS uses Git/GitHub as the "Source of truth", Pull-Requests welcome!

  • CI - Our Jenkins build cluster is constantly building new versions of TrueOS for testing.

  • dhcpcd - dhcpcd has been integrated directly into base, allowing more advanced IPv4 and IPv6 network configuration

  • OpenRC - This replaces the legacy rc.d scripts with OpenRC's init.d subsystem, allowing faster boots, as well as a host of other service improvements.

  • Package Base - TrueOS is installed and based on using Packages for the Base OS.

  • Root NSS Certs - Since it really is a bummer to not be able to use HTTPS out of box...

  • Custom Installer - TrueOS includes its own pc-sysinstall installation system, along with text-based front-end. This allows a wide variety of ZFS-based installation options, as well as scriptability.

  • JSON Build Manifest - TrueOS supports a customizable JSON manifest for building. This allows TrueOS to run poudriere and assemble installation images for a variety of use-cases.

  • Single repo - Base packages and ports now share a single repository which allows base packages to depend upon ports, such as jq for -devel packages

  • More as they come...

Build Instructions:

The following instructions may be used to generate TrueOS installation images:

make buildworld buildkernel
make packages
cd release && make iso

If you want to re-use the base packages and just re-run port builds, you may do so with:

make ports

To change the default manifest from CI to something else, set the TRUEOS_MANIFEST variable to the full path. I.E:

# setenv TRUEOS_MANIFEST /usr/src/release/manifests/trueos-master.json
# make buildworld buildkernel
 ...

Using Poudriere:

Since TrueOS uses an external toolchain, an additional step is required before using stock Poudriere. This is to install the base pkg environment and boot-strap the external compiler. To create a Poudriere jail on TrueOS, run the following command assuming you have poudriere-trueos installed:

poudriere jail -c -j trueos -m trueos -v 13.0

Checkout the portstree with git.

poudriere ports -c -p default -m git -U https://github.com/trueos/trueos-ports -B trueos-master

and to update jail to the latest trueos snapshot you can use

poudriere jail -u -j trueos