mirror of
git://code.qt.io/qt/qt5.git
synced 2026-02-01 11:26:04 +08:00
Enable tests for VxWorks target
Updates VSB and VIP. Adds newer updated QEMU for VxWorks. Set to build and run tests on qtbase. Change-Id: I1dc97a48ff67dedd79de3659d2af2768616c61ca Reviewed-by: Matti Paaso <matti.paaso@qt.io>
This commit is contained in:
@@ -8,8 +8,8 @@ Configurations:
|
||||
Compiler: 'Clang'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'ubuntu-22.04'
|
||||
Features: ['VMSize8', 'UseConfigure', 'DoNotRunTests', 'DoNotUploadTests']
|
||||
Features: ['UseConfigure', 'DoNotRunTests', 'DoNotUploadTests']
|
||||
Environment variables: [
|
||||
'TARGET_CONFIGURE_ARGS=-release -developer-build -force-debug-info -qpa eglfs -nomake examples',
|
||||
'TARGET_CONFIGURE_ARGS=-release -developer-build -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'
|
||||
]
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
Version: 2
|
||||
Configurations:
|
||||
-
|
||||
Id: 'vxworks-imx6-tests'
|
||||
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
||||
Target os: 'VxWorks'
|
||||
Target arch: 'ARMv7'
|
||||
Compiler: 'Clang'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'vxworks-imx6-buildtest'
|
||||
Features: ['VMSize16', 'InsignificantTests', 'UseConfigure', 'TestOnly', 'BuildTestsInTest', 'DoNotUploadTests']
|
||||
Environment variables: [
|
||||
'TARGET_CONFIGURE_ARGS=-release -developer-build -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',
|
||||
'VXWORKS_TEST_LIBS_PATH=/opt/fsl_imx6_2_0_6_2_VSB/usr/lib/common;/opt/fsl_imx6_2_0_6_2_VSB/usr/root/llvm/bin;/opt/fsl_imx6_2_0_6_2_VSB/usr/3pp/develop/usr/lib'
|
||||
]
|
||||
@@ -1,11 +0,0 @@
|
||||
Version: 2
|
||||
Module only: True
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
"ubuntu-22.04"
|
||||
],
|
||||
cmake_platforms_qemu_vxworks.yaml: [
|
||||
"vxworks-imx6"
|
||||
]
|
||||
]
|
||||
Configurations: []
|
||||
@@ -8,6 +8,8 @@ Include: [
|
||||
linux_android_tests_multi_abi.yaml,
|
||||
wasm_qtbase_tests.yaml,
|
||||
cmake_platforms_qemu_vxworks_buildtest.yaml,
|
||||
cmake_platforms_qemu_vxworks.yaml,
|
||||
cmake_platforms_qemu_vxworks_tests.yaml,
|
||||
qtlite.yaml,
|
||||
qtbase-linux-arm64-offscreen.yaml,
|
||||
qtbase-new-compiler-testing.yaml
|
||||
|
||||
28
coin/provisioning/common/linux/install-vxworks-qemu.sh
Executable file
28
coin/provisioning/common/linux/install-vxworks-qemu.sh
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh
|
||||
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
|
||||
# shellcheck source=../unix/SetEnvVar.sh
|
||||
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||
|
||||
QEMU_VER="8.2.3"
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/qemu/qemu-$QEMU_VER.tar.xz"
|
||||
AltUrl="https://download.qemu.org/qemu-$QEMU_VER.tar.xz"
|
||||
SHA1="1b29c8105cf8d15b9e7fb6f8e85170b6c54a1788"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp" "$appPrefix"
|
||||
|
||||
targetFolder=/tmp/qemu-${QEMU_VER}
|
||||
mkdir -p "$targetFolder/build"
|
||||
cd "$targetFolder/build"
|
||||
../configure --target-list=arm-softmmu
|
||||
make -j8
|
||||
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"
|
||||
@@ -14,38 +14,51 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||
VXWORKS_VER="23_09"
|
||||
######### VXworks libs #########
|
||||
# Installs to /opt/vxworks
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_no_source_patched_$VXWORKS_VER.tar.gz"
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_libs_2403.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="35a457999b310a6128e3bd7de3103c2235063071"
|
||||
targetFolder="/opt/"
|
||||
sha1="8152c527ca489b1e51f2954e6e88c6daa22d88f6"
|
||||
targetFolder="/opt"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
SetEnvVar "VXWORKS_HOME" "/opt/vxworks"
|
||||
|
||||
VXWORKS_BUILD_VER="20240326"
|
||||
VXWORKS_BUILD_VER="20240522"
|
||||
######### VXworks toolchain #########
|
||||
# Installs to /opt/fsl_imx6_2_0_6_2_VSB
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_vsb_${VXWORKS_BUILD_VER}_2.tar.gz"
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_vsb_${VXWORKS_BUILD_VER}.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="415359ac124e11198a3911c9c4b923269d8da83a"
|
||||
sha1="b8fd1203aaa0976dbd68ddc94ce0af1b8f89e26f"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
SetEnvVar "WIND_CC_SYSROOT" "/opt/fsl_imx6_2_0_6_2_VSB"
|
||||
|
||||
VXWORKS_BUILD_VER="20240619"
|
||||
######### VXworks VIP kernel #########
|
||||
# Installs to /opt/fsl_imx6_2_0_6_2_VIP_QEMU
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_vip_${VXWORKS_BUILD_VER}.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="a6019012a8c7af760469959e2df89875f5ff4e9a"
|
||||
sha1="d66aee4054638df50c8be003fecb010374524f14"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
SetEnvVar "VXWORKS_SSH" "WindRiver@172.31.1.10"
|
||||
|
||||
SetEnvVar "VXWORKS_SSH" "WindRiver@10.0.2.4"
|
||||
######### VXworks fonts and certs #########
|
||||
# Installs to /opt/fsl_imx6_2_0_6_2_VIP_QEMU
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_misc.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="1bc529b90b35b0b249f219e47d5798225a9b68d8"
|
||||
targetFolder="/opt/fsl_imx6_2_0_6_2_VSB/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
|
||||
# Setup NFS exports that are needed by VxWorks qemu
|
||||
sudo bash -c "echo '/home/qt/work 10.0.2.4/24(rw,sync,root_squash,no_subtree_check,anonuid=1000,anongid=1000)' >> /etc/exports"
|
||||
sudo bash -c "echo '/opt/fsl_imx6_2_0_6_2_VSB 10.0.2.4/24(rw,sync,root_squash,no_subtree_check,anonuid=1000,anongid=1000)' >> /etc/exports"
|
||||
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 exportfs -a
|
||||
|
||||
# Enable ipv4 routing from vxWorks to Qt DNS
|
||||
sudo sed -i s/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g /etc/sysctl.conf
|
||||
sudo iptables -I FORWARD 1 -j ACCEPT
|
||||
sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
|
||||
|
||||
# Copy start script in place
|
||||
cp "${BASH_SOURCE%/*}/../linux/vxworks_qemu_launcher.sh" "${HOME}"
|
||||
SetEnvVar "VXWORKS_EMULATOR" "${HOME}/vxworks_qemu_launcher.sh"
|
||||
|
||||
@@ -6,24 +6,24 @@
|
||||
if ! ip link show br0 >/dev/null 2>&1; then
|
||||
sudo brctl addbr br0
|
||||
sudo brctl stp br0 off
|
||||
sudo ifconfig br0 10.0.2.1 netmask 255.255.255.0 promisc up
|
||||
sudo ifconfig br0 172.31.1.1 netmask 255.255.255.0 promisc up
|
||||
sudo tunctl -u qt -t tap0
|
||||
sudo ifconfig tap0 promisc up
|
||||
sudo brctl addif br0 tap0
|
||||
fi
|
||||
|
||||
QEMU_LOG_PATH="/home/qt/work/vxworks_qemu_log.txt"
|
||||
qemu-system-arm \
|
||||
$VXWORKS_QEMU/qemu-system-arm \
|
||||
-machine sabrelite \
|
||||
-smp 4 \
|
||||
-m 1G \
|
||||
-nographic \
|
||||
-monitor none \
|
||||
-serial null \
|
||||
-serial stdio \
|
||||
-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=10.0.2.1 g=10.0.2.1 e=10.0.2.4 u=target pw=vxTarget s=/romfs/startup_script_arm.txt" \
|
||||
-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 &
|
||||
|
||||
for _ in $(seq 30)
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
#Copyright (C) 2023 The Qt Company Ltd
|
||||
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/install-vxworks-qemu.sh"
|
||||
|
||||
Reference in New Issue
Block a user