diff --git a/coin/platform_configs/cmake_platforms_qemu_vxworks_buildtest_static.yaml b/coin/platform_configs/cmake_platforms_qemu_vxworks_buildtest_static.yaml index 0b5a380dcbd..ea356c7a266 100644 --- a/coin/platform_configs/cmake_platforms_qemu_vxworks_buildtest_static.yaml +++ b/coin/platform_configs/cmake_platforms_qemu_vxworks_buildtest_static.yaml @@ -14,3 +14,17 @@ Configurations: 'TARGET_CONFIGURE_ARGS=-release -force-debug-info -qpa offscreen -nomake examples', 'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target' ] +- + Id: 'vxworks-x86_64-buildtest' + Template: 'qtci-linux-Ubuntu-22.04-x86_64-51' + Target os: 'VxWorks' + Target arch: 'X86_64' + Compiler: 'Clang' + Target compiler: 'Clang' + Platform dependency: 'ubuntu-22.04' + Features: ['VMSize8', 'UseConfigure', 'DoNotRunTests', 'DoNotUploadTests'] + Environment variables: [ + 'WIND_CC_SYSROOT=/opt/itl_generic_skylake_VSB', + 'TARGET_CONFIGURE_ARGS=-release -force-debug-info -qpa offscreen -nomake examples', + 'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target' + ] diff --git a/coin/platform_configs/cmake_platforms_qemu_vxworks_tests_static.yaml b/coin/platform_configs/cmake_platforms_qemu_vxworks_tests_static.yaml index 1da2ea62572..da993f9b01e 100644 --- a/coin/platform_configs/cmake_platforms_qemu_vxworks_tests_static.yaml +++ b/coin/platform_configs/cmake_platforms_qemu_vxworks_tests_static.yaml @@ -15,3 +15,18 @@ Configurations: 'TARGET_CONFIGURE_ARGS=-release -force-debug-info -qpa offscreen -nomake examples', 'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target' ] +- + Id: 'vxworks-x86_64-tests' + Template: 'qtci-linux-Ubuntu-22.04-x86_64-51' + Target os: 'VxWorks' + Target arch: 'ARMv7' + Compiler: 'Clang' + Target compiler: 'Clang' + Platform dependency: 'vxworks-x86_64-buildtest' + Features: ['VMSize8', 'UseConfigure', 'BuildTestsInTest', 'TestOnly', 'InsignificantTests'] + Environment variables: [ + 'WIND_CC_SYSROOT=/opt/itl_generic_skylake_VSB', + 'VXWORKS_TEST_LIBS_PATH=/opt/itl_generic_skylake_VSB/usr/lib/common;/opt/itl_generic_skylake_VSB/usr/root/llvm/bin;/opt/itl_generic_skylake_VSB/usr/3pp/develop/usr/lib;/home/qt/work/install/target/lib', + 'TARGET_CONFIGURE_ARGS=-release -force-debug-info -qpa offscreen -nomake examples', + 'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target' + ] diff --git a/coin/provisioning/common/linux/install-vxworks-qemu.sh b/coin/provisioning/common/linux/install-vxworks-qemu.sh index 912955f80cc..ee8ca4cdf54 100755 --- a/coin/provisioning/common/linux/install-vxworks-qemu.sh +++ b/coin/provisioning/common/linux/install-vxworks-qemu.sh @@ -18,11 +18,11 @@ InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp" "$appPre targetFolder=/tmp/qemu-${QEMU_VER} mkdir -p "$targetFolder/build" cd "$targetFolder/build" -../configure --target-list=arm-softmmu -make -j8 +../configure --target-list=arm-softmmu,x86_64-softmmu --prefix=/opt/qemu-${QEMU_VER} +make -j8 -s +sudo make -s install sudo mkdir -p /usr/share/qemu/keymaps sudo cp -r "$targetFolder/build/pc-bios/keymaps" "/usr/share/qemu/" -sudo mv "$targetFolder/build" "/opt/qemu-$QEMU_VER" rm -rf $targetFolder SetEnvVar "VXWORKS_QEMU" "/opt/qemu-$QEMU_VER" diff --git a/coin/provisioning/common/linux/vx_works.sh b/coin/provisioning/common/linux/vx_works.sh index 88706963bea..84663e294d1 100755 --- a/coin/provisioning/common/linux/vx_works.sh +++ b/coin/provisioning/common/linux/vx_works.sh @@ -19,13 +19,14 @@ sha1="8152c527ca489b1e51f2954e6e88c6daa22d88f6" targetFolder="/opt" InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" "" SetEnvVar "VXWORKS_HOME" "/opt/vxworks" +SetEnvVar "VXWORKS_SSH" "WindRiver@172.31.1.10" -VXWORKS_BUILD_VER="19-08-2024" +VXWORKS_BUILD_VER="26-08-2024" ######### VXworks toolchain ######### # Installs to /opt/fsl_imx6_2_0_6_2_VSB PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_vsb_${VXWORKS_BUILD_VER}.tar.gz" AltUrl="" -sha1="9c1abcc066aff40230a7f432e1f076bac8c6912a" +sha1="e3c7db136e25d2ef31f5f8d2fecb10191793fdf0" targetFolder="/opt/" InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" "" SetEnvVar "WIND_CC_SYSROOT" "/opt/fsl_imx6_2_0_6_2_VSB" @@ -34,10 +35,22 @@ SetEnvVar "WIND_CC_SYSROOT" "/opt/fsl_imx6_2_0_6_2_VSB" # Installs to /opt/fsl_imx6_2_0_6_2_VIP_QEMU PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_vip_${VXWORKS_BUILD_VER}.tar.gz" AltUrl="" -sha1="db48525d9f5b105f9da632f0c3f557247c1fd041" +sha1="787555c2fb2571afac7c6706b8bc2ddc65effdf8" +targetFolder="/opt/" +InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" "" + +# Installs to /opt/itl_generic_skylake_VSB +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_intel_vsb_${VXWORKS_BUILD_VER}.tar.gz" +AltUrl="" +sha1="0ffcbde47d5d95c90db68addd0f534f2aee41df1" +targetFolder="/opt/" +InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" "" +# Installs to /opt/itl_generic_skylake_VIP_QEMU +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_intel_vip_${VXWORKS_BUILD_VER}.tar.gz" +AltUrl="" +sha1="29afd81568bb647c778d622c997f4bd9ccb7e595" targetFolder="/opt/" InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" "" -SetEnvVar "VXWORKS_SSH" "WindRiver@172.31.1.10" ######### VXworks fonts and certs ######### # Installs to /opt/fsl_imx6_2_0_6_2_VSB @@ -46,10 +59,19 @@ AltUrl="" sha1="1bc529b90b35b0b249f219e47d5798225a9b68d8" targetFolder="/opt/fsl_imx6_2_0_6_2_VSB/" InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" "" +######### VXworks fonts and certs ######### +# Installs to /opt/itl_generic_skylake_VSB +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_misc.tar.gz" +AltUrl="" +sha1="1bc529b90b35b0b249f219e47d5798225a9b68d8" +targetFolder="/opt/itl_generic_skylake_VSB/" +InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" "" # Setup NFS exports that are needed by VxWorks qemu sudo bash -c "echo '/home/qt/work 172.31.1.10/24(rw,sync,root_squash,no_subtree_check,anonuid=2001,anongid=100)' >> /etc/exports" sudo bash -c "echo '/opt/fsl_imx6_2_0_6_2_VSB 172.31.1.10/24(rw,sync,root_squash,no_subtree_check,anonuid=2001,anongid=100)' >> /etc/exports" +sudo bash -c "echo '/opt/itl_generic_skylake_VSB 172.31.1.10/24(rw,sync,root_squash,no_subtree_check,anonuid=2001,anongid=100)' >> /etc/exports" + sudo exportfs -a # Enable ipv4 routing from vxWorks to Qt DNS diff --git a/coin/provisioning/common/linux/vxworks_qemu_launcher.sh b/coin/provisioning/common/linux/vxworks_qemu_launcher.sh index db057c6967a..2c345150f1b 100755 --- a/coin/provisioning/common/linux/vxworks_qemu_launcher.sh +++ b/coin/provisioning/common/linux/vxworks_qemu_launcher.sh @@ -12,23 +12,41 @@ if ! ip link show br0 >/dev/null 2>&1; then sudo brctl addif br0 tap0 fi +[ $# -eq 1 ] || echo "Supply parameter which emulator to start " +TYPE=$1 + QEMU_LOG_PATH="/home/qt/work/vxworks_qemu_log.txt" -$VXWORKS_QEMU/qemu-system-arm \ - -machine sabrelite \ - -smp 4 \ - -m 1G \ - -nographic \ - -monitor none \ - -serial null \ - -serial pipe:/tmp/guest \ - -kernel /opt/fsl_imx6_2_0_6_2_VIP_QEMU/default/uVxWorks \ - -dtb /opt/fsl_imx6_2_0_6_2_VIP_QEMU/default/imx6q-sabrelite.dtb \ - -append "enet(0,0)host:vxWorks h=172.31.1.1 g=172.31.1.1 e=172.31.1.10 u=target pw=vxTarget s=/romfs/startup_script_arm.txt" \ - -nic "tap,ifname=tap0,script=no" >"${QEMU_LOG_PATH}" 2>&1 & +if [ "$TYPE" = "arm" ] || [ "$TYPE" = "" ]; then + $VXWORKS_QEMU/bin/qemu-system-arm \ + -machine sabrelite \ + -smp 4 \ + -m 1G \ + -nographic \ + -monitor none \ + -serial null \ + -serial pipe:/tmp/guest \ + -kernel /opt/fsl_imx6_2_0_6_2_VIP_QEMU/default/uVxWorks \ + -dtb /opt/fsl_imx6_2_0_6_2_VIP_QEMU/default/imx6q-sabrelite.dtb \ + -append "enet(0,0)host:vxWorks h=172.31.1.1 g=172.31.1.1 e=172.31.1.10 u=target pw=vxTarget s=/romfs/startup_script.txt" \ + -nic "tap,ifname=tap0,script=no" >"${QEMU_LOG_PATH}" 2>&1 & +elif [ "$TYPE" = "intel" ]; then + $VXWORKS_QEMU/bin/qemu-system-x86_64 \ + -M q35 \ + -smp 8 \ + -m 8G \ + -cpu "Skylake-Client" \ + -monitor none \ + -nographic \ + -serial null \ + -serial pipe:/tmp/guest \ + -kernel "/opt/itl_generic_skylake_VIP_QEMU/default/vxWorks" \ + -append "sysbootline:gei(0,0)host:vxWorks h=172.31.1.1 g=172.31.1.1 e=172.31.1.10 u=target pw=vxTarget s=/romfs/startup_script.txt" \ + -nic tap,ifname=tap0,script=no,downscript=no >"${QEMU_LOG_PATH}" 2>&1 & +fi for _ in $(seq 30) do - status=$(ssh -o BatchMode=yes -o HostKeyAlgorithms=+ssh-rsa -o ConnectTimeout=1 "${VXWORKS_SSH}" echo emulator up) + status=$(ssh -o BatchMode=yes -o HostKeyAlgorithms=+ssh-rsa -o ConnectTimeout=1 "${VXWORKS_SSH}" echo emulator up) || true if [[ $status == *"emulator up"* ]] ; then echo "VXWORKS QEMU SSH server up" break