summaryrefslogtreecommitdiffstats
path: root/release/arm
diff options
context:
space:
mode:
authorgjb <gjb@FreeBSD.org>2015-05-20 19:32:57 +0000
committergjb <gjb@FreeBSD.org>2015-05-20 19:32:57 +0000
commitb1fc2fbae970fc4d2aad4e8411330f54d3073b9c (patch)
tree17495815755e8059896f1921cee44a6c2a725d43 /release/arm
parentb4fe1f9ecc338294f0cec71ef718d81c53766c33 (diff)
downloadFreeBSD-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.conf51
-rw-r--r--release/arm/PANDABOARD.conf51
-rw-r--r--release/arm/RPI-B.conf61
-rw-r--r--release/arm/RPI2.conf44
-rw-r--r--release/arm/WANDBOARD-QUAD.conf30
-rw-r--r--release/arm/WANDBOARD.conf42
-rw-r--r--release/arm/ZEDBOARD.conf29
-rwxr-xr-xrelease/arm/release.sh139
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
OpenPOWER on IntegriCloud