cloud-hypervisor/scripts
Ruoqing He 5cb5115456 build: Fix spdk in linux/arm64 image
The reason `test_vfio_user` fails is as @likebreath pointed: our ARM
host does not support SVE, while the nvme_tgt binary built from the
container image requires it. As a result, we encountered a SIGILL when
running the nvme_tgt binary. This also explains why this is not
happening when the container is built on the same host itself.

And quote from @rbradford:

When a job is run on one of the workers it looks to see if there is a
container locally matching the name as specified in the dev_cli.sh
script - if there is then it uses it. Otherwise it will try and download
it from the container registry - if that fails then it will built
locally. For the x86-64 workers started dynamically it will never have a
local version as they are a fresh VM. But on the ARM64 builder is a
local container image cache.

This can lead to an issue where if the image is build with one version
(a handcrafted datestamp) and then the Dockerfile is changed without
changing the timestamp then an old version may be fetched from the cache
or server. It is there for essential to always bump the datestamp (there
is a number after the - that can be used for this.)

However there is also the added complexity that image that is build and
uploaded to the container registry is not the same as the built locally
and thus used for the initial testing of the Dockerfile change. This
leads to the issue we have seen where different CPU compiler flags (from
-march=native) from the QEMU cross build in the hosted GHA action and
the local ARM64 build. Resulting in a binary in the remotely built
container not working locally.

We end up specifying TARGET_ARCHITECTURE="armv8.2-a" for building spdk,
and put built `python/spdk/` folder into `/usr/local/bin/spdk-nvme`.

Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn>
2025-02-28 18:34:23 +00:00
..
gitlint gitlint: add openapi to valid components 2024-04-09 13:05:53 +00:00
build-custom-image.sh scripts: Add a script to automate the custom image construction 2024-10-17 19:51:05 +00:00
ch-trace-visualiser.py scripts: ch-trace-visualiser.py: remove unused import 'xml' 2023-02-17 11:48:37 -08:00
check-image-compatibility.sh scripts: fix shell scripts according to shellcheck errors 2024-02-13 10:20:18 +00:00
common-aarch64.sh scripts: fix shell scripts according to shellcheck errors 2024-02-13 10:20:18 +00:00
create-cloud-init.sh scripts: fix shell scripts format according to shfmt 2024-02-13 10:20:18 +00:00
dev_cli.sh build: Fix spdk in linux/arm64 image 2025-02-28 18:34:23 +00:00
package-consistency-check.py scripts: Add consistency check script 2024-11-02 16:09:09 +00:00
prepare_vdpa.sh build: add REUSE Compliance Check 2024-04-19 17:35:45 +00:00
run_coverage.sh scripts: fix code coverage script args parsing 2024-10-23 18:38:34 +01:00
run_integration_tests_aarch64.sh scripts: Remove SPDK build in aarch64 test script 2025-02-24 14:41:46 +00:00
run_integration_tests_live_migration.sh scripts: Replace download_linux with prepare_linux 2024-11-12 16:27:20 +00:00
run_integration_tests_rate_limiter.sh scripts: Replace download_linux with prepare_linux 2024-11-12 16:27:20 +00:00
run_integration_tests_sgx.sh tests: Update version of Jammy image in use 2024-10-17 19:51:05 +00:00
run_integration_tests_vfio.sh misc: Fix spelling issues 2024-06-08 16:31:30 +00:00
run_integration_tests_windows_aarch64.sh scripts: fix shell scripts according to shellcheck errors 2024-02-13 10:20:18 +00:00
run_integration_tests_windows_x86_64.sh scripts: fix shell scripts according to shellcheck errors 2024-02-13 10:20:18 +00:00
run_integration_tests_x86_64.sh scripts: Replace download_linux with prepare_linux 2024-11-12 16:27:20 +00:00
run_metrics.sh scripts: Replace download_linux with prepare_linux 2024-11-12 16:27:20 +00:00
run_openapi_tests.sh scripts: fix shell scripts according to shellcheck errors 2024-02-13 10:20:18 +00:00
run_unit_tests.sh scripts: add cargo test args for code coverage reports 2024-09-28 13:59:40 +00:00
sha1sums-aarch64 tests: Remove download of unused bionic image for aarch64 2024-02-22 12:28:40 +00:00
sha1sums-x86_64 tests: Update version of Jammy image in use 2024-10-17 19:51:05 +00:00
test-util.sh docs: Update documentation for new kernel configuration 2025-01-22 17:45:32 +00:00
windows-11-iot-enterprise-aarch64.raw.sha1 ci: Initial Windows image integration 2022-08-12 15:04:06 +01:00