#!/bin/sh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # $Source: src/build/citest/create-sandbox $ # # OpenPOWER HostBoot Project # # Contributors Listed Below - COPYRIGHT 2014,2019 # [+] International Business Machines Corp. # # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. See the License for the specific language governing # permissions and limitations under the License. # # IBM_PROLOG_END_TAG echo "Creating ODE sandbox..." export CMVC_FAMILY=aix@aix.austin.ibm.com@2035 if [ -z $LOCAL_CI_USER ] then export CMVC_BECOME=hostboot else export CMVC_BECOME=$LOCAL_CI_USER fi export CMVC_AUTH_METHOD=HOST # Ensure backing build is accessible. if [ ! -d "$BACKING_BUILD" ]; then echo "Cannot access the backing build: $BACKING_BUILD" exit -1 fi # Delete existing sandbox if it exists. if [ -d "$SANDBOXBASE" ]; then echo "----Removing old sandbox." mksb -undo -auto -rc $SANDBOXRC -dir $SANDBOXROOT -sb $SANDBOXNAME fi if [ -d "$SANDBOXBASE" ]; then rm -rf $SANDBOXBASE fi # Create sandbox. mksb -rc $SANDBOXRC -dir $SANDBOXROOT -back $BACKING_BUILD -sb $SANDBOXNAME \ -m ppc -auto || exit -1 # workaround scripts expect $sb variable to be populated. export sb=$SANDBOXBASE/src export bb=$BACKING_BUILD export bbsrc=$BACKING_BUILD/src # Run presimsetup workarounds. echo "----Running presimsetup workarounds." if [ -f ${CITESTPATH}/etc/workarounds.presimsetup ]; then execute_in_sandbox "export BACKING_BUILD=\$bb && \ ${CITESTPATH}/etc/workarounds.presimsetup" "ppc" \ || exit -1 fi # Run start_simics to populate simics directories. echo "----Setting up simics." if [ "$MACHINE" != "NIMBUS" ] && [ "$MACHINE" != "CUMULUS" ] && \ [ "$MACHINE" != "CUMULUS_CDIMM" ] && [ "$MACHINE" != "FSPBUILD" ]; then SIMICS_LEVEL=`cat ${PROJECT_ROOT}/src/build/citest/etc/simbuild` EECACHE_PREBUILT=`cat ${PROJECT_ROOT}/src/build/citest/etc/eecache_prebuilt` echo "mkdir -p ${SANDBOXBASE}/simics" execute_in_sandbox "mkdir -p ${SANDBOXBASE}/simics" "ppc" echo "tar ${SIMICS_LEVEL} -C ${SANDBOXBASE}/simics/" execute_in_sandbox "tar -xf ${SIMICS_LEVEL} -C ${SANDBOXBASE}/simics/" "ppc" echo "cd ${SANDBOXBASE}/simics/ && ./INSTALL.sh" execute_in_sandbox "cd ${SANDBOXBASE}/simics/ && ./INSTALL.sh" "ppc" echo "cp ${EECACHE_PREBUILT} ${SANDBOXBASE}/simics/eecache_prebuilt.bin.ecc" execute_in_sandbox "cp ${EECACHE_PREBUILT} ${SANDBOXBASE}/simics/eecache_prebuilt.bin.ecc" "ppc" else execute_in_sandbox "start_simics -no_start -machine $MACHINE -batch_mode" \ "ppc" || exit -1 fi # Run postsimsetup workarounds. echo "----Running postsimsetup workarounds." if [ -f ${CITESTPATH}/etc/workarounds.postsimsetup ]; then execute_in_sandbox "export BACKING_BUILD=\$bb && \ ${CITESTPATH}/etc/workarounds.postsimsetup" "ppc" \ || exit -1 fi