diff options
author | gjb <gjb@FreeBSD.org> | 2015-05-20 19:32:57 +0000 |
---|---|---|
committer | gjb <gjb@FreeBSD.org> | 2015-05-20 19:32:57 +0000 |
commit | b1fc2fbae970fc4d2aad4e8411330f54d3073b9c (patch) | |
tree | 17495815755e8059896f1921cee44a6c2a725d43 /release/arm | |
parent | b4fe1f9ecc338294f0cec71ef718d81c53766c33 (diff) | |
download | FreeBSD-src-b1fc2fbae970fc4d2aad4e8411330f54d3073b9c.zip FreeBSD-src-b1fc2fbae970fc4d2aad4e8411330f54d3073b9c.tar.gz |
MFC r282500, r282693:
r282500:
Add initial support for building RPI2 images.
In release.sh, allow overriding buildenv_setup() before
the handoff to arm/release.sh.
Copy arm/RPI-B.conf -> arm/RPI2.conf, set UBOOT_PORT and
the correct KERNEL, and add the buildenv_setup() override
to install the sysutils/u-boot-rpi2 port/package.
Copy tools/arm/crochet-RPI-B.conf -> tools/arm/crochet-RPI2.conf,
and set the correct entries for the RaspberryPi2 board.
r282693:
Merge ^/projects/release-arm-redux into ^/head.
Of note:
- This commit adds native FreeBSD/arm release build support without
requiring out-of-tree utilities.
- Part of this merge removes the WANDBOARD-{SOLO,DUAL,QUAD} kernel
configuration files, for which the IMX6 kernel configuration file
should be used instead.
- The resulting images have a 'freebsd' user (password 'freebsd'),
to allow ssh(1) access when console access is not available (VGA
or serial). The default 'root' user password is set to 'root'.
- The /etc/ttys file for arm images now enable both ttyv0 and ttyu0
by default.
Note: The RPI2 kernel configuration does not yet exist in stable/10,
however the merge conflicts needed to be properly resolved.
Additionally, SRCBRANCH has been set to base/stable/10 in the updated
arm configuration files as part of this commit.
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'release/arm')
-rw-r--r-- | release/arm/BEAGLEBONE.conf | 51 | ||||
-rw-r--r-- | release/arm/PANDABOARD.conf | 51 | ||||
-rw-r--r-- | release/arm/RPI-B.conf | 61 | ||||
-rw-r--r-- | release/arm/RPI2.conf | 44 | ||||
-rw-r--r-- | release/arm/WANDBOARD-QUAD.conf | 30 | ||||
-rw-r--r-- | release/arm/WANDBOARD.conf | 42 | ||||
-rw-r--r-- | release/arm/ZEDBOARD.conf | 29 | ||||
-rwxr-xr-x | release/arm/release.sh | 139 |
8 files changed, 180 insertions, 267 deletions
diff --git a/release/arm/BEAGLEBONE.conf b/release/arm/BEAGLEBONE.conf index 96ada32..0f4a97b 100644 --- a/release/arm/BEAGLEBONE.conf +++ b/release/arm/BEAGLEBONE.conf @@ -2,29 +2,36 @@ # $FreeBSD$ # -# Build chroot configuration -TARGET="amd64" -TARGET_ARCH="amd64" -SVNROOT="svn://svn.FreeBSD.org/" SRCBRANCH="base/stable/10@rHEAD" -DOCBRANCH="doc/head@rHEAD" -PORTBRANCH="ports/head@rHEAD" -NODOC=yes - -# Build target configuration -# Since this file is sourced by a script that runs another -# script, these must be exported. -set -a -WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" -KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" -CHROOTDIR="/scratch" EMBEDDEDBUILD=1 -EMBEDDEDPORTS="lang/python textproc/gsed" -XDEV="arm" -XDEV_ARCH="armv6" -XDEV_FLAGS="WITH_GCC=1 WITH_GNUCXX=1 WITHOUT_CLANG_IS_CC=1" +EMBEDDED_TARGET="arm" +EMBEDDED_TARGET_ARCH="armv6" +EMBEDDEDPORTS="sysutils/u-boot-beaglebone" KERNEL="BEAGLEBONE" -CROCHETSRC="https://github.com/freebsd/crochet" -CROCHETBRANCH="trunk@rHEAD" -set +a +WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x88000000" +IMAGE_SIZE="1G" +PART_SCHEME="MBR" +FAT_SIZE="2m" +FAT_TYPE="12" +MD_ARGS="-x 63 -y 255" +NODOC=1 +arm_install_uboot() { + UBOOT_DIR="/usr/local/share/u-boot/u-boot-beaglebone" + FATMOUNT="${DESTDIR%${KERNEL}}/fat" + UFSMOUNT="${DESTDIR%${KERNEL}}/ufs" + chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" "${UFSMOUNT}" + chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT} + chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT} + chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/MLO ${FATMOUNT}/MLO + chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/u-boot.img ${FATMOUNT}/u-boot.img + chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr ${FATMOUNT}/ubldr + chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot + sync + umount_loop ${CHROOTDIR}/${FATMOUNT} + umount_loop ${CHROOTDIR}/${UFSMOUNT} + chroot ${CHROOTDIR} rmdir ${FATMOUNT} + chroot ${CHROOTDIR} rmdir ${UFSMOUNT} + + return 0 +} diff --git a/release/arm/PANDABOARD.conf b/release/arm/PANDABOARD.conf index 7cc10ec..30d0225 100644 --- a/release/arm/PANDABOARD.conf +++ b/release/arm/PANDABOARD.conf @@ -2,29 +2,36 @@ # $FreeBSD$ # -# Build chroot configuration -TARGET="amd64" -TARGET_ARCH="amd64" -SVNROOT="svn://svn.FreeBSD.org/" SRCBRANCH="base/stable/10@rHEAD" -DOCBRANCH="doc/head@rHEAD" -PORTBRANCH="ports/head@rHEAD" -NODOC=yes - -# Build target configuration -# Since this file is sourced by a script that runs another -# script, these must be exported. -set -a -WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" -KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" -CHROOTDIR="/scratch" EMBEDDEDBUILD=1 -EMBEDDEDPORTS="lang/python textproc/gsed" -XDEV="arm" -XDEV_ARCH="armv6" -XDEV_FLAGS="WITH_GCC=1 WITH_GNUCXX=1 WITHOUT_CLANG_IS_CC=1" +EMBEDDED_TARGET="arm" +EMBEDDED_TARGET_ARCH="armv6" +EMBEDDEDPORTS="sysutils/u-boot-pandaboard" KERNEL="PANDABOARD" -CROCHETSRC="https://github.com/freebsd/crochet" -CROCHETBRANCH="trunk@rHEAD" -set +a +NODOC=1 +WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x88000000" +IMAGE_SIZE="1G" +PART_SCHEME="MBR" +FAT_SIZE="2m" +FAT_TYPE="12" +MD_ARGS="-x 63 -y 255" +arm_install_uboot() { + UBOOT_DIR="/usr/local/share/u-boot/u-boot-pandaboard" + FATMOUNT="${DESTDIR%${KERNEL}}/fat" + UFSMOUNT="${DESTDIR%${KERNEL}}/ufs" + chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" "${UFSMOUNT}" + chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT} + chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT} + chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/MLO ${FATMOUNT}/MLO + chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/u-boot.img ${FATMOUNT}/u-boot.img + chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr ${FATMOUNT}/ubldr + chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot + sync + umount_loop ${CHROOTDIR}/${FATMOUNT} + umount_loop ${CHROOTDIR}/${UFSMOUNT} + chroot ${CHROOTDIR} rmdir ${FATMOUNT} + chroot ${CHROOTDIR} rmdir ${UFSMOUNT} + + return 0 +} diff --git a/release/arm/RPI-B.conf b/release/arm/RPI-B.conf index 27d21f7..6fa2d33 100644 --- a/release/arm/RPI-B.conf +++ b/release/arm/RPI-B.conf @@ -2,31 +2,42 @@ # $FreeBSD$ # -# Build chroot configuration -TARGET="amd64" -TARGET_ARCH="amd64" -SVNROOT="svn://svn.FreeBSD.org/" SRCBRANCH="base/stable/10@rHEAD" -DOCBRANCH="doc/head@rHEAD" -PORTBRANCH="ports/head@rHEAD" -NODOC=yes - -# Build target configuration -# Since this file is sourced by a script that runs another -# script, these must be exported. -set -a -WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" -KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" -CHROOTDIR="/scratch" EMBEDDEDBUILD=1 -EMBEDDEDPORTS="lang/python textproc/gsed" -XDEV="arm" -XDEV_ARCH="armv6" -XDEV_FLAGS="WITH_GCC=1 WITH_GNUCXX=1 WITHOUT_CLANG_IS_CC=1" +EMBEDDED_TARGET="arm" +EMBEDDED_TARGET_ARCH="armv6" +EMBEDDEDPORTS="sysutils/u-boot-rpi" KERNEL="RPI-B" -CROCHETSRC="https://github.com/freebsd/crochet" -CROCHETBRANCH="trunk@rHEAD" -UBOOTSRC="https://github.com/gonzoua/u-boot-pi" -UBOOTBRANCH="trunk" -UBOOTDIR="/tmp/crochet/u-boot-rpi" -set +a +WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x2000000" +IMAGE_SIZE="1G" +PART_SCHEME="MBR" +FAT_SIZE="17m" +FAT_TYPE="16" +MD_ARGS="-x 63 -y 255" +NODOC=1 + +arm_install_uboot() { + UBOOT_DIR="/usr/local/share/u-boot/u-boot-rpi" + UBOOT_FILES="bootcode.bin config.txt fixup.dat fixup_cd.dat \ + start.elf start_cd.elf u-boot.img" + FATMOUNT="${DESTDIR%${KERNEL}}/fat" + UFSMOUNT="${DESTDIR%${KERNEL}}/ufs" + chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" "${UFSMOUNT}" + chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT} + chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT} + for _UF in ${UBOOT_FILES}; do + chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/${_UF} \ + ${FATMOUNT}/${_UF} + done + chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr ${FATMOUNT}/ubldr + chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/dtb/rpi.dtb \ + ${FATMOUNT}/rpi.dtb + chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot + sync + umount_loop ${CHROOTDIR}/${FATMOUNT} + umount_loop ${CHROOTDIR}/${UFSMOUNT} + chroot ${CHROOTDIR} rmdir ${FATMOUNT} + chroot ${CHROOTDIR} rmdir ${UFSMOUNT} + + return 0 +} diff --git a/release/arm/RPI2.conf b/release/arm/RPI2.conf new file mode 100644 index 0000000..8d23f56 --- /dev/null +++ b/release/arm/RPI2.conf @@ -0,0 +1,44 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +SRCBRANCH="base/stable/10@rHEAD" +EMBEDDEDBUILD=1 +EMBEDDED_TARGET="arm" +EMBEDDED_TARGET_ARCH="armv6" +EMBEDDEDPORTS="sysutils/u-boot-rpi2" +KERNEL="RPI2" +NODOC=1 +WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x2000000" +IMAGE_SIZE="1G" +PART_SCHEME="MBR" +FAT_SIZE="50m" +FAT_TYPE="16" +MD_ARGS="-x 63 -y 255" + +arm_install_uboot() { + UBOOT_DIR="/usr/local/share/u-boot/u-boot-rpi2" + UBOOT_FILES="bootcode.bin config.txt fixup.dat fixup_cd.dat \ + fixup_x.dat start.elf start_cd.elf start_x.elf u-boot.bin" + FATMOUNT="${DESTDIR%${KERNEL}}/fat" + UFSMOUNT="${DESTDIR%${KERNEL}}/ufs" + chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" "${UFSMOUNT}" + chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT} + chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT} + for _UF in ${UBOOT_FILES}; do + chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/${_UF} \ + ${FATMOUNT}/${_UF} + done + chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr ${FATMOUNT}/ubldr + chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/dtb/rpi2.dtb \ + ${FATMOUNT}/rpi2.dtb + chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot + sync + umount_loop ${CHROOTDIR}/${FATMOUNT} + umount_loop ${CHROOTDIR}/${UFSMOUNT} + chroot ${CHROOTDIR} rmdir ${FATMOUNT} + chroot ${CHROOTDIR} rmdir ${UFSMOUNT} + + return 0 +} diff --git a/release/arm/WANDBOARD-QUAD.conf b/release/arm/WANDBOARD-QUAD.conf deleted file mode 100644 index d4e9e80..0000000 --- a/release/arm/WANDBOARD-QUAD.conf +++ /dev/null @@ -1,30 +0,0 @@ -# -# $FreeBSD$ -# - -# Build chroot configuration -TARGET="amd64" -TARGET_ARCH="amd64" -SVNROOT="svn://svn.FreeBSD.org/" -SRCBRANCH="base/stable/10@rHEAD" -DOCBRANCH="doc/head@rHEAD" -PORTBRANCH="ports/head@rHEAD" -NODOC=yes - -# Build target configuration -# Since this file is sourced by a script that runs another -# script, these must be exported. -set -a -WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" -KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" -CHROOTDIR="/scratch" -EMBEDDEDBUILD=1 -EMBEDDEDPORTS="lang/python textproc/gsed" -XDEV="arm" -XDEV_ARCH="armv6" -XDEV_FLAGS="WITH_GCC=1 WITH_GNUCXX=1 WITHOUT_CLANG_IS_CC=1" -KERNEL="WANDBOARD-QUAD" -CROCHETSRC="https://github.com/freebsd/crochet" -CROCHETBRANCH="trunk@rHEAD" -set +a - diff --git a/release/arm/WANDBOARD.conf b/release/arm/WANDBOARD.conf new file mode 100644 index 0000000..51f8a28 --- /dev/null +++ b/release/arm/WANDBOARD.conf @@ -0,0 +1,42 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +SRCBRANCH="base/stable/10@rHEAD" +EMBEDDEDBUILD=1 +EMBEDDED_TARGET="arm" +EMBEDDED_TARGET_ARCH="armv6" +EMBEDDEDPORTS="sysutils/u-boot-wandboard" +KERNEL="IMX6" +WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x11000000" +IMAGE_SIZE="1G" +PART_SCHEME="MBR" +FAT_SIZE="50m -b 16384" +FAT_TYPE="16" +MD_ARGS="-x 63 -y 255" +NODOC=1 + +arm_install_uboot() { + UBOOT_DIR="/usr/local/share/u-boot/u-boot-wandboard" + UBOOT_FILES="u-boot.imx" + FATMOUNT="${DESTDIR%${KERNEL}}/fat" + UFSMOUNT="${DESTDIR%${KERNEL}}/ufs" + chroot ${CHROOTDIR} dd if=${UBOOT_DIR}/${UBOOT_FILES} \ + of=/dev/${mddev} bs=512 seek=2 + chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" "${UFSMOUNT}" + chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT} + chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT} + chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr ${FATMOUNT}/ubldr + chroot ${CHROOTDIR} /bin/sh -c 'echo \ + setenv fdt_file wandboard-quad.dtb\; fatload mmc 0:1 11000000 ubldr\; bootelf 11000000\; \ + > ${FATMOUNT}/boot.txt' + chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot + sync + umount_loop ${CHROOTDIR}/${FATMOUNT} + umount_loop ${CHROOTDIR}/${UFSMOUNT} + chroot ${CHROOTDIR} rmdir ${FATMOUNT} + chroot ${CHROOTDIR} rmdir ${UFSMOUNT} + + return 0 +} diff --git a/release/arm/ZEDBOARD.conf b/release/arm/ZEDBOARD.conf deleted file mode 100644 index a935e36..0000000 --- a/release/arm/ZEDBOARD.conf +++ /dev/null @@ -1,29 +0,0 @@ -# -# $FreeBSD$ -# - -# Build chroot configuration -TARGET="amd64" -TARGET_ARCH="amd64" -SVNROOT="svn://svn.FreeBSD.org/" -SRCBRANCH="base/stable/10@rHEAD" -DOCBRANCH="doc/head@rHEAD" -PORTBRANCH="ports/head@rHEAD" -NODOC=yes - -# Build target configuration -# Since this file is sourced by a script that runs another -# script, these must be exported. -set -a -WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" -KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" -CHROOTDIR="/scratch" -EMBEDDEDBUILD=1 -XDEV="arm" -XDEV_ARCH="armv6" -XDEV_FLAGS="WITH_GCC=1 WITH_GNUCXX=1 WITHOUT_CLANG_IS_CC=1" -KERNEL="ZEDBOARD" -CROCHETSRC="https://github.com/freebsd/crochet" -CROCHETBRANCH="trunk@rHEAD" -set +a - diff --git a/release/arm/release.sh b/release/arm/release.sh deleted file mode 100755 index c3df3d2..0000000 --- a/release/arm/release.sh +++ /dev/null @@ -1,139 +0,0 @@ -#!/bin/sh -#- -# Copyright (c) 2013, 2014 The FreeBSD Foundation -# All rights reserved. -# -# This software was developed by Glen Barber -# under sponsorship from the FreeBSD Foundation. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $FreeBSD$ -# - -# This script is intended to be called by release/release.sh to build ARM -# images for release. It is not intended to be run directly. This sets up -# the software needed within a build chroot, then runs crochet to provide -# downloadable images for embedded devices. - -set -e - -before_build() { - WANT_UBOOT= - KNOWNHASH= - UBOOT_VERSION= - case ${KERNEL} in - BEAGLEBONE) - WANT_UBOOT=1 - KNOWNHASH="7b6444bd23eb61068c43bd1d44ec7e7bfdbce5cadeca20c833eee186b4d3fd31" - UBOOT_VERSION="u-boot-2014.04" - ;; - PANDABOARD) - WANT_UBOOT=1 - KNOWNHASH="e08e20a6979bfca6eebb9a2b0e42aa4416af3d796332fd63a3470495a089d496" - UBOOT_VERSION="u-boot-2012.07" - ;; - WANDBOARD-QUAD) - WANT_UBOOT=1 - KNOWNHASH="b4f83b8db325c21671a997198ec3a373e2e00dde2fcf17be9b9afd7cfd727f56" - UBOOT_VERSION="u-boot-2014.07" - ;; - *) - # Fallthrough. - ;; - esac - if [ ! -z ${WANT_UBOOT} ]; then - chroot ${CHROOTDIR} fetch -o /tmp/crochet/${UBOOT_VERSION}.tar.bz2 \ - http://people.freebsd.org/~gjb/${UBOOT_VERSION}.tar.bz2 - UBOOT_HASH="$(sha256 -q ${CHROOTDIR}/tmp/crochet/${UBOOT_VERSION}.tar.bz2)" - if [ "${UBOOT_HASH}" != "${KNOWNHASH}" ]; then - echo "Checksum mismatch! Exiting now." - exit 1 - fi - chroot ${CHROOTDIR} tar xf /tmp/crochet/${UBOOT_VERSION}.tar.bz2 \ - -C /tmp/crochet/ - fi -} - -install_crochet() { - chroot ${CHROOTDIR} svn co -q ${CROCHETSRC}/${CROCHETBRANCH} \ - /tmp/crochet -} - -install_uboot() { - # Only fetch u-boot sources if UBOOTSRC is set; otherwise it is - # not needed. - if [ -n "${UBOOTSRC}" ]; then - continue - else - return 0 - fi - chroot ${CHROOTDIR} svn co -q ${UBOOTSRC}/${UBOOTBRANCH} \ - /${UBOOTDIR} -} - -main() { - # Fix broken ports that use kern.osreldate. - OSVERSION=$(chroot ${CHROOTDIR} /usr/bin/uname -U) - export OSVERSION - REVISION=$(chroot ${CHROOTDIR} make -C /usr/src/release -V REVISION) - BRANCH=$(chroot ${CHROOTDIR} make -C /usr/src/release -V BRANCH) - UNAME_r=${REVISION}-${BRANCH} - export UNAME_r - - # Build the 'xdev' target for crochet. - eval chroot ${CHROOTDIR} make -C /usr/src \ - ${XDEV_FLAGS} XDEV=${XDEV} XDEV_ARCH=${XDEV_ARCH} \ - ${WORLD_FLAGS} xdev - - # Run the ldconfig(8) startup script so /var/run/ld-elf*.so.hints - # is created. - eval chroot ${CHROOTDIR} /etc/rc.d/ldconfig forcerestart - # Install security/ca_root_nss since we need to check the https - # certificate of github. - eval chroot ${CHROOTDIR} make -C /usr/ports/security/ca_root_nss \ - OPTIONS_SET="ETCSYMLINK" BATCH=1 FORCE_PKG_REGISTER=1 \ - install clean distclean - EMBEDDEDPORTS="${EMBEDDEDPORTS} devel/subversion" - for _PORT in ${EMBEDDEDPORTS}; do - eval chroot ${CHROOTDIR} make -C /usr/ports/${_PORT} \ - BATCH=1 FORCE_PKG_REGISTER=1 install clean distclean - done - - eval chroot ${CHROOTDIR} make -C /usr/src/gnu/usr.bin/cc \ - WITH_GCC=1 ${WORLD_FLAGS} -j1 obj depend all install - - mkdir -p ${CHROOTDIR}/tmp/crochet/work - before_build - install_crochet - install_uboot - eval chroot ${CHROOTDIR} /bin/sh /tmp/crochet/crochet.sh \ - -c /tmp/external/${XDEV}/crochet-${KERNEL}.conf - mkdir -p ${CHROOTDIR}/R/ - cp -p ${CHROOTDIR}/usr/obj/*.img ${CHROOTDIR}/R/ - bzip2 ${CHROOTDIR}/R/FreeBSD*.img - cd ${CHROOTDIR}/R/ && sha256 FreeBSD*.img.bz2 > CHECKSUM.SHA256 - cd ${CHROOTDIR}/R/ && md5 FreeBSD*.img.bz2 > CHECKSUM.MD5 -} - -main "$@" -exit 0 |