CI: Add QNX QEMU image build package

* Define env variables needed
* Add build files only to create qemu image

Task-number: QTBUG-87628
Change-Id: I26fd10b3e7950c7226c3c66f0b385b1acf0ac118
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
(cherry picked from commit fe0b819588)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Pasi Petäjäjärvi
2021-09-27 17:54:01 +03:00
committed by Qt Cherry-pick Bot
parent f30c29dd88
commit 1c7bb0892a
7 changed files with 190 additions and 0 deletions

View File

@@ -57,10 +57,17 @@ DownloadAndExtract () {
aarch64le_toolchain="${BASH_SOURCE%/*}/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake"
armv7le_toolchain="${BASH_SOURCE%/*}/cmake_toolchain_files/qnx-toolchain-armv7le.cmake"
x8664_toolchain="${BASH_SOURCE%/*}/cmake_toolchain_files/qnx-toolchain-x8664.cmake"
QNX_qemu_bld_files_dir="${BASH_SOURCE%/*}/qnx_qemu_build_files/"
targetFolder="/opt/"
folderName="qnx710"
targetPath="$targetFolder$folderName"
qemuTargetPath="$HOME/QNX"
qemuIpAddress="172.31.1.10"
qemuNetwork="172.31.1.1"
qemuSSHuser="root"
qemuSSHurl="$qemuSSHuser@$qemuIpAddress"
qemuLDpath="/proc/boot:/system/lib:/system/lib/dll:/home/qt/work/install/target/lib"
if [ ! -d "$targetFolder" ]; then
mkdir -p $targetFolder
@@ -75,6 +82,7 @@ DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder"
sudo cp $aarch64le_toolchain $targetPath
sudo cp $armv7le_toolchain $targetPath
sudo cp $x8664_toolchain $targetPath
cp -R $QNX_qemu_bld_files_dir $qemuTargetPath
sudo chown -R qt:users "$targetPath"
@@ -87,5 +95,9 @@ fi
# Set env variables
SetEnvVar "QNX_710" "$targetPath"
SetEnvVar "QNX_QEMU" "$qemuTargetPath"
SetEnvVar "QNX_QEMU_IPADDR" "$qemuIpAddress"
SetEnvVar "QNX_QEMU_SSH" "$qemuSSHurl"
SetEnvVar "QNX_QEMU_LD_LIBRARY_PATH" "$qemuLDpath"
echo "QNX SDP = 7.1.0" >> ~/versions.txt

View File

@@ -0,0 +1,46 @@
#!/bin/bash
function brief()
{
echo "--nfs=[<mount>|no]"
}
function help()
{
brief
cat <<EOF
If yes, the given nfs share "<mount>" will be mounted at <mount>
The default is no.
EOF
}
function validate() {
exit 0
}
function configure()
{
if [ "$OPT_NFS_QT" != no ]; then
cat >output/option_files/post_start.opt_nfs <<EOF
echo "---> Starting NFS"
STARTU_P(fs_nfs3_t,__FS_NFS3_ID__) fs-nfs3 172.31.1.1:$OPT_NFS_QT $OPT_NFS_QT
EOF
fi
exit 0
}
case "$1" in
brief)
brief;;
help)
help;;
validate)
validate;;
configure)
configure;;
default)
echo no;;
esac

View File

