Trying to build vpp

This commit is contained in:
2026-04-08 21:13:21 +08:00
parent 0c5f490dfc
commit 4eae2621c9
12 changed files with 284 additions and 54 deletions

View File

@@ -27,9 +27,9 @@ RUN mkdir -p /out/rootfs/usr/local/bin/
COPY packages/kubernetes/kubelet-${KUBE_VERSION} /out/rootfs/usr/local/bin/kubelet
COPY packages/kubernetes/kubeadm-${KUBE_VERSION} /out/rootfs/usr/local/bin/kubeadm
COPY packages/kubernetes/kubectl-${KUBE_VERSION} /out/rootfs/usr/local/bin/kubectl
COPY clitools/out/dpdk/bin/dpdk-testpmd /out/rootfs/usr/local/bin/dpdk-testpmd
COPY clitools/out/dpdk/usr/local/lib/*.so* /out/rootfs/usr/local/lib/
COPY clitools/out/dpdk/usr/local/lib/dpdk/pmds-23.0/*.so* /out/rootfs/usr/local/lib/dpdk/pmds-23.0/
# COPY clitools/out/dpdk/bin/dpdk-testpmd /out/rootfs/usr/local/bin/dpdk-testpmd
# COPY clitools/out/dpdk/usr/local/lib/*.so* /out/rootfs/usr/local/lib/
# COPY clitools/out/dpdk/usr/local/lib/dpdk/pmds-23.0/*.so* /out/rootfs/usr/local/lib/dpdk/pmds-23.0/
COPY alpine/rootfs-extra ./rootfs-extra
COPY out/build-info ./rootfs-extra/etc/profile.d/build-info.sh
COPY alpine/*.sh /

View File

@@ -4,41 +4,47 @@ ENV DEBIAN_FRONTEND=noninteractive
WORKDIR /build
ARG APT_PROXY
RUN if [ -n "${APT_PROXY}" ]; then \
echo "Acquire::http::Proxy \"http://${APT_PROXY}\";" > /etc/apt/apt.conf.d/01proxy; \
fi
RUN apt-get update && apt-get install -y --no-install-recommends \
bash \
bc \
bison \
build-essential \
cpio \
ca-certificates \
ca-certificates \
curl \
dosfstools \
file \
fdisk \
fdisk \
fuse-overlayfs \
gdisk \
gdisk \
e2fsprogs \
flex \
git \
gettext-base \
jq \
jq \
kmod \
libelf-dev \
libssl-dev \
make \
pahole \
parted \
parted \
perl \
pv \
pv \
python3 \
qemu-user-static \
podman \
skopeo \
qemu-user-static \
podman \
skopeo \
rsync \
tar \
udev \
udev \
xz-utils \
zstd \
zstd \
dwarves \
gcc-aarch64-linux-gnu \
binutils-aarch64-linux-gnu \
@@ -47,4 +53,3 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
u-boot-tools \
device-tree-compiler \
&& rm -rf /var/lib/apt/lists/*

View File

@@ -23,6 +23,7 @@ WORKDIR /build/nxplinux
COPY kernel-extra.config /tmp/kernel-extra.config
COPY kernel-build/dts/*.dts ./arch/arm64/boot/dts/freescale/
COPY kernel-build/scripts/patch_usdpaa_dts.py /usr/local/bin/patch_usdpaa_dts.py
RUN grep -q "^dtb-\\\$(CONFIG_ARCH_LAYERSCAPE) += ${DEVICE_TREE_TARGET}.dtb$" \
arch/arm64/boot/dts/freescale/Makefile \

73
docker/vpp.Dockerfile Normal file
View File

@@ -0,0 +1,73 @@
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
WORKDIR /src
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
curl \
gnupg \
lsb-release \
&& rm -rf /var/lib/apt/lists/*
# Add FD.io release repo (Jammy / arm64 packages exist for v26.02)
RUN set -eux; \
mkdir -p /etc/apt/keyrings; \
curl -fsSL https://packagecloud.io/fdio/release/gpgkey \
| gpg --dearmor -o /etc/apt/keyrings/fdio-release.gpg; \
echo "deb [signed-by=/etc/apt/keyrings/fdio-release.gpg] https://packagecloud.io/fdio/release/ubuntu/ jammy main" \
> /etc/apt/sources.list.d/fdio-release.list; \
apt-get update; \
apt-get install -y --no-install-recommends \
vpp=26.02-release \
vpp-plugin-core=26.02-release \
vpp-plugin-dpdk=26.02-release; \
rm -rf /var/lib/apt/lists/*
RUN mkdir -p /etc/vpp /run/vpp
RUN cat > /etc/vpp/startup.conf <<'EOF'
unix {
nodaemon
cli-listen /run/vpp/cli.sock
log /dev/stderr
full-coredump
}
api-trace {
on
}
cpu {
main-core 0
}
plugins {
plugin default { disable }
plugin dpdk_plugin.so { enable }
}
dpdk {
no-pci
dev dpaa_bus:fm1-mac9
dev dpaa_bus:fm1-mac10
}
EOF
RUN cat > /usr/local/bin/docker-entrypoint.sh <<'EOF'
#!/bin/sh
set -eu
mkdir -p /run/vpp
echo "=== device check ==="
ls -l /dev/fsl-usdpaa /dev/fsl-usdpaa-irq 2>/dev/null || true
echo "=== sysfs check ==="
ls -l /sys/class/net 2>/dev/null || true
exec /usr/bin/vpp -c /etc/vpp/startup.conf "$@"
EOF
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]