summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorgjb <gjb@FreeBSD.org>2014-03-05 23:17:53 +0000
committergjb <gjb@FreeBSD.org>2014-03-05 23:17:53 +0000
commitf40d4b8f24c221471b24978d5a0666ad38c70b32 (patch)
treeabe58ba735d2a6b8a3e819ec3dd9288903af300c /share
parent813e459619ed05280f3f1d53a830d2f7e2df0d3c (diff)
parent38f5e1d44f3c0f789afc6d8d3ff00aa8c5522f30 (diff)
downloadFreeBSD-src-f40d4b8f24c221471b24978d5a0666ad38c70b32.zip
FreeBSD-src-f40d4b8f24c221471b24978d5a0666ad38c70b32.tar.gz
Merge ^/projects/release-embedded into ^/head.
After several months of testing and fixing (and breaking) various parts of release/release.sh changes, it is now possible to build FreeBSD/arm images as part of the release process. When EMBEDDEDBUILD is set in the release.conf file, release.sh will create the build environment, then run a separate script in release/${XDEV}/release.sh [1]. Currently, only arm is supported. The release/${XDEV}/release.sh configures the build environment specific for the target image, such as installing gcc(1), installing additional third-party software from the ports tree, and fetching external sources. Once the build environment is set up, release/${XDEV}/release.sh runs Crochet, written by Tim Kientzle, which builds the userland and kernel, and creates an image that can be written to an SD card with dd(1). Many thanks to Tim for his work on Crochet. Sample configurations for FreeBSD/arm boards are in the release/arm/ directory, and Crochet configuration files for each board are located in release/tools/arm/. Supported boards at this time are: BEAGLEBONE, PANDABOARD, RPI-B, and WANDBOARD-QUAD. Adding support for additional boards will continue in the projects/release-embedded/ branch, and incrementally merged back to head/. Many thanks to the FreeBSD Foundation for the support and sponsorship of this project. [1] XDEV is used in order to keep the various configurations organized by architecture, but since TARGET and TARGET_ARCH are used to build the chroot, the values of those variables cannot be used. MFC after: 1 month Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'share')
-rw-r--r--share/man/man7/release.773
1 files changed, 72 insertions, 1 deletions
diff --git a/share/man/man7/release.7 b/share/man/man7/release.7
index 00e6eb9..34bd0cb 100644
--- a/share/man/man7/release.7
+++ b/share/man/man7/release.7
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 25, 2014
+.Dd March 5, 2014
.Dt RELEASE 7
.Os
.Sh NAME
@@ -138,6 +138,11 @@ configuration file supports the following variables:
.Bl -tag -width Ev
.It Va CHROOTDIR
The directory within which the release will be built.
+.It Va CHROOT_MAKEENV
+Additional
+.Xr make 1
+arguments to pass through, which directly affect the
+tuning of the build chroot.
.It Va SVNROOT
The
.Xr svn 1
@@ -249,6 +254,72 @@ target.
The command run to obtain the source trees.
Defaults to
.Qq Cm svn checkout .
+.It Va CHROOTBUILD_SKIP
+If defined, the
+.Li buildworld ,
+.Li installworld ,
+and
+.Li distribution
+stages of the
+.Xr chroot 8
+build environment setup are skipped.
+This is intended solely for cases where the
+.Xr chroot 8
+userland are provided by alternate means.
+.El
+.Sh EMBEDDED BUILDS
+The following
+.Fa release.conf
+variables are relevant only to release builds for embedded systems:
+.Bl -tag -width Ev
+.It Va EMBEDDEDBUILD
+Set to a non-null value to enable functionality for embedded device
+release builds.
+.Pq This option is considered highly experimental.
+.Pp
+When set,
+.Va WITH_DVD
+is unset, and
+.Va NODOC
+is defined.
+Additionally,
+.Va XDEV
+and
+.Va XDEV_ARCH
+must also be defined.
+When the build environment is created,
+.Fa release.sh
+runs a separate build script located in an architecture-specific
+directory in
+.Pa src/release/${XDEV}/ .
+.It Va EMBEDDEDPORTS
+Set to the list of any ports that are required for the target device
+in the format of
+.Fa category/port .
+The
+.Fa devel/subversion
+port is built by default.
+.It Va CROCHETSRC
+Set to the source URL for the Crochet build tool.
+.It Va CROCHETBRANCH
+Set to the subversion branch from
+.Va ${CROCHETSRC}
+to use.
+Defaults to
+.Pa trunk .
+.It Va UBOOTSRC
+Set to the source URL of u-boot, if required.
+.It Va UBOOTBRANCH
+Set to the subversion branch from
+.Va ${UBOOTSRC}
+to use.
+Defaults to
+.Pa trunk .
+.It Va UBOOTDIR
+Set to the target directory within
+.Va ${CHROOTDIR}
+to check out
+.Va ${UBOOTSRC}/${UBOOTBRANCH} .
.El
.Sh MAKEFILE TARGETS
The release makefile
OpenPOWER on IntegriCloud