[oe] [meta-xilinx 1/2] xilinx-boot: Refactor recipe to add support for Xilinx ISE 14.1.
Elvis Dowson
elvis.dowson at gmail.com
Sun Jun 24 16:54:17 UTC 2012
Hi Khem,
On Jun 24, 2012, at 8:32 PM, Khem Raj wrote:
>> Ensure that you reconfigure your shell to use bash instead of dash while
>> building with Ubuntu 12.04 LTS.
>
> why is this needed? may be you can fix the scripts to not have bashism
I tired to use a . (dot) instead of the source keyword, but ran into some errors, perhaps because of the xilinx settings64.sh script. I posted the errors in an earlier email, I'll reproduce that mail below, along with the xilinx settings64.sh script
Error message
For the following code snippet:
if [ "${XILINX_VER}" \> "14" ]; then
bbnote "XILINX_VER ${XILINX_VER}, script location ${XILINX_LOC}/${EDK_SCRIPT}"
source ${XILINX_LOC}/${EDK_SCRIPT} ${XILINX_LOC}
fi
I get the following error:
DEBUG: Executing python function sstate_task_prefunc
DEBUG: Python function sstate_task_prefunc finished
DEBUG: Executing shell function do_deploy
ERROR: Function failed: do_deploy (see /tool/yocto/poky/build/tmp/work/ppc440-poky-linux/u-boot-xilinx-v2012.04.01-r16/temp/log.do_deploy.15616 for further information)
NOTE: Deploying uboot elf image to /project/xilinx-ml507
NOTE: Xilinx design tools installed in /tool/xilinx/14.1/ISE_DS
NOTE: Generate system ace image
NOTE: EDK_SCRIPT settings64.sh
NOTE: XILINX_VER 14.1, script location /tool/xilinx/14.1/ISE_DS/settings64.sh
/tool/yocto/poky/build/tmp/work/ppc440-poky-linux/u-boot-xilinx-v2012.04.01-r16/temp/run.do_deploy.15616: 129: /tool/yocto/poky/build/tmp/work/ppc440-poky-linux/u-boot-xilinx-v2012.04.01-r16/temp/run.do_deploy.15616: source: not found
if I replace the source keyword with a . (dot)
if [ "${XILINX_VER}" \> "14" ]; then
bbnote "XILINX_VER ${XILINX_VER}, script location ${XILINX_LOC}/${EDK_SCRIPT}"
. ${XILINX_LOC}/${EDK_SCRIPT} ${XILINX_LOC}
fi
it executes the scripts but gives the following error:
NOTE: XILINX_VER 14.1, script location /tool/xilinx/14.1/ISE_DS/settings64.sh
/tool/yocto/poky/build/tmp/work/ppc440-poky-linux/u-boot-xilinx-v2012.04.01-r16/temp/run.do_deploy.7879: 12: [: /tool/yocto/poky/build/tmp/work/ppc440-poky-linux/u-boot-xilinx-v2012.04.01-r16/temp/run.do_deploy.7879: unexpected operator
. /tool/xilinx/14.1/ISE_DS/common/.settings64.sh /tool/xilinx/14.1/ISE_DS/common
. /tool/xilinx/14.1/ISE_DS/EDK/.settings64.sh /tool/xilinx/14.1/ISE_DS/EDK
. /tool/xilinx/14.1/ISE_DS/common/CodeSourcery/.settings64.sh /tool/xilinx/14.1/ISE_DS/common/CodeSourcery
. /tool/xilinx/14.1/ISE_DS/PlanAhead/.settings64.sh /tool/xilinx/14.1/ISE_DS/PlanAhead
. /tool/xilinx/14.1/ISE_DS/../../Vivado/2012.1/.settings64.sh /tool/xilinx/14.1/ISE_DS/../../Vivado/2012.1
. /tool/xilinx/14.1/ISE_DS/ISE/.settings64.sh /tool/xilinx/14.1/ISE_DS/ISE
. /tool/xilinx/14.1/ISE_DS/SysGen/.settings64.sh /tool/xilinx/14.1/ISE_DS/SysGen
Xilinx settings64.sh script
# Copyright (c) 1995-2012 Xilinx, Inc. All rights reserved.
XIL_ARG_=$_
SETTINGS_FILE=.settings64.sh
XIL_SCRIPT_LOC="/tool/xilinx/14.1/ISE_DS"
if [ $# != 0 ]; then
# The first argument is the location of Xilinx Installation.
# Don't detect the installation location.
XIL_SCRIPT_LOC="$1"
else
# XIL_SCRIPT_LOC should point to script location
if [ "$0" == "ksh" ]; then
XIL_SCRIPT_LOC_TMP_UNI=`readlink -f ${XIL_ARG_}`
else
XIL_SCRIPT_LOC_TMP_UNI=$BASH_SOURCE
fi
XIL_SCRIPT_LOC_TMP_UNI=${XIL_SCRIPT_LOC_TMP_UNI%/*}
if [ "$XIL_SCRIPT_LOC_TMP_UNI" != "" ]; then
if [ "$XIL_SCRIPT_LOC_TMP_UNI" == "settings64.sh" ]; then
XIL_SCRIPT_LOC_TMP_UNI="./"
fi
XIL_SCRIPT_LOC_TMP_UNI=`readlink -f ${XIL_SCRIPT_LOC_TMP_UNI}`
if [ $? == 0 ]; then
XIL_SCRIPT_LOC=${XIL_SCRIPT_LOC_TMP_UNI}
fi
fi
unset XIL_SCRIPT_LOC_TMP_UNI
fi
xlnxInstLocList=""
xlnxInstLocList="${xlnxInstLocList} common"
xlnxInstLocList="${xlnxInstLocList} EDK"
xlnxInstLocList="${xlnxInstLocList} common/CodeSourcery"
xlnxInstLocList="${xlnxInstLocList} PlanAhead"
xlnxInstLocList="${xlnxInstLocList} ../../Vivado/2012.1"
xlnxInstLocList="${xlnxInstLocList} ISE"
xlnxInstLocList="${xlnxInstLocList} SysGen"
XIL_SCRIPT_LOC_TMP_UNI=${XIL_SCRIPT_LOC}
for i in $xlnxInstLocList
do
d="${XIL_SCRIPT_LOC_TMP_UNI}/$i"
sfn="$d/$SETTINGS_FILE"
if [ -e "$sfn" ]; then
echo . "$sfn" "$d"
. "$sfn" "$d"
fi
done
Best regards,
Elvis Dowson
More information about the Openembedded-devel
mailing list