onnxruntime/tools/ci_build/github/linux/build_yocto.sh
2021-08-16 20:54:39 -07:00

50 lines
No EOL
1.4 KiB
Bash
Executable file

#!/bin/bash
set -e -o -x
SCRIPT_DIR="$( dirname "${BASH_SOURCE[0]}" )"
TARGET_FOLDER="/datadrive/ARM"
SOURCE_ROOT=$(realpath $SCRIPT_DIR/../../../../)
YOCTO_VERSION="4.19"
while getopts f:y: parameter_Option
do case "${parameter_Option}"
in
f) TARGET_FOLDER=${OPTARG};;
y) YOCTO_VERSION=${OPTARG};;
esac
done
YOCTO_IMAGE="arm-yocto"
IMX_BRANCH="imx-linux-warrior"
IMX_MANIFEST="imx-4.19.35-1.1.0.xml"
if [ $YOCTO_VERSION = "4.14" ]; then
IMX_BRANCH="imx-linux-sumo"
IMX_MANIFEST="imx-4.14.98-2.0.0_machinelearning.xml"
fi
cd $SCRIPT_DIR/docker
docker build -t $YOCTO_IMAGE -f Dockerfile.arm_yocto .
if [ ! -f $TARGET_FOLDER/bin/repo ]; then
mkdir $TARGET_FOLDER/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > $TARGET_FOLDER/bin/repo
chmod a+x $TARGET_FOLDER/bin/repo
fi
if [ ! -d $TARGET_FOLDER/fsl-arm-yocto-bsp ]; then
mkdir $TARGET_FOLDER/fsl-arm-yocto-bsp
cd $TARGET_FOLDER/fsl-arm-yocto-bsp
$TARGET_FOLDER/bin/repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b $IMX_BRANCH -m $IMX_MANIFEST
$TARGET_FOLDER/bin/repo sync
fi
YOCTO_CONTAINER="arm_yocto"
docker rm -f $YOCTO_CONTAINER || true
docker run --name $YOCTO_CONTAINER --volume $TARGET_FOLDER/fsl-arm-yocto-bsp:/fsl-arm-yocto-bsp --volume $SOURCE_ROOT:/onnxruntime_src $YOCTO_IMAGE /bin/bash /onnxruntime_src/tools/ci_build/github/linux/yocto_build_toolchain.sh -y $YOCTO_VERSION &
wait $!
EXIT_CODE=$?
set -e
exit $EXIT_CODE