#!/bin/bash if [ ! -e "${PTXDIST_BOARDSETUP}" ]; then echo "Please run 'ptxdist boardsetup' first!" >&2 exit 1 fi set -a . "${PTXDIST_BOARDSETUP}" set +a UBOOT_ENVDIR="${PTXDIST_PLATFORMCONFIGDIR}/u-boot-env" BAREBOX_ENVDIR="${PTXDIST_PLATFORMCONFIGDIR}/barebox-env" if [ -d ${UBOOT_ENVDIR} -a -r ${UBOOT_ENVDIR} ]; then CONFFILE="${UBOOT_ENVDIR}/config${PTXDIST_PLATFORMSUFFIX}" if [ ! -r "${CONFFILE}.in" ]; then if [ -r "`dirname "${CONFFILE}"`/config.in" ]; then CONFFILE="`dirname "${CONFFILE}"`/config" else echo "Direcotry for U-Boot environment found, but config file is missing!" >&2 exit 1 fi fi awk 'match($0, "@[A-Z0-9_]+@") { var=substr($0,RSTART+1,RLENGTH-2); gsub("@"var"@", ENVIRON[var]); } {print} ' "${CONFFILE}".in >"${CONFFILE}" fi if [ -d "${BAREBOX_ENVDIR}" -a -r "${BAREBOX_ENVDIR}" -a -z "${CONFFILE}" ]; then # Neith u-boot-v2 nor barebox acutally need CONFFILE while calling # kermit setenv function. However U-Boot V1 need this. So we have to # pass this information to the kwrapper. # barebox parses its conffile in make_barebox_env separately. give a # dummy here to make sure that setenv can parse the parameters correctly CONFFILE="NULL"; fi if [ -z "${CONFFILE}" ]; then echo "No environment directory found!" >&2 exit 1 fi PTXDIST_SETENV_ENV_IMAGE="$(mktemp "${PTXCONF_BOARDSETUP_TFTP_PATH}/environment_image.XXXXXX")" chmod 644 "${PTXDIST_SETENV_ENV_IMAGE}" "${PTXDIST_TOPDIR}/tests/kwrapper" setenv "${CONFFILE}" "${PTXDIST_SETENV_ENV_IMAGE}" rm -rf "${PTXDIST_SETENV_ENV_IMAGE}"