#!/bin/sh set -e export SRCROOT=/src/FreeBSD/clean/head export MAKEOBJDIRPREFIX=/src/FreeBSD/obj/clean export KERNCONF=VERSATILEPB export FLASH=freebsd-versatilepb.flash export MAKESYSPATH=$SRCROOT/share/mk export TARGET=arm export TARGET_ARCH=armv6 KERNELBIN=`realpath $MAKEOBJDIRPREFIX`/arm.armv6/`realpath $SRCROOT`/sys/$KERNCONF/kernel.bin mkdir -p $MAKEOBJDIRPREFIX make -j4 -C $SRCROOT kernel-toolchain make -j4 -C $SRCROOT buildkernel rm -f $FLASH # set r0..r3 to zero /usr/bin/printf "\0\0\240\343" > /tmp/first_commands /usr/bin/printf "\0\020\240\343" >> /tmp/first_commands /usr/bin/printf "\0\040\240\343" >> /tmp/first_commands /usr/bin/printf "\0\060\240\343" >> /tmp/first_commands # jump to kernel entry point /usr/bin/printf "\001\366\240\343" >> /tmp/first_commands dd of=$FLASH bs=1M count=4 if=/dev/zero dd of=$FLASH bs=1 conv=notrunc if=/tmp/first_commands dd of=$FLASH bs=64k oseek=15 conv=notrunc if=$KERNELBIN rm -f /tmp/first_commands