From aef2192a6584e7934086eae0caab6faba52a8ac1 Mon Sep 17 00:00:00 2001 From: Noel Georgi Date: Fri, 9 Jun 2023 00:06:55 +0530 Subject: [PATCH] chore: use fixed module list Use a fixed list of modules to copy into Talos initramfs. This makes sure we can still enable thing in Talos kernel as modules but not ship it as default in Talos (extra modules could be extensions). Also fixes: #7341 Signed-off-by: Noel Georgi --- Dockerfile | 38 ++++++++++++++++--- Makefile | 2 +- hack/modules-amd64.txt | 18 +++++++++ hack/modules-arm64.txt | 14 +++++++ pkg/machinery/gendata/data/pkgs | 2 +- .../configuration/nvidia-gpu-proprietary.md | 2 +- 6 files changed, 68 insertions(+), 8 deletions(-) create mode 100644 hack/modules-amd64.txt create mode 100644 hack/modules-arm64.txt diff --git a/Dockerfile b/Dockerfile index e8b4c8208..b5911d0fb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -482,13 +482,41 @@ LABEL org.opencontainers.image.source https://github.com/siderolabs/talos ENTRYPOINT ["/talosctl"] # The kernel target is the linux kernel. - FROM scratch AS kernel ARG TARGETARCH COPY --from=pkg-kernel /boot/vmlinuz /vmlinuz-${TARGETARCH} -# The rootfs target provides the Talos rootfs. +FROM tools AS depmod-amd64 +WORKDIR /staging +COPY hack/modules-amd64.txt . +COPY --from=pkg-kernel-amd64 /lib/modules lib/modules +RUN </dev/null | cpio -H newc -o | xz -v -C crc32 -0 -e -T 0 -z >/usr/install/${TARGETARCH}/initramfs.xz \ && rm -rf /rootfs \ diff --git a/Makefile b/Makefile index dabeee525..dd47c6bc2 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ NAME = Talos ARTIFACTS := _out TOOLS ?= ghcr.io/siderolabs/tools:v1.5.0-alpha.0-14-ge0c76c0 -PKGS ?= v1.5.0-alpha.0-23-ga859f4f +PKGS ?= v1.5.0-alpha.0-24-g1eefa66 EXTRAS ?= v1.5.0-alpha.0-1-ga73d524 # renovate: datasource=github-tags depName=golang/go GO_VERSION ?= 1.20 diff --git a/hack/modules-amd64.txt b/hack/modules-amd64.txt new file mode 100644 index 000000000..7f3a4d025 --- /dev/null +++ b/hack/modules-amd64.txt @@ -0,0 +1,18 @@ +kernel/drivers/infiniband/sw/rxe/rdma_rxe.ko +kernel/drivers/net/ethernet/mellanox/mlx4/mlx4_core.ko +kernel/drivers/net/ethernet/mellanox/mlx4/mlx4_en.ko +kernel/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko +kernel/drivers/net/ethernet/mellanox/mlxfw/mlxfw.ko +kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_core.ko +kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c.ko +kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_minimal.ko +kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci.ko +kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_spectrum.ko +kernel/drivers/virtio/virtio_balloon.ko +kernel/drivers/virtio/virtio_input.ko +kernel/drivers/virtio/virtio_mmio.ko +kernel/drivers/virtio/virtio_pci.ko +kernel/drivers/virtio/virtio_pci_legacy_dev.ko +kernel/drivers/virtio/virtio_pci_modern_dev.ko +kernel/lib/objagg.ko +kernel/lib/parman.ko diff --git a/hack/modules-arm64.txt b/hack/modules-arm64.txt new file mode 100644 index 000000000..ecd955f5d --- /dev/null +++ b/hack/modules-arm64.txt @@ -0,0 +1,14 @@ +kernel/drivers/infiniband/sw/rxe/rdma_rxe.ko +kernel/drivers/irqchip/irq-imx-mu-msi.ko +kernel/drivers/mailbox/bcm-flexrm-mailbox.ko +kernel/drivers/net/ethernet/mellanox/mlx4/mlx4_core.ko +kernel/drivers/net/ethernet/mellanox/mlx4/mlx4_en.ko +kernel/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko +kernel/drivers/net/ethernet/mellanox/mlxfw/mlxfw.ko +kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_core.ko +kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c.ko +kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_minimal.ko +kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci.ko +kernel/drivers/net/ethernet/mellanox/mlxsw/mlxsw_spectrum.ko +kernel/lib/objagg.ko +kernel/lib/parman.ko diff --git a/pkg/machinery/gendata/data/pkgs b/pkg/machinery/gendata/data/pkgs index 93ca6fbc1..101609a03 100644 --- a/pkg/machinery/gendata/data/pkgs +++ b/pkg/machinery/gendata/data/pkgs @@ -1 +1 @@ -v1.5.0-alpha.0-23-ga859f4f \ No newline at end of file +v1.5.0-alpha.0-24-g1eefa66 \ No newline at end of file diff --git a/website/content/v1.5/talos-guides/configuration/nvidia-gpu-proprietary.md b/website/content/v1.5/talos-guides/configuration/nvidia-gpu-proprietary.md index ddd909776..1ecbcb8e8 100644 --- a/website/content/v1.5/talos-guides/configuration/nvidia-gpu-proprietary.md +++ b/website/content/v1.5/talos-guides/configuration/nvidia-gpu-proprietary.md @@ -64,7 +64,7 @@ COPY --from=ghcr.io/talos-user/kernel:{{< release >}}-nvidia /boot/vmlinuz /usr/ Now build the image and push it to the registry. ```bash -DOCKER_BUILDKIT=0 docker build --squash --build-arg RM="/lib/modules" -t ghcr.io/talos-user/installer:{{< release >}}-nvidia . +DOCKER_BUILDKIT=0 docker build --squash -t ghcr.io/talos-user/installer:{{< release >}}-nvidia . docker push ghcr.io/talos-user/installer:{{< release >}}-nvidia ```