File:  [ELWIX - Embedded LightWeight unIX -] / elwix / Attic / install2ub.sh
Revision 1.1.2.4: download - view: text, annotated - select for diffs - revision graph
Fri May 17 23:33:41 2013 UTC (11 years, 1 month ago) by misho
Branches: elwix1_9_mips
changed kernel name

#!/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>