e2e_tests: uprev guest under test
Guest under test needs an uprev to support latest tests.
TEST=CQ
Change-Id: Ie42d80b3ee1f3b94b680251ffa4523d5f80713f8
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/6619280
Reviewed-by: maciek swiech <drmasquatch@google.com>
Commit-Queue: Zihan Chen <zihanchen@google.com>
diff --git a/e2e_tests/guest_under_test/Makefile b/e2e_tests/guest_under_test/Makefile
index 27de098..1edae9f 100644
--- a/e2e_tests/guest_under_test/Makefile
+++ b/e2e_tests/guest_under_test/Makefile
@@ -13,12 +13,14 @@
KERNEL_ARCH=x86
KERNEL_BINARY=bzImage
DOCKER_ARCH=amd64
+ DOCKER_PLATFORM="linux/amd64"
CROSS_COMPILE=
RUSTFLAGS=
else ifeq ($(ARCH), aarch64)
KERNEL_ARCH=arm64
KERNEL_BINARY=Image
DOCKER_ARCH=arm64v8
+ DOCKER_PLATFORM="linux/arm64"
CROSS_COMPILE=aarch64-linux-gnu-
RUSTFLAGS="-Clinker=aarch64-linux-gnu-ld"
else
@@ -69,8 +71,8 @@
# Build rootfs from Dockerfile and export into squashfs
$(TARGET)/rootfs: $(TARGET)/rootfs-build/delegate $(TARGET)/rootfs-build/readclock rootfs/Dockerfile
# Build image from Dockerfile
- DOCKER_BUILDKIT=1 docker build -t crosvm_e2e_test_guest $(TARGET)/rootfs-build \
- -f rootfs/Dockerfile --build-arg ARCH=$(DOCKER_ARCH)
+ docker buildx build -t crosvm_e2e_test_guest $(TARGET)/rootfs-build \
+ -f rootfs/Dockerfile --build-arg ARCH=$(DOCKER_ARCH) --platform $(DOCKER_PLATFORM)
# Make sure tar2sqfs is available. If not, print a help message.
tar2sqfs --help > /dev/null || \
{ \
diff --git a/e2e_tests/guest_under_test/PREBUILT_VERSION b/e2e_tests/guest_under_test/PREBUILT_VERSION
index 36ad70f..c553121 100644
--- a/e2e_tests/guest_under_test/PREBUILT_VERSION
+++ b/e2e_tests/guest_under_test/PREBUILT_VERSION
@@ -1,2 +1,2 @@
-r0015
+r0016
diff --git a/e2e_tests/guest_under_test/initramfs/Containerfile b/e2e_tests/guest_under_test/initramfs/Containerfile
index de318f6..39f6388 100644
--- a/e2e_tests/guest_under_test/initramfs/Containerfile
+++ b/e2e_tests/guest_under_test/initramfs/Containerfile
@@ -11,13 +11,13 @@
# Download rust static coreutils
WORKDIR /root
-RUN wget https://github.com/uutils/coreutils/releases/download/0.0.20/coreutils-0.0.20-x86_64-unknown-linux-musl.tar.gz -O coreutils.tar.gz
+RUN wget https://github.com/uutils/coreutils/releases/download/0.1.0/coreutils-0.1.0-x86_64-unknown-linux-musl.tar.gz -O coreutils.tar.gz
RUN tar -zxvf coreutils.tar.gz
# Download source code and build util-linux
RUN git clone https://github.com/util-linux/util-linux.git
WORKDIR /root/util-linux
-RUN git checkout v2.39.1
+RUN git checkout v2.41
RUN apt-get build-dep -y util-linux
RUN meson setup build -D static-programs="losetup, mount, umount" -D build-python=disabled -D cryptsetup=disabled -D build-chfn-chsh=disabled -D build-su=disabled -D build-runuser=disabled
RUN ninja -C build
@@ -25,12 +25,12 @@
FROM scratch
# Create /bin directory manually to avoid potential problems caused by implicit directory creation with COPY
-COPY --from=builder /root/coreutils-0.0.20-x86_64-unknown-linux-musl/coreutils /coreutils
+COPY --from=builder /root/coreutils-0.1.0-x86_64-unknown-linux-musl/coreutils /coreutils
RUN ["/coreutils", "mkdir", "/bin"]
# Start populating /bin directory with bash and coreutils
COPY --from=builder /bin/bash-static /bin/bash
-COPY --from=builder /root/coreutils-0.0.20-x86_64-unknown-linux-musl/coreutils /bin/coreutils
+COPY --from=builder /root/coreutils-0.1.0-x86_64-unknown-linux-musl/coreutils /bin/coreutils
# Link /bin/bash to /bin/sh so podman can accept shell style RUN statements
RUN ["/coreutils", "ln", "-s", "/bin/bash", "/bin/sh"]
diff --git a/e2e_tests/guest_under_test/rootfs/Dockerfile b/e2e_tests/guest_under_test/rootfs/Dockerfile
index 0cf26ce..98f616d5 100644
--- a/e2e_tests/guest_under_test/rootfs/Dockerfile
+++ b/e2e_tests/guest_under_test/rootfs/Dockerfile
@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
ARG ARCH
-FROM ${ARCH}/debian:bookworm
+FROM docker.io/${ARCH}/debian:bookworm
RUN --mount=type=cache,target=/var/cache/apt,sharing=private \
--mount=type=cache,target=/var/lib/apt,sharing=private \