--- elwix/Attic/install2ub.sh 2013/05/14 08:22:23 1.1 +++ elwix/Attic/install2ub.sh 2013/05/15 16:30:59 1.1.2.3 @@ -0,0 +1,101 @@ +#!/bin/sh +# +# ELWIX install script for u-boot image +# +# (C) AITNET ltd - Sofia/Bulgaria +# by Michael Pounov +# +# $Id: install2ub.sh,v 1.1.2.3 2013/05/15 16:30:59 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 linux -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."