Message ID | 20231207135318.1912846-2-Henry.Wang@arm.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | automation: Support running FVP Dom0 smoke test for Arm | expand |
On Thu, 7 Dec 2023, Henry Wang wrote: > Fixed Virtual Platforms (FVPs) are complete simulations of an Arm > system, including processor, memory and peripherals. These are set > out in a "programmer's view", which gives programmers a comprehensive > model on which to build and test software. FVP can be configured to > different setups by its cmdline parameters, and hence having the FVP > in CI will provide us with the flexibility to test Arm features and > setups that we find difficult to use real hardware or emulators. > > This commit adds a Dockerfile for the new arm64v8 container with > FVP installed, based on the debian bookworm-arm64v8 image. This > container will be used to run the FVP test jobs. Compared to the > debian bookworm-arm64v8 image, the packages in the newly added FVP > container does not contain the `u-boot-qemu`, and adds the `expect` > to run expect scripts introduced by following commits, `telnet` to > connect to FVP, and `tftpd-hpa` to provide the TFTP service for > the FVP. > > Signed-off-by: Henry Wang <Henry.Wang@arm.com> > --- > .../debian/bookworm-arm64v8-fvp.dockerfile | 64 +++++++++++++++++++ > 1 file changed, 64 insertions(+) > create mode 100644 automation/build/debian/bookworm-arm64v8-fvp.dockerfile > > diff --git a/automation/build/debian/bookworm-arm64v8-fvp.dockerfile b/automation/build/debian/bookworm-arm64v8-fvp.dockerfile > new file mode 100644 > index 0000000000..3b87dc5a5b > --- /dev/null > +++ b/automation/build/debian/bookworm-arm64v8-fvp.dockerfile Please move this container under automation/tests-artifacts/ because the container is only meant to be used for tests as opposed as to build Xen. I know that in other cases we have reused the build container but that just because it was already there an working for the purpose. Also please name it based on the fvp rather than debian: automation/tests-artifacts/armfvp/11.23_9-arm64v8.dockerfile Everything else looks fine. > @@ -0,0 +1,64 @@ > +FROM --platform=linux/arm64/v8 debian:bookworm > +LABEL maintainer.name="The Xen Project" \ > + maintainer.email="xen-devel@lists.xenproject.org" > + > +ARG FVP_BASE_VERSION="11.23_9_Linux64_armv8l" > + > +ENV DEBIAN_FRONTEND=noninteractive > +ENV USER root > + > +RUN mkdir /build > +WORKDIR /build > + > +# build depends > +RUN apt-get update && \ > + apt-get --quiet --yes install \ > + build-essential \ > + zlib1g-dev \ > + libncurses5-dev \ > + libssl-dev \ > + python3-dev \ > + python3-setuptools \ > + xorg-dev \ > + uuid-dev \ > + libyajl-dev \ > + libaio-dev \ > + libglib2.0-dev \ > + clang \ > + libpixman-1-dev \ > + pkg-config \ > + flex \ > + bison \ > + acpica-tools \ > + libfdt-dev \ > + bin86 \ > + bcc \ > + liblzma-dev \ > + libnl-3-dev \ > + ocaml-nox \ > + libfindlib-ocaml-dev \ > + markdown \ > + transfig \ > + pandoc \ > + checkpolicy \ > + wget \ > + git \ > + nasm \ > + # for test phase, fvp-smoke-* jobs > + u-boot-tools \ > + expect \ > + device-tree-compiler \ > + curl \ > + cpio \ > + busybox-static \ > + telnet \ > + tftpd-hpa \ > + && \ > + apt-get autoremove -y && \ > + apt-get clean && \ > + rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/* > + > +RUN wget https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FVP_Base_RevC-2xAEMvA_${FVP_BASE_VERSION}.tgz && \ > + mkdir -p /FVP/FVP_Base_RevC-2xAEMvA && \ > + tar -xvzf FVP_Base_RevC-2xAEMvA_${FVP_BASE_VERSION}.tgz -C /FVP/FVP_Base_RevC-2xAEMvA && \ > + rm FVP_Base_RevC-2xAEMvA_${FVP_BASE_VERSION}.tgz > -- > 2.25.1 >
On Thu, 7 Dec 2023, Stefano Stabellini wrote: > On Thu, 7 Dec 2023, Henry Wang wrote: > > Fixed Virtual Platforms (FVPs) are complete simulations of an Arm > > system, including processor, memory and peripherals. These are set > > out in a "programmer's view", which gives programmers a comprehensive > > model on which to build and test software. FVP can be configured to > > different setups by its cmdline parameters, and hence having the FVP > > in CI will provide us with the flexibility to test Arm features and > > setups that we find difficult to use real hardware or emulators. > > > > This commit adds a Dockerfile for the new arm64v8 container with > > FVP installed, based on the debian bookworm-arm64v8 image. This > > container will be used to run the FVP test jobs. Compared to the > > debian bookworm-arm64v8 image, the packages in the newly added FVP > > container does not contain the `u-boot-qemu`, and adds the `expect` > > to run expect scripts introduced by following commits, `telnet` to > > connect to FVP, and `tftpd-hpa` to provide the TFTP service for > > the FVP. > > > > Signed-off-by: Henry Wang <Henry.Wang@arm.com> > > --- > > .../debian/bookworm-arm64v8-fvp.dockerfile | 64 +++++++++++++++++++ > > 1 file changed, 64 insertions(+) > > create mode 100644 automation/build/debian/bookworm-arm64v8-fvp.dockerfile > > > > diff --git a/automation/build/debian/bookworm-arm64v8-fvp.dockerfile b/automation/build/debian/bookworm-arm64v8-fvp.dockerfile > > new file mode 100644 > > index 0000000000..3b87dc5a5b > > --- /dev/null > > +++ b/automation/build/debian/bookworm-arm64v8-fvp.dockerfile > > Please move this container under automation/tests-artifacts/ because the > container is only meant to be used for tests as opposed as to build Xen. > I know that in other cases we have reused the build container but that > just because it was already there an working for the purpose. > > Also please name it based on the fvp rather than debian: > > automation/tests-artifacts/armfvp/11.23_9-arm64v8.dockerfile > > Everything else looks fine. I take it back. We even have automation/build/ubuntu/xenial-xilinx.dockerfile and automation/build/debian/bookworm-cppcheck.dockerfile At one point I think we should separate the build containers from the ones we use for testing but I won't ask it here. Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
diff --git a/automation/build/debian/bookworm-arm64v8-fvp.dockerfile b/automation/build/debian/bookworm-arm64v8-fvp.dockerfile new file mode 100644 index 0000000000..3b87dc5a5b --- /dev/null +++ b/automation/build/debian/bookworm-arm64v8-fvp.dockerfile @@ -0,0 +1,64 @@ +FROM --platform=linux/arm64/v8 debian:bookworm +LABEL maintainer.name="The Xen Project" \ + maintainer.email="xen-devel@lists.xenproject.org" + +ARG FVP_BASE_VERSION="11.23_9_Linux64_armv8l" + +ENV DEBIAN_FRONTEND=noninteractive +ENV USER root + +RUN mkdir /build +WORKDIR /build + +# build depends +RUN apt-get update && \ + apt-get --quiet --yes install \ + build-essential \ + zlib1g-dev \ + libncurses5-dev \ + libssl-dev \ + python3-dev \ + python3-setuptools \ + xorg-dev \ + uuid-dev \ + libyajl-dev \ + libaio-dev \ + libglib2.0-dev \ + clang \ + libpixman-1-dev \ + pkg-config \ + flex \ + bison \ + acpica-tools \ + libfdt-dev \ + bin86 \ + bcc \ + liblzma-dev \ + libnl-3-dev \ + ocaml-nox \ + libfindlib-ocaml-dev \ + markdown \ + transfig \ + pandoc \ + checkpolicy \ + wget \ + git \ + nasm \ + # for test phase, fvp-smoke-* jobs + u-boot-tools \ + expect \ + device-tree-compiler \ + curl \ + cpio \ + busybox-static \ + telnet \ + tftpd-hpa \ + && \ + apt-get autoremove -y && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/* + +RUN wget https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FVP_Base_RevC-2xAEMvA_${FVP_BASE_VERSION}.tgz && \ + mkdir -p /FVP/FVP_Base_RevC-2xAEMvA && \ + tar -xvzf FVP_Base_RevC-2xAEMvA_${FVP_BASE_VERSION}.tgz -C /FVP/FVP_Base_RevC-2xAEMvA && \ + rm FVP_Base_RevC-2xAEMvA_${FVP_BASE_VERSION}.tgz
Fixed Virtual Platforms (FVPs) are complete simulations of an Arm system, including processor, memory and peripherals. These are set out in a "programmer's view", which gives programmers a comprehensive model on which to build and test software. FVP can be configured to different setups by its cmdline parameters, and hence having the FVP in CI will provide us with the flexibility to test Arm features and setups that we find difficult to use real hardware or emulators. This commit adds a Dockerfile for the new arm64v8 container with FVP installed, based on the debian bookworm-arm64v8 image. This container will be used to run the FVP test jobs. Compared to the debian bookworm-arm64v8 image, the packages in the newly added FVP container does not contain the `u-boot-qemu`, and adds the `expect` to run expect scripts introduced by following commits, `telnet` to connect to FVP, and `tftpd-hpa` to provide the TFTP service for the FVP. Signed-off-by: Henry Wang <Henry.Wang@arm.com> --- .../debian/bookworm-arm64v8-fvp.dockerfile | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 automation/build/debian/bookworm-arm64v8-fvp.dockerfile