1*4882a593Smuzhiyun#!/usr/bin/env bash 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun# 4*4882a593Smuzhiyun# dtb_list extracts the list of DTB files from BR2_LINUX_KERNEL_INTREE_DTS_NAME 5*4882a593Smuzhiyun# in ${BR_CONFIG}, then prints the corresponding list of file names for the 6*4882a593Smuzhiyun# genimage configuration file 7*4882a593Smuzhiyun# 8*4882a593Smuzhiyundtb_list() 9*4882a593Smuzhiyun{ 10*4882a593Smuzhiyun local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})" 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun for dt in $DTB_LIST; do 13*4882a593Smuzhiyun echo -n "\"$dt.dtb\", " 14*4882a593Smuzhiyun done 15*4882a593Smuzhiyun} 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun# 18*4882a593Smuzhiyun# linux_image extracts the Linux image format from BR2_LINUX_KERNEL_UIMAGE in 19*4882a593Smuzhiyun# ${BR_CONFIG}, then prints the corresponding file name for the genimage 20*4882a593Smuzhiyun# configuration file 21*4882a593Smuzhiyun# 22*4882a593Smuzhiyunlinux_image() 23*4882a593Smuzhiyun{ 24*4882a593Smuzhiyun if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then 25*4882a593Smuzhiyun echo "\"uImage\"" 26*4882a593Smuzhiyun else 27*4882a593Smuzhiyun echo "\"zImage\"" 28*4882a593Smuzhiyun fi 29*4882a593Smuzhiyun} 30*4882a593Smuzhiyun 31*4882a593Smuzhiyunmain() 32*4882a593Smuzhiyun{ 33*4882a593Smuzhiyun local FILES="$(dtb_list) $(linux_image)" 34*4882a593Smuzhiyun local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)" 35*4882a593Smuzhiyun local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun sed -e "s/%FILES%/${FILES}/" \ 38*4882a593Smuzhiyun board/freescale/common/mxs/genimage.cfg.template > ${GENIMAGE_CFG} 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun rm -rf "${GENIMAGE_TMP}" 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun genimage \ 43*4882a593Smuzhiyun --rootpath "${TARGET_DIR}" \ 44*4882a593Smuzhiyun --tmppath "${GENIMAGE_TMP}" \ 45*4882a593Smuzhiyun --inputpath "${BINARIES_DIR}" \ 46*4882a593Smuzhiyun --outputpath "${BINARIES_DIR}" \ 47*4882a593Smuzhiyun --config "${GENIMAGE_CFG}" 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun rm -f ${GENIMAGE_CFG} 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun exit $? 52*4882a593Smuzhiyun} 53*4882a593Smuzhiyun 54*4882a593Smuzhiyunmain $@ 55