diff options
author | Jonas Gorski <jogo@openwrt.org> | 2015-09-04 14:44:27 +0000 |
---|---|---|
committer | Jonas Gorski <jogo@openwrt.org> | 2015-09-04 14:44:27 +0000 |
commit | 0efd69205008f411b0d01143f4cbabedbf3a26a3 (patch) | |
tree | cabeab70c6042898cb966b6e415cba4d3d694333 /scripts | |
parent | b4003c5879bae0053c85b05e7c155800cf621bd6 (diff) | |
download | master-187ad058-0efd69205008f411b0d01143f4cbabedbf3a26a3.tar.gz master-187ad058-0efd69205008f411b0d01143f4cbabedbf3a26a3.tar.bz2 master-187ad058-0efd69205008f411b0d01143f4cbabedbf3a26a3.zip |
build: add a build step for generic sysupgrade nand image
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46784 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/sysupgrade-nand.sh | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/scripts/sysupgrade-nand.sh b/scripts/sysupgrade-nand.sh new file mode 100755 index 0000000000..92b326cbe9 --- /dev/null +++ b/scripts/sysupgrade-nand.sh @@ -0,0 +1,68 @@ +#!/bin/sh + +board="" +kernel="" +rootfs="" +outfile="" +err="" + +while [ "$1" ]; do + case "$1" in + "--board") + board="$2" + shift + shift + continue + ;; + "--kernel") + kernel="$2" + shift + shift + continue + ;; + "--rootfs") + rootfs="$2" + shift + shift + continue + ;; + *) + if [ ! "$outfile" ]; then + outfile=$1 + shift + continue + fi + ;; + esac +done + +if [ ! -n "$board" -o ! -r "$kernel" -a ! -r "$rootfs" -o ! "$outfile" ]; then + echo "syntax: $0 [--board boardname] [--kernel kernelimage] [--rootfs rootfs] out" + exit 1 +fi + +tmpdir="$( mktemp -d 2> /dev/null )" +if [ -z "$tmpdir" ]; then + # try OSX signature + tmpdir="$( mktemp -t 'ubitmp' -d )" +fi + +if [ -z "$tmpdir" ]; then + exit 1 +fi + +mkdir -p "${tmpdir}/sysupgrade-${board}" +echo "BOARD=${board}" > "${tmpdir}/sysupgrade-${board}/CONTROL" +[ -z "${rootfs}" ] || cp "${rootfs}" "${tmpdir}/sysupgrade-${board}/root" +[ -z "${kernel}" ] || cp "${kernel}" "${tmpdir}/sysupgrade-${board}/kernel" + +(cd "$tmpdir"; tar cvf sysupgrade.tar sysupgrade-${board}) +err="$?" +if [ -e "$tmpdir/sysupgrade.tar" ]; then + cp "$tmpdir/sysupgrade.tar" "$outfile" +else + err=2 +fi +rm -rf "$tmpdir" + +exit $err |