X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=scripts%2Fmkits.sh;h=bb629d6fca6e130ccfa45bced372fc108ee3cf41;hb=c8b415035cb6414774a83f703ff709371f7089c0;hp=5d836be8e43e6db4cec603a66c67d8556ca36bbe;hpb=1b773a46c2023ef32ddbbc3835e20b6c216b184e;p=openwrt%2Fopenwrt.git diff --git a/scripts/mkits.sh b/scripts/mkits.sh index 5d836be8e4..bb629d6fca 100755 --- a/scripts/mkits.sh +++ b/scripts/mkits.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/sh # # Licensed under the terms of the GNU GPL License version 2 or later. # @@ -15,22 +15,26 @@ # usage() { - echo "Usage: `basename $0` -A arch -C comp -a addr -e entry" \ - "-v version -k kernel [-D name -d dtb] -o its_file" - echo -e "\t-A ==> set architecture to 'arch'" - echo -e "\t-C ==> set compression type 'comp'" - echo -e "\t-c ==> set config name 'config'" - echo -e "\t-a ==> set load address to 'addr' (hex)" - echo -e "\t-e ==> set entry point to 'entry' (hex)" - echo -e "\t-v ==> set kernel version to 'version'" - echo -e "\t-k ==> include kernel image 'kernel'" - echo -e "\t-D ==> human friendly Device Tree Blob 'name'" - echo -e "\t-d ==> include Device Tree Blob 'dtb'" - echo -e "\t-o ==> create output file 'its_file'" + printf "Usage: %s -A arch -C comp -a addr -e entry" "$(basename "$0")" + printf " -v version -k kernel [-D name -n address -d dtb] -o its_file" + + printf "\n\t-A ==> set architecture to 'arch'" + printf "\n\t-C ==> set compression type 'comp'" + printf "\n\t-c ==> set config name 'config'" + printf "\n\t-a ==> set load address to 'addr' (hex)" + printf "\n\t-e ==> set entry point to 'entry' (hex)" + printf "\n\t-v ==> set kernel version to 'version'" + printf "\n\t-k ==> include kernel image 'kernel'" + printf "\n\t-D ==> human friendly Device Tree Blob 'name'" + printf "\n\t-n ==> fdt unit-address 'address'" + printf "\n\t-d ==> include Device Tree Blob 'dtb'" + printf "\n\t-o ==> create output file 'its_file'\n" exit 1 } -while getopts ":A:a:c:C:D:d:e:k:o:v:" OPTION +FDTNUM=1 + +while getopts ":A:a:c:C:D:d:e:k:n:o:v:" OPTION do case $OPTION in A ) ARCH=$OPTARG;; @@ -41,9 +45,10 @@ do d ) DTB=$OPTARG;; e ) ENTRY_ADDR=$OPTARG;; k ) KERNEL=$OPTARG;; + n ) FDTNUM=$OPTARG;; o ) OUTPUT=$OPTARG;; v ) VERSION=$OPTARG;; - * ) echo "Invalid option passed to '$0' (options:$@)" + * ) echo "Invalid option passed to '$0' (options:$*)" usage;; esac done @@ -55,12 +60,12 @@ if [ -z "${ARCH}" ] || [ -z "${COMPRESS}" ] || [ -z "${LOAD_ADDR}" ] || \ usage fi -ARCH_UPPER=`echo $ARCH | tr '[:lower:]' '[:upper:]'` +ARCH_UPPER=$(echo "$ARCH" | tr '[:lower:]' '[:upper:]') # Conditionally create fdt information if [ -n "${DTB}" ]; then - FDT=" - fdt@1 { + FDT_NODE=" + fdt@$FDTNUM { description = \"${ARCH_UPPER} OpenWrt ${DEVICE} device tree blob\"; data = /incbin/(\"${DTB}\"); type = \"flat_dt\"; @@ -74,6 +79,7 @@ if [ -n "${DTB}" ]; then }; }; " + FDT_PROP="fdt = \"fdt@$FDTNUM\";" fi # Create a default, fully populated DTS file @@ -100,9 +106,7 @@ DATA="/dts-v1/; algo = \"sha1\"; }; }; - -${FDT} - +${FDT_NODE} }; configurations { @@ -110,10 +114,10 @@ ${FDT} ${CONFIG} { description = \"OpenWrt\"; kernel = \"kernel@1\"; - fdt = \"fdt@1\"; + ${FDT_PROP} }; }; };" # Write .its file to disk -echo "$DATA" > ${OUTPUT} +echo "$DATA" > "${OUTPUT}"