Index: user/gjb/hacking/release-embedded/release/arm/PANDABOARD.conf =================================================================== --- user/gjb/hacking/release-embedded/release/arm/PANDABOARD.conf (nonexistent) +++ user/gjb/hacking/release-embedded/release/arm/PANDABOARD.conf (revision 261221) @@ -0,0 +1,35 @@ +# +# $FreeBSD$ +# + +# This is only supported on amd64 right now. It may work on +# i386, but I do not have the hardware to test, so until I get +# a VM set up to make sure, be cautious and assume it will not. +if [ "$(uname -p)" != "amd64" ] || [ "$(uname -m)" != "amd64" ]; then + echo "This is only supported on amd64 right now." + exit 0 +fi + +# Build chroot configuration +TARGET="amd64" +TARGET_ARCH="amd64" +SVNROOT="svn://svn.FreeBSD.org" +SRCBRANCH="base/head@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 +CHROOTDIR="/scratch" +EMBEDDEDBUILD=1 +EMBEDDEDPORTS="lang/python textproc/gsed" +XDEV="arm" +XDEV_ARCH="armv6" +KERNEL="PANDABOARD" +CROCHETSRC="https://github.com/kientzle/crochet-freebsd" +CROCHETBRANCH="trunk" +set +a + Property changes on: user/gjb/hacking/release-embedded/release/arm/PANDABOARD.conf ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: user/gjb/hacking/release-embedded/release/arm/release.sh =================================================================== --- user/gjb/hacking/release-embedded/release/arm/release.sh (revision 261220) +++ user/gjb/hacking/release-embedded/release/arm/release.sh (revision 261221) @@ -1,85 +1,97 @@ #!/bin/sh # # $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() { case ${KERNEL} in BEAGLEBONE) KNOWNHASH="4150e5a4480707c55a8d5b4570262e43af68d8ed3bdc0a433d8e7df47989a69e" chroot ${CHROOTDIR} fetch -o /tmp/crochet/u-boot-2013.04.tar.bz2 \ http://people.freebsd.org/~gjb/u-boot-2013.04.tar.bz2 UBOOT_HASH="$(sha256 -q ${CHROOTDIR}/tmp/crochet/u-boot-2013.04.tar.bz2)" if [ "${UBOOT_HASH}" != "${KNOWNHASH}" ]; then echo "Checksum mismatch! Exiting now." exit 1 fi chroot ${CHROOTDIR} tar xf /tmp/crochet/u-boot-2013.04.tar.bz2 \ -C /tmp/crochet/ ;; + PANDABOARD) + KNOWNHASH="e08e20a6979bfca6eebb9a2b0e42aa4416af3d796332fd63a3470495a089d496" + chroot ${CHROOTDIR} fetch -o /tmp/crochet/u-boot-2012.07.tar.bz2 \ + http://people.freebsd.org/~gjb/u-boot-2012.07.tar.bz2 + UBOOT_HASH="$(sha256 -q ${CHROOTDIR}/tmp/crochet/u-boot-2012.07.tar.bz2)" + if [ "${UBOOT_HASH}" != "${KNOWNHASH}" ]; then + echo "Checksum mismatch! Exiting now." + exit 1 + fi + chroot ${CHROOTDIR} tar xf /tmp/crochet/u-boot-2012.07.tar.bz2 \ + -C /tmp/crochet/ + ;; *) # Fallthrough. ;; esac } 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 [ "X${UBOOTSRC}" != "X" ]; then continue else return 0 fi chroot ${CHROOTDIR} svn co -q ${UBOOTSRC}/${UBOOTBRANCH} \ /${UBOOTDIR} } main() { # Build gcc for use in the chroot for arm builds. eval chroot ${CHROOTDIR} make -C /usr/src/gnu/usr.bin/cc \ WITH_GCC=1 obj depend all install # Build the 'xdev' target for crochet. eval chroot ${CHROOTDIR} make -C /usr/src \ XDEV=${XDEV} XDEV_ARCH=${XDEV_ARCH} WITH_GCC=1 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 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/ cd ${CHROOTDIR}/R/ && sha256 FreeBSD*.img > CHECKSUM.SHA256 cd ${CHROOTDIR}/R/ && md5 FreeBSD*.img > CHECKSUM.MD5 } main "$@" exit 0 Index: user/gjb/hacking/release-embedded/release/tools/arm/crochet-PANDABOARD.conf =================================================================== --- user/gjb/hacking/release-embedded/release/tools/arm/crochet-PANDABOARD.conf (nonexistent) +++ user/gjb/hacking/release-embedded/release/tools/arm/crochet-PANDABOARD.conf (revision 261221) @@ -0,0 +1,29 @@ +# +# $FreeBSD$ +# + +# This is the configuration file for use with crochet to produce +# FreeBSD PandaBoard images. + +board_setup PandaBoard +option ImageSize 1gb +option AutoSize + +export MAKEOBJDIRPREFIX=/usr/obj +FREEBSD_SRC=/usr/src +__MAKE_CONF=/dev/null +SRCCONF=/dev/null +WORKDIR=/usr/obj +_BRANCH=$(make -C ${FREEBSD_SRC}/release -V BRANCH) +_REVISION=$(make -C ${FREEBSD_SRC}/release -V REVISION) +KERNCONF=PANDABOARD +TARGET=arm +TARGET_ARCH=armv6 +FREEBSD_BUILDWORLD_EXTRA_ARGS="" +FREEBSD_INSTALLWORLD_EXTRA_ARGS="" +FREEBSD_BUILDKERNEL_EXTRA_ARGS="" +FREEBSD_INSTALLKERNEL_EXTRA_ARGS="" +FREEBSD_WORLD_EXTRA_ARGS="" +FREEBSD_KERNEL_EXTRA_ARGS="" +FREEBSD_EXTRA_ARGS="" +IMG=${WORKDIR}/FreeBSD-${_REVISION}-${_BRANCH}-${KERNCONF}.img Property changes on: user/gjb/hacking/release-embedded/release/tools/arm/crochet-PANDABOARD.conf ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property