#!/bin/bash # Copyright (C) 2017-2020 The Project X-Ray Authors. # # Use of this source code is governed by a ISC-style # license that can be found in the LICENSE file or at # https://opensource.org/licenses/ISC # # SPDX-License-Identifier: ISC echo echo "========================================" echo "Xilinx proprietary toolchain setup." echo "----------------------------------------" echo echo "Fix up the Xilinx configuration directory" echo "----------------------------------------" ls -l ~/.Xilinx sudo chown -R $USER ~/.Xilinx export XILINX_LOCAL_USER_DATA=no echo "----------------------------------------" echo echo "Select Xilinx Vivado version" echo "----------------------------------------" ( set -e cd /opt if [ x"$XRAY_SETTINGS" = x"kintex7" ]; then echo "Using Xilinx Vivado Design Edition for $XRAY_SETTINGS build." echo echo "Making /opt mount rw" sudo mount -o remount,rw /opt echo echo "Replacing /opt/Xilinx link." sudo rm -f Xilinx sudo ln -s Xilinx-design Xilinx ls -l Xilinx echo echo "Making /opt mount ro" sudo mount -o remount,ro /opt echo else echo "Using Xilinx Vivado WebPack Edition for $XRAY_SETTINGS build." ls -l Xilinx fi ) echo "----------------------------------------" echo echo "List /opt directory" echo "----------------------------------------" ls -l /opt echo "----------------------------------------" # Create a tunnel to the server which has the Xilinx licenses and port forward # them. echo echo "Setting up license server tunnel" echo "----------------------------------------" LICENSE_TUNNEL_KEY=$KOKORO_KEYSTORE_DIR/74045_foss-fpga-tools_xilinx-license echo "SSH Key for license server tunnel should be found @ $LICENSE_TUNNEL_KEY" ls -l $LICENSE_TUNNEL_KEY || true if [ -f $LICENSE_TUNNEL_KEY ]; then echo echo "Xilinx license server ssh key found, setting up tunnel" chmod 600 $LICENSE_TUNNEL_KEY cat < ssh_config Host xilinx-license HostName 10.128.15.194 User kokoro IdentityFile $LICENSE_TUNNEL_KEY StrictHostKeyChecking no ExitOnForwardFailure yes # SessionType none LocalForward localhost:2100 172.18.0.3:2100 LocalForward localhost:2101 172.18.0.3:2101 EOF echo "127.0.0.1 xlic.int" | sudo tee -a /etc/hosts export GIT_SSH_COMMAND="ssh -F $(pwd)/ssh_config -f -N" ${GIT_SSH_COMMAND} xilinx-license ( source /opt/Xilinx/Vivado/2017.2/settings64.sh export PATH=/opt/Xilinx/Vivado/2017.2/bin/unwrapped/lnx64.o:$PATH echo "-----" lmutil lmstat -a -c 2100@localhost -i || true echo "-----" ) export XILINXD_LICENSE_FILE=2100@localhost else echo echo "**No** Xilinx license server ssh key found." fi echo "----------------------------------------"