@@ -0,0 +1,88 @@
OPT_ABLELOCK='no'
DEF_OPT_ABLELOCK='no'
OPT_ARCH='x86_64'
DEF_OPT_ARCH='x86_64'
OPT_ASLR='yes'
DEF_OPT_ASLR='yes'
OPT_CERTICOM='no'
DEF_OPT_CERTICOM='no'
OPT_CRYPTODEV='no'
DEF_OPT_CRYPTODEV='no'
OPT_DATA_INODES='3000'
DEF_OPT_DATA_INODES='3000'
OPT_DATA_SIZE='60'
DEF_OPT_DATA_SIZE='60'
OPT_EXTRA_DIRS='none'
DEF_OPT_EXTRA_DIRS='none'
OPT_GRAPHICS='no'
DEF_OPT_GRAPHICS='no'
OPT_GUEST='none'
DEF_OPT_GUEST='none'
OPT_HOSTNAME='qnx_QEMU_CI'
DEF_OPT_HOSTNAME='noname'
OPT_IP='172.31.1.69'
DEF_OPT_IP='dhcp'
OPT_MACADDR='52:54:00:f1:c4:92'
DEF_OPT_MACADDR='generate'
OPT_NFS='no'
DEF_OPT_NFS='no'
OPT_NFS_QT='/home/qt/work'
DEF_OPT_NFS_QT='/home/qt/work'
OPT_PATHTRUST='no'
DEF_OPT_PATHTRUST='no'
OPT_PERL='no'
DEF_OPT_PERL='no'
OPT_POLICY='none'
DEF_OPT_POLICY='none'
OPT_PYTHON='no'
DEF_OPT_PYTHON='no'
OPT_QAUDIT='no'
DEF_OPT_QAUDIT='no'
OPT_QFIM='no'
DEF_OPT_QFIM='no'
OPT_QTD='no'
DEF_OPT_QTD='no'
OPT_QVM='no'
DEF_OPT_QVM='no'
OPT_REPOS='$QNX_STAGE_nto:$QNX_TARGET'
DEF_OPT_REPOS='$QNX_STAGE_nto:$QNX_TARGET'
OPT_ROOT='no'
DEF_OPT_ROOT='no'
OPT_SAFE='no'
DEF_OPT_SAFE='no'
OPT_SECPOL='no'
DEF_OPT_SECPOL='no'
OPT_SECURE_DATA='no'
DEF_OPT_SECURE_DATA='no'
OPT_SECURE_PROCFS='yes'
DEF_OPT_SECURE_PROCFS='yes'
OPT_SLM='no'
DEF_OPT_SLM='no'
OPT_SSHD_PREGEN='yes'
DEF_OPT_SSHD_PREGEN='yes'
OPT_SSH_IDENT='prompt'
DEF_OPT_SSH_IDENT='prompt'
OPT_SYS_INODES='1000'
DEF_OPT_SYS_INODES='1000'
OPT_SYS_SIZE='20'
DEF_OPT_SYS_SIZE='20'
OPT_TCG='no'
DEF_OPT_TCG='no'
OPT_TELNET='no'
DEF_OPT_TELNET='no'
OPT_TOMCRYPT='no'
DEF_OPT_TOMCRYPT='no'
OPT_TOYBOX='no'
DEF_OPT_TOYBOX='no'
OPT_TYPE='qemu'
DEF_OPT_TYPE='qemu'
OPT_TZ='UTC0'
DEF_OPT_TZ='UTC0'
OPT_UNION='yes'
DEF_OPT_UNION='yes'
OPT_USB='no'
DEF_OPT_USB='no'
OPT_VALGRIND='no'
DEF_OPT_VALGRIND='no'
OPT_ZONEINFO='no'
DEF_OPT_ZONEINFO='no'

View File

@@ -0,0 +1,10 @@
# local/snippets/data_files.custom
# Placeholder for local list of files to add to data partition
home/root/.ssh/environment = {
TERM=qansi
PATH=__IFS_PATH__:/system/xbin
#LD_LIBRARY_PATH=__PROC_LIB__:/home/qt/work/install/target/lib
#QSG_RHI_BACKEND=software
#QT_QPA_PLATFORM=offscreen
}

View File

@@ -0,0 +1,3 @@
root:x:0:0:Superuser:/data/home/root:/bin/sh
sshd:x:15:6:sshd:/data/var/chroot/sshd:/bin/false
qnxuser:x:__QNXUSER_UID__:__QNXUSER_GID__:User9:/data/home/qnxuser:/bin/sh

View File

@@ -0,0 +1,2 @@
root::1475759054:0:0
qnxuser:@S@f0J4xZibUbKllVqPMzetauCHLRi+9C8wTsxYXE5r7Pfhda5FI7zkObEmKogy01pAX5f/1niG2S2eLXbLs3xoww==@YjBmOTQwNzZiNzYwMzY3N2RkMGQ1NTZmNzA5MDFhMWY=:1476890273:0:0

View File

@@ -0,0 +1,29 @@
# local/snippets/system_files.custom
# Placeholder for local list of files to add to system partition
[perms=444] etc/ssh/sshd_config={
HostKey /data/var/ssh/ssh_host_rsa_key
HostKey /data/var/ssh/ssh_host_ed25519_key
AuthorizedKeysFile .ssh/authorized_keys
PermitUserEnvironment yes
AuthenticationMethods none
PermitEmptyPasswords yes
PermitRootLogin yes
PidFile none
Subsystem sftp /system/xbin/sftp-server
}
# libraries Qt requires
lib/libicuuc.so.64=usr/lib/libicuuc.so.64
lib/libicudata.so.64=usr/lib/libicudata.so.64
lib/libicui18n.so.64=usr/lib/libicui18n.so.64
lib/libGLESv2.so.1=usr/lib/libGLESv2.so.1
lib/libEGL.so.1=usr/lib/libEGL.so.1
lib/libfontconfig.so.1=usr/lib/libfontconfig.so.1
lib/libz.so.2=usr/lib/libz.so.2
lib/libxml2.so.2=usr/lib/libxml2.so.2
lib/libfreetype.so.1=usr/lib/libfreetype.so.1
lib/libpng16.so.16=usr/lib/libpng16.so.16
lib/liblzma.so.5=usr/lib/liblzma.so.5
lib/libbacktrace.so.1=usr/lib/libbacktrace.so.1
lib/libm.so.3=lib/libm.so.3