summaryrefslogtreecommitdiff
path: root/start-container-qemu.sh
AgeCommit message (Collapse)Author
2020-08-31Increase memory allocation for build containersDiana Picus
Building flang needs more than 1GB per core and trying with 2GB per core surpasses the 30000 threshold. Use unlimited instead. Change-Id: Ibe1a06d5e529eaad9ea3b4a9d6c569a1171bed9c
2020-04-30Shellcheck fixes round 4David Spickett
Fixes for: https://github.com/koalaman/shellcheck/wiki/SC2207 Are using the bash 4.x 'mapfile' syntax where the input to the array is seperated by newlines. If it's separated by spaces we use 'read' instead. Support for selecting libc in MakeRelease.job was removed in 3fa23da28ad73d0fe4b512c4aab269b5280a6650. So remove references to "libc" which were expanding to nothing anyway. In tcwg-llvm-common.sh PROJECTS->BRANCHED_PROJECTS is not strictly needed. However shellcheck can't tell that the local PROJECTS in this file is different from the PROJECTS in tcwg-llvm-build.sh. Change-Id: Ie55968e3bf185d0bd5795fe48014636cda1009bc
2020-04-28Shellcheck fixes round 3David Spickett
Now using the version that's present in the bionic images. Meaning we have more warnings but can also set the minimum level to ignore a lot of them. Fix the check for whether shellcheck supports --severity. (we have pipefail on, but we expect shellcheck to fail in this case) Change-Id: I296b8554591b7d327c75393e3924184abc6512b7
2020-04-23Shellcheck fixes round 2David Spickett
Also update the sanity check script to include .job files. Change-Id: Ibf72d9ff346ff7b012d4e282a6ac8f3b7e73590d
2020-04-17tcwg-benchmark.sh: Minor fixesDavid Spickett
* Dedupe getting hostname for ssh toolchain URLs * Check toolchain type earlier * Error if SSH doesn't respond after reboot (and change the other uses of wait_for_ssh_server to follow the same format) Change-Id: Ib7823e5a83500e0d95912ef0d3ba993051a67533
2019-09-02jenkins-helpers.sh: Fix print_bind_mounts()Maxim Kuvyrkov
... by looking at the right filesystem. Change-Id: I42e3a5d942b469e983a84e09fc7a11856b81abde
2018-08-10print_memory_limit: Make suitable for high-core-count machinesMaxim Kuvyrkov
Allocate up to 30GB per container on high-core-count machines. This change doesn't affect APMs, TK1s and TX1s much. Change-Id: Ibde348b0f01d0e1d46dafc4e0dee3c5c0a0c4c0c
2018-06-26Remove last occurences of docker using TCP socket instead of file socket.Maxim Kuvyrkov
Change-Id: I19ed211d69326ff34a239cb4cc80a6f2b72ccd63
2018-06-24start-container-*.sh: Rework bind-mount handlingMaxim Kuvyrkov
... to fix problem with starting build containers from host containers. Change-Id: I78176ab0afee5952d212fc33d9a699497533bad2
2018-06-18start-container-qemu.sh: Add support for non-KVM guestsMaxim Kuvyrkov
Change-Id: Ic2cc2dc3a342583a9ac4305804f1c088a49b8ff9
2018-05-28Add -H :2375 to remote docker commands.Christophe Lyon
A previous patch replaced docker $host:2375 cmd with ssh $host cmd but this needs to be replaced with ssh $host -H :2375 cmd Change-Id: I40c58c466b1d3d20a9979205f63f11acb8f864ed
2018-05-24Connect to docker via ssh rather than directly to port 2375.Christophe Lyon
This allows to manage containers using ssh only, the docker port does not need to be open to external connections. This allows to start containers on hosts outside of the lan. Basically it is a matter of changing: -DOCKER="docker -H $docker_host:2375" +DOCKER="ssh $docker_host docker" in jenkins-helpers.sh, start-container-docker.sh and start-container-qemu.sh. Change-Id: I1051896521ee47640cdeefc9eed3324661ee0a9f
2017-09-11start-container-qemu.sh: Remove FIXME.Maxim Kuvyrkov
This is dependent on https://review.linaro.org/#/c/21279/ . Change-Id: I81ba5106ad3ba6604eb1becc1fb5ee597ab5a21a
2017-09-06start-container-qemu.sh: Enable "set -u".Maxim Kuvyrkov
Change-Id: Ic465ee16f301817f3ced92f0c3564c171578fbcd
2017-09-06start-container-qemu.sh: Cleanup to allow developer use.Maxim Kuvyrkov
Remove assumption that script is being run by tcwg-buildslave. Change-Id: I2edd395e952ca4e834fb14b6175280fda2facf03
2017-09-05start-container-qemu.sh: Fix handling of bind-mounts / NFS mountsMaxim Kuvyrkov
NFS mounts need to explicitly specify v3 of protocol to use UDP. Also fix parsing of docker-style read-only bind-mounts A:B:ro. Change-Id: Icef6df08b63b23c9b0e1eb1240787ddda0095d64
2017-09-05start-container-qemu.sh: Fix behavior for "test" containers.Maxim Kuvyrkov
When current directory is not bind-mounted in the container we can't change into it in ${prefix}container_exec. This is the case for "test" containers. Fix by defining a local helper that executes commands in "/" directory. Change-Id: Ia4e05b51c9688b03ddbd4ead13718c75f510fb3f
2017-09-05start-container-qemu.sh: Remove "set -u"Maxim Kuvyrkov
The fact that "bind_mounts=()" causes shell with "-u" to error on "${bind_mounts[@]}" is too inconvenient. Remove "set -u". Alternative suggestions and workarounds are welcome. Change-Id: I13d3976cb5881f04168444bc0233d9b909da7b1f
2017-08-10start-container-qemu.sh: New scriptMaxim Kuvyrkov
Start QEMU KVM virtual machine inside docker container. Use a copy of container's rootfs as VM's rootfs, which container exports via NFS. Likewise export any container's bind-mounts as NFS shares to the VM. VM is booted using provided initrd and kernel image. E.g., ./start-container-qemu.sh --session-name qemu-1 \ --label tcwg-apm_64-build --distro xenial \ --prefix qemu_ \ --kernel_url https://cloud-images.ubuntu.com/releases/16.04/release/unpacked/ubuntu-16.04-server-cloudimg-arm64-vmlinuz-generic \ --initrd_url https://cloud-images.ubuntu.com/releases/16.04/release/unpacked/ubuntu-16.04-server-cloudimg-arm64-initrd-generic \ > qemu-container.sh Current motivation is to allow development and cross-testing of ILP32 toolchains, but there are other potential applications. Use of KVM is not essential. Non-KVM emulations work just as well, though one needs a reasonably well-tested QEMU version (Xenial or later) for ISA-level emulation. Change-Id: I5ad0f19c5cd716cc2ae20420eada10105e74acff