#!/bin/sh
#
# ELWIX install script for u-boot image
#
# (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
# by Michael Pounov <misho@elwix.org>
#
# $Id: install2ub.sh,v 1.1.2.4 2013/05/17 23:33:41 misho Exp $
#
[ -r ./config/rc.elwix ] && . ./config/rc.elwix
if [ X"${ELWIX_IS_CONFIGURED}" != X"YES" ]; then
echo
echo "ELWIX project is not configured !?!"
echo
exit 1
fi
if [ "${USER}" != "root" ]; then
echo
echo "ELWIX project is not configured - install must build under root !?!"
echo
exit 1
fi
UB_K=""
cleanUB()
{
echo "+++ Clean ELWIX U-boot images ..."
rm -rf ${UB_OBJS}
install -d ${UB_OBJS}
}
prepareUB()
{
echo "+++ Prepare ELWIX U-boot kernel ..."
cp ${KERNEL} ${UB_OBJS}
STARTADDR=$(${DEST}/cross_exec.sh nm ${UB_KERNEL} | grep ' _start$' | cut -f1 -d ' ')
${DEST}/cross_exec.sh objcopy -O binary ${UB_KERNEL} ${UB_KERNEL}.bin
UB_LOADADDR=${UB_LOADADDR:=$STARTADDR}
UB_ENTRYADDR=${UB_ENTRYADDR:=$UB_LOADADDR}
}
compUB()
{
echo "+++ Compress ELWIX U-boot kernel ..."
case ${UB_COMPRESS} in
gzip)
gzip --force --best ${UB_KERNEL}.bin
UB_K="${UB_KERNEL}.bin.gz"
;;
lzma)
oldlzma e ${UB_KERNEL}.bin ${UB_KERNEL}.bin.lzma
UB_K="${UB_KERNEL}.bin.lzma"
;;
none)
UB_K="${UB_KERNEL}.bin"
;;
*)
echo "Error:: not supported compress method ..."
exit 1
;;
esac
}
mkimgUB()
{
echo "+++ Make ELWIX U-boot kernel image ..."
uboot_mkimage -A ${TARGET} -O netbsd -T kernel -C ${UB_COMPRESS} \
-a ${UB_LOADADDR} -e ${UB_ENTRYADDR} -n "ELWIX version ${VERSION} kernel" \
-d ${UB_K} ${UB_K}.ub
}
instUB()
{
echo "+++ Install ELWIX U-boot kernel image into release directory ..."
install ${UB_K}.ub ${REL}
}
### main()
if [ ! -x ${DEST}/cross_exec.sh ]; then
echo
echo "Error:: ELWIX cross-toolchain not ready ... First execute ./build_world.sh"
echo
exit 1
fi
cleanUB
prepareUB
compUB
mkimgUB
instUB
echo "ELWIX U-boot images install complete."
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>