diff options
author | Pasi Petäjäjärvi <pasi.petajajarvi@qt.io> | 2021-09-27 17:54:01 +0300 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-10-28 06:48:49 +0000 |
commit | 1c7bb0892a18e2f189cf4e03ab510c468f32a52e (patch) | |
tree | 9a713ab7ae60872666c60c1c79706130589051fc | |
parent | f30c29dd88b0bb8eb7980b077c5ab0c183425ea2 (diff) |
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 fe0b819588622b244a3b035f74598a192a427040)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
7 files changed, 190 insertions, 0 deletions
diff --git a/coin/provisioning/common/linux/qnx_710.sh b/coin/provisioning/common/linux/qnx_710.sh index 6b164d58..134cf02a 100755 --- a/coin/provisioning/common/linux/qnx_710.sh +++ b/coin/provisioning/common/linux/qnx_710.sh @@ -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 diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/opt_scripts/opt_nfs_qt b/coin/provisioning/common/linux/qnx_qemu_build_files/local/opt_scripts/opt_nfs_qt new file mode 100755 index 00000000..53063373 --- /dev/null +++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/opt_scripts/opt_nfs_qt @@ -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 diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/options b/coin/provisioning/common/linux/qnx_qemu_build_files/local/options new file mode 100644 index 00000000..a124af1e --- /dev/null +++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/options @@ -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' diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/data_files.custom b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/data_files.custom new file mode 100644 index 00000000..7d6bd542 --- /dev/null +++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/data_files.custom @@ -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 +} diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/passwd_file.builtin b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/passwd_file.builtin new file mode 100644 index 00000000..142fd04e --- /dev/null +++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/passwd_file.builtin @@ -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 diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/shadow_file.builtin b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/shadow_file.builtin new file mode 100644 index 00000000..e362b971 --- /dev/null +++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/shadow_file.builtin @@ -0,0 +1,2 @@ +root::1475759054:0:0 +qnxuser:@S@f0J4xZibUbKllVqPMzetauCHLRi+9C8wTsxYXE5r7Pfhda5FI7zkObEmKogy01pAX5f/1niG2S2eLXbLs3xoww==@YjBmOTQwNzZiNzYwMzY3N2RkMGQ1NTZmNzA5MDFhMWY=:1476890273:0:0 diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/system_files.custom b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/system_files.custom new file mode 100644 index 00000000..26c16912 --- /dev/null +++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/system_files.custom @@ -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 |