Compare commits

...

2 Commits

Author SHA256 Message Date
4eae2621c9 Trying to build vpp 2026-04-08 21:13:21 +08:00
0c5f490dfc Temp commit, nothing works yet 2026-04-08 01:12:49 +08:00
13 changed files with 371 additions and 35 deletions

View File

@@ -64,7 +64,7 @@ DISK_SIZE="${DISK_SIZE:-8G}"
ROOTFS_IMG="${ROOTFS_IMG:-rootfs.ext4}" ROOTFS_IMG="${ROOTFS_IMG:-rootfs.ext4}"
ROOTFS_IMG_ZST="${ROOTFS_IMG_ZST:-rootfs.ext4.zst}" ROOTFS_IMG_ZST="${ROOTFS_IMG_ZST:-rootfs.ext4.zst}"
ROOTFS_PART_SIZE_MIB="${ROOTFS_PART_SIZE_MIB:-2048}" ROOTFS_PART_SIZE_MIB="${ROOTFS_PART_SIZE_MIB:-2560}"
FAKE_DEV="/tmp/dev" FAKE_DEV="/tmp/dev"
MNT_ROOTFS_IMG="/mnt/rootfs-img" MNT_ROOTFS_IMG="/mnt/rootfs-img"
@@ -183,8 +183,8 @@ truncate -s "$DISK_SIZE" "$IMG"
sgdisk -o "$IMG" \ sgdisk -o "$IMG" \
-n 1:2048:+64M -t 1:0700 -c 1:config \ -n 1:2048:+64M -t 1:0700 -c 1:config \
-n 2:0:+2G -t 2:8300 -c 2:rootfsA \ -n 2:0:+2560M -t 2:8300 -c 2:rootfsA \
-n 3:0:+2G -t 3:8300 -c 3:rootfsB \ -n 3:0:+2560M -t 3:8300 -c 3:rootfsB \
-n 4:0:0 -t 4:8300 -c 4:data -n 4:0:0 -t 4:8300 -c 4:data
losetup -D losetup -D

View File

@@ -1,4 +1,9 @@
#!/bin/sh #!/bin/sh
export PATH="/usr/local/bin:/usr/local/sbin:$PATH" export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
mkdir -p /dev/hugepages
mountpoint -q /dev/hugepages || mount -t hugetlbfs none /dev/hugepages
echo 256 > /proc/sys/vm/nr_hugepages
/usr/local/bin/ctl init --env-file /opt/monok8s/config/cluster.env >>/var/log/monok8s/bootstrap.log 2>&1 & /usr/local/bin/ctl init --env-file /opt/monok8s/config/cluster.env >>/var/log/monok8s/bootstrap.log 2>&1 &

View File

@@ -5,6 +5,9 @@ TAG=dev
# The Linux kernel, from NXP # The Linux kernel, from NXP
NXP_VERSION=lf-6.18.2-1.0.0 NXP_VERSION=lf-6.18.2-1.0.0
DPDK_VERSION=lf-6.18.2-1.0.0
VPP_VERSION=lf-6.18.2-1.0.0
CRIO_VERSION=cri-o.arm64.v1.33.3 CRIO_VERSION=cri-o.arm64.v1.33.3
KUBE_VERSION=v1.33.3 KUBE_VERSION=v1.33.3
@@ -12,7 +15,6 @@ KUBE_VERSION=v1.33.3
# We need fsl-ls1046a-rdb-sdk.dtb here # We need fsl-ls1046a-rdb-sdk.dtb here
DEVICE_TREE_TARGET=mono-gateway-dk-sdk DEVICE_TREE_TARGET=mono-gateway-dk-sdk
# Arch, should always be arm64 for our board. This is here in case branching off to other devices # Arch, should always be arm64 for our board. This is here in case branching off to other devices
ARCH=arm64 ARCH=arm64
@@ -32,3 +34,6 @@ ALPINE_HOSTNAME=monok8s-hostname
# Upper case [A-Z]_ only, used for naming env vars # Upper case [A-Z]_ only, used for naming env vars
BUILD_TAG=MONOK8S BUILD_TAG=MONOK8S
# Optional apt cache
APT_PROXY=apt-cacher-ng.eco-system.svc.cluster.local:3142

View File

@@ -0,0 +1,51 @@
ARG TAG=dev
ARG DOCKER_IMAGE_ROOT=monok8s
FROM alpine:3.22 AS build
RUN apk add --no-cache \
bash \
build-base \
linux-headers \
meson \
ninja \
pkgconf \
python3 \
py3-elftools \
coreutils \
file \
git \
bsd-compat-headers
RUN mkdir /src
WORKDIR /src
ARG DPDK_TAR
ARG DPDK_VERSION
COPY ${DPDK_TAR} /tmp/
RUN set -eux; \
mkdir -p /src/dpdk; \
tar -xf "/tmp/$(basename "${DPDK_TAR}")" -C /src/dpdk --strip-components=1
RUN set -eux; \
meson setup /src/dpdk/build /src/dpdk \
--buildtype=release \
-Dplatform=dpaa \
-Dtests=false \
-Ddisable_drivers=crypto/*,compress/*,baseband/*,dma/*,event/*,regex/*,ml/*,gpu/*,raw/*,net/pcap,net/tap,net/vhost,net/virtio,net/ixgbe,net/i40e,net/txgbe,net/ring,net/af_packet; \
meson configure /src/dpdk/build | tee /tmp/meson-config.txt; \
grep -Ei 'dpaa|platform|disable_drivers' /tmp/meson-config.txt || true; \
ninja -C /src/dpdk/build; \
DESTDIR=/out ninja -C /src/dpdk/build install
RUN set -eux; \
mkdir -p /artifact/bin; \
test -x /src/dpdk/build/app/dpdk-testpmd; \
cp -r /src/dpdk/build/app/dpdk-testpmd /artifact/bin/
FROM scratch AS export
COPY --from=build /out/ /
COPY --from=build /artifact/ /

View File

@@ -1,3 +1,5 @@
include ../build.env
# Should be the same as upstream version in production # Should be the same as upstream version in production
VERSION ?= dev VERSION ?= dev
UBOOT_VERSION=v2026.01 UBOOT_VERSION=v2026.01
@@ -12,12 +14,14 @@ BIN_DIR := bin
OUT_DIR := out OUT_DIR := out
UBOOT_TAR := $(PACKAGES_DIR)/uboot-$(UBOOT_VERSION).tar.gz UBOOT_TAR := $(PACKAGES_DIR)/uboot-$(UBOOT_VERSION).tar.gz
DPDK_TAR := $(PACKAGES_DIR)/dpdk/$(DPDK_VERSION).tar.gz
BUILDINFO_FILE := pkg/buildinfo/buildinfo_gen.go BUILDINFO_FILE := pkg/buildinfo/buildinfo_gen.go
CRD_PATHS := ./pkg/apis/... CRD_PATHS := ./pkg/apis/...
$(PACKAGES_DIR): $(PACKAGES_DIR):
mkdir -p $@ mkdir -p $@ \
$@/dpdk
# Never cache this # Never cache this
.buildinfo: .buildinfo:
@@ -33,6 +37,9 @@ $(PACKAGES_DIR):
')' \ ')' \
> $(BUILDINFO_FILE) > $(BUILDINFO_FILE)
$(DPDK_TAR): | $(PACKAGES_DIR)
curl -L -o $@ "https://github.com/nxp-qoriq/dpdk/archive/refs/tags/$(DPDK_VERSION).tar.gz"
$(UBOOT_TAR): | $(PACKAGES_DIR) $(UBOOT_TAR): | $(PACKAGES_DIR)
git clone --depth 1 --branch v2026.01 --filter=blob:none https://github.com/u-boot/u-boot.git $(OUT_DIR)/u-boot-$(UBOOT_VERSION) git clone --depth 1 --branch v2026.01 --filter=blob:none https://github.com/u-boot/u-boot.git $(OUT_DIR)/u-boot-$(UBOOT_VERSION)
tar -C "$(OUT_DIR)/u-boot-$(UBOOT_VERSION)" -zcf "$@" . tar -C "$(OUT_DIR)/u-boot-$(UBOOT_VERSION)" -zcf "$@" .
@@ -46,6 +53,15 @@ uboot-tools: $(UBOOT_TAR)
--build-arg UBOOT_TAR=$(UBOOT_TAR) \ --build-arg UBOOT_TAR=$(UBOOT_TAR) \
--output type=local,dest=./$(OUT_DIR) . --output type=local,dest=./$(OUT_DIR) .
dpdk: $(DPDK_TAR)
@mkdir -p $(OUT_DIR)/dpdk
docker buildx build --platform linux/arm64 \
-f docker/dpdk.Dockerfile \
--build-arg DOCKER_IMAGE_ROOT=$(DOCKER_IMAGE_ROOT) \
--build-arg TAG=$(TAG) \
--build-arg DPDK_TAR=$(DPDK_TAR) \
--output type=local,dest=./$(OUT_DIR)/dpdk .
build: .buildinfo build: .buildinfo
mkdir -p $(BIN_DIR) $(OUT_DIR)/crds mkdir -p $(BIN_DIR) $(OUT_DIR)/crds
controller-gen crd paths=$(CRD_PATHS) output:crd:dir=$(OUT_DIR)/crds controller-gen crd paths=$(CRD_PATHS) output:crd:dir=$(OUT_DIR)/crds
@@ -73,4 +89,4 @@ clean:
all: build build-agent build-local all: build build-agent build-local
.PHONY: clean all run .buildinfo build build-local build-agent uboot-tools .PHONY: clean all run .buildinfo build build-local build-agent uboot-tools dpdk

View File

@@ -52,12 +52,39 @@ type OSUpgradeList struct {
Items []OSUpgrade `json:"items" yaml:"items"` Items []OSUpgrade `json:"items" yaml:"items"`
} }
// OSUpgradeSpec defines the desired state of an OSUpgrade.
type OSUpgradeSpec struct { type OSUpgradeSpec struct {
// User request, can be "stable" or an explicit version like "v1.35.3". // DesiredVersion is the requested target version.
//
// It may be either:
// - "stable" to use the catalog's current stable version
// - an explicit version such as "v1.35.3"
//
// The resolved target version is reported in status.
// +kubebuilder:validation:MinLength=1
DesiredVersion string `json:"desiredVersion,omitempty" yaml:"desiredVersion,omitempty"` DesiredVersion string `json:"desiredVersion,omitempty" yaml:"desiredVersion,omitempty"`
// FlashProfile controls how aggressively the image is written to disk.
//
// Supported values are:
// - "fast": prioritize speed
// - "balanced": default tradeoff between speed and system impact
// - "safe": minimize I/O pressure on the node
//
// If unset, the controller should use a default profile.
// +kubebuilder:validation:Enum=fast;balanced;safe
// +kubebuilder:default=balanced
FlashProfile string `json:"flashProfile,omitempty"`
// Catalog specifies how available versions and images are resolved.
//
// This may point to a remote catalog, inline catalog data, or another source,
// depending on the VersionCatalogSource definition.
Catalog *VersionCatalogSource `json:"catalog,omitempty"` Catalog *VersionCatalogSource `json:"catalog,omitempty"`
// NodeSelector limits the upgrade to nodes whose labels match this selector.
//
// If unset, the upgrade applies to all eligible nodes.
NodeSelector *metav1.LabelSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"` NodeSelector *metav1.LabelSelector `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"`
} }

View File

@@ -27,8 +27,10 @@ RUN mkdir -p /out/rootfs/usr/local/bin/
COPY packages/kubernetes/kubelet-${KUBE_VERSION} /out/rootfs/usr/local/bin/kubelet 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/kubeadm-${KUBE_VERSION} /out/rootfs/usr/local/bin/kubeadm
COPY packages/kubernetes/kubectl-${KUBE_VERSION} /out/rootfs/usr/local/bin/kubectl COPY packages/kubernetes/kubectl-${KUBE_VERSION} /out/rootfs/usr/local/bin/kubectl
RUN chmod +x /out/rootfs/usr/local/bin/* # 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 alpine/rootfs-extra ./rootfs-extra
COPY out/build-info ./rootfs-extra/etc/profile.d/build-info.sh COPY out/build-info ./rootfs-extra/etc/profile.d/build-info.sh
COPY alpine/*.sh / COPY alpine/*.sh /
RUN chmod +x /out/rootfs/usr/local/bin/*

View File

@@ -4,41 +4,47 @@ ENV DEBIAN_FRONTEND=noninteractive
WORKDIR /build 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 \ RUN apt-get update && apt-get install -y --no-install-recommends \
bash \ bash \
bc \ bc \
bison \ bison \
build-essential \ build-essential \
cpio \ cpio \
ca-certificates \ ca-certificates \
curl \ curl \
dosfstools \ dosfstools \
file \ file \
fdisk \ fdisk \
fuse-overlayfs \ fuse-overlayfs \
gdisk \ gdisk \
e2fsprogs \ e2fsprogs \
flex \ flex \
git \ git \
gettext-base \ gettext-base \
jq \ jq \
kmod \ kmod \
libelf-dev \ libelf-dev \
libssl-dev \ libssl-dev \
make \ make \
pahole \ pahole \
parted \ parted \
perl \ perl \
pv \ pv \
python3 \ python3 \
qemu-user-static \ qemu-user-static \
podman \ podman \
skopeo \ skopeo \
rsync \ rsync \
tar \ tar \
udev \ udev \
xz-utils \ xz-utils \
zstd \ zstd \
dwarves \ dwarves \
gcc-aarch64-linux-gnu \ gcc-aarch64-linux-gnu \
binutils-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 \ u-boot-tools \
device-tree-compiler \ device-tree-compiler \
&& rm -rf /var/lib/apt/lists/* && 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-extra.config /tmp/kernel-extra.config
COPY kernel-build/dts/*.dts ./arch/arm64/boot/dts/freescale/ 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$" \ RUN grep -q "^dtb-\\\$(CONFIG_ARCH_LAYERSCAPE) += ${DEVICE_TREE_TARGET}.dtb$" \
arch/arm64/boot/dts/freescale/Makefile \ 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"]

92
docs/dpdk_vpp.md Normal file
View File

@@ -0,0 +1,92 @@
# DPDK and VPP
This is pain.
I'm not able to build dpdk / vpp for alpine aarch64.
## DPDK
Testing with dpdk-testpmd. Does not seem to like the NIC layout we have here.
We get this error complaining when some NICs controlled by linux
```
# dpdk-testpmd -a dpaa_bus:fm1-mac9 -a dpaa_bus:fm1-mac10 -- -i
EAL: Detected CPU lcores: 4estpmd -a dpaa_bus:fm1-mac9 -a dpaa_bus:fm1-mac10 -- -i
EAL: Detected NUMA nodes: 1
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: Error parsing /proc/mounts
EAL: Error parsing /proc/mounts
EAL: Error parsing /proc/mounts
EAL: VFIO support initialized
dpaa: This is LS1046A family SoC.
dpaa: FMan version is 0x06
dpaa: /soc/fsl,dpaa/ethernet@1: no fsl,qman-frame-queues-rx(2)
dpaa: if_init(/soc/fsl,dpaa/ethernet@1)(2)
dpaa: FMAN driver init failed (2)
dpaa: netcfg failed: /dev/fsl_usdpaa device not available
dpaa: Check if you are using USDPAA based device tree
TELEMETRY: No legacy callbacks, legacy socket not created
testpmd: No probed ethernet devices
Interactive-mode selected
testpmd: create a new mbuf pool <mb_pool_0>: n=171456, size=2176, socket=0
testpmd: preferred mempool ops selected: ring_mp_mc
Done
testpmd> quit
```
Works only when all interfaces are handed over
```
# dpdk-testpmd -a dpaa_bus:fm1-mac9 -a dpaa_bus:fm1-mac10 -- -i
EAL: Detected CPU lcores: 4
EAL: Detected NUMA nodes: 1
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
dpaa: This is LS1046A family SoC.
dpaa: FMan version is 0x06
dpaa: DPAA Bus Detected
TELEMETRY: No legacy callbacks, legacy socket not created
Interactive-mode selected
testpmd: create a new mbuf pool <mb_pool_0>: n=171456, size=2176, socket=0
testpmd: preferred mempool ops selected: dpaa
Configuring Port 0 (socket 0)
Port 0: link state change event
Port 0: E8:F6:D7:00:1E:95
Configuring Port 1 (socket 0)
Port 1: link state change event
Port 1: E8:F6:D7:00:1E:96
Checking link statuses...
Done
testpmd> quit
Stopping port 0...
Stopping ports...
Done
Stopping port 1...
Stopping ports...
Done
Shutting down port 0...
Closing ports...
Port 0: link state change event
Port 0 is closed
Done
Shutting down port 1...
Closing ports...
Port 1: link state change event
Port 1 is closed
Done
Bye...
```
## VPP
Can't even build. The toolchain is messy. So many errors to plow through. I gave up.

View File

@@ -21,6 +21,19 @@
reg = <0x00 0xaa000000 0x00 0x4000000 0x00 0xae000000 0x00 0x6000000>; reg = <0x00 0xaa000000 0x00 0x4000000 0x00 0xae000000 0x00 0x6000000>;
}; };
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
usdpaa_mem: usdpaa_mem {
compatible = "fsl,usdpaa-mem";
alloc-ranges = <0 0 0x10000 0>;
size = <0 0x10000000>; // 256MB
alignment = <0 0x10000000>;
};
};
cpus { cpus {
fman0-extended-args { fman0-extended-args {
cell-index = <0x00>; cell-index = <0x00>;
@@ -199,6 +212,29 @@
* SDK driver expectations (0-5 instead of mainline 2-7). * SDK driver expectations (0-5 instead of mainline 2-7).
* Port@82000 with cell-index=0 becomes the HC port for PCD. * Port@82000 with cell-index=0 becomes the HC port for PCD.
*/ */
bp7: buffer-pool@7 {
compatible = "fsl,ls1046a-bpool", "fsl,bpool";
fsl,bpid = <7>;
fsl,bpool-ethernet-cfg = <0 0 0 192 0 0xdeadbeef>;
fsl,bpool-thresholds = <0x400 0xc00 0x0 0x0>;
dma-coherent;
};
bp8: buffer-pool@8 {
compatible = "fsl,ls1046a-bpool", "fsl,bpool";
fsl,bpid = <8>;
fsl,bpool-ethernet-cfg = <0 0 0 576 0 0xabbaf00d>;
fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
dma-coherent;
};
bp9: buffer-pool@9 {
compatible = "fsl,ls1046a-bpool", "fsl,bpool";
fsl,bpid = <9>;
fsl,bpool-ethernet-cfg = <0 0 0 2048 0 0xfeedabba>;
fsl,bpool-thresholds = <0x100 0x300 0x0 0x0>;
dma-coherent;
};
pcie@3400000 { pcie@3400000 {
/delete-property/ iommu-map; /delete-property/ iommu-map;
@@ -216,15 +252,13 @@
}; };
&fsldpaa { &fsldpaa {
ethernet@0 { compatible = "fsl,ls1046a", "fsl,dpaa", "simple-bus";
status = "disabled"; /* MAC1 - not on Mono Gateway DK */ dma-coherent;
};
ethernet@2 {
status = "disabled"; /* MAC3 - not on Mono Gateway DK */ ethernet@0 { status = "disabled"; }; /* MAC1 - not on Mono Gateway DK */
}; ethernet@2 { status = "disabled"; }; /* MAC3 - not on Mono Gateway DK */
ethernet@3 { ethernet@3 { status = "disabled"; }; /* MAC4 - not on Mono Gateway DK */
status = "disabled"; /* MAC4 - not on Mono Gateway DK */
};
/* Enabled from qoriq-dpaa-eth.dtsi: /* Enabled from qoriq-dpaa-eth.dtsi:
* ethernet@1 = enet1 = MAC2 * ethernet@1 = enet1 = MAC2
@@ -233,11 +267,19 @@
* ethernet@8 = enet6 = MAC9 (10G) * ethernet@8 = enet6 = MAC9 (10G)
*/ */
ethernet@8 {
compatible = "fsl,dpa-ethernet-init";
fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
fsl,qman-frame-queues-rx = <0x5c 1 0x5d 1>;
fsl,qman-frame-queues-tx = <0x7c 1 0x7d 1>;
};
/* Add MAC10 - not in qoriq-dpaa-eth.dtsi */ /* Add MAC10 - not in qoriq-dpaa-eth.dtsi */
ethernet@9 { ethernet@9 {
compatible = "fsl,dpa-ethernet"; compatible = "fsl,dpa-ethernet-init";
fsl,fman-mac = <&enet7>; fsl,bman-buffer-pools = <&bp7 &bp8 &bp9>;
dma-coherent; fsl,qman-frame-queues-rx = <0x5c 1 0x5d 1>;
fsl,qman-frame-queues-tx = <0x7c 1 0x7d 1>;
}; };
}; };

View File

@@ -10,6 +10,7 @@ E2FSPROGS_TAR := $(PACKAGES_DIR)/e2fsprogs-$(E2FSPROGS_VERSION).tar.gz
BUSYBOX_TAR := $(PACKAGES_DIR)/busybox-$(BUSYBOX_VERSION).tar.gz BUSYBOX_TAR := $(PACKAGES_DIR)/busybox-$(BUSYBOX_VERSION).tar.gz
ALPINE_TAR := $(PACKAGES_DIR)/alpine-minirootfs-$(ALPINE_VER)-$(ALPINE_ARCH).tar.gz ALPINE_TAR := $(PACKAGES_DIR)/alpine-minirootfs-$(ALPINE_VER)-$(ALPINE_ARCH).tar.gz
NXP_TAR := $(PACKAGES_DIR)/$(NXP_VERSION).tar.gz NXP_TAR := $(PACKAGES_DIR)/$(NXP_VERSION).tar.gz
VPP_TAR := $(PACKAGES_DIR)/vpp/v26.02.tar.gz
CRIO_TAR := $(PACKAGES_DIR)/$(CRIO_VERSION).tar.gz CRIO_TAR := $(PACKAGES_DIR)/$(CRIO_VERSION).tar.gz
# Kubernetes components # Kubernetes components
@@ -104,8 +105,9 @@ RELEASE_DEPS := \
# ---- Directory creation ------------------------------------------------------ # ---- Directory creation ------------------------------------------------------
$(PACKAGES_DIR): $(PACKAGES_DIR):
mkdir -p $@ mkdir -p $@ \
mkdir -p $@/kubernetes $@/kubernetes \
$@/vpp
$(OUT_DIR): $(OUT_DIR):
mkdir -p $@ mkdir -p $@
@@ -126,6 +128,9 @@ $(BUSYBOX_TAR): | $(PACKAGES_DIR)
$(E2FSPROGS_TAR): | $(PACKAGES_DIR) $(E2FSPROGS_TAR): | $(PACKAGES_DIR)
curl -L -o $@ "https://github.com/tytso/e2fsprogs/archive/refs/tags/v$(E2FSPROGS_VERSION).tar.gz" curl -L -o $@ "https://github.com/tytso/e2fsprogs/archive/refs/tags/v$(E2FSPROGS_VERSION).tar.gz"
$(VPP_TAR): | $(PACKAGES_DIR)
curl -L -o $@ "https://github.com/nxp-qoriq/vpp/archive/refs/tags/$(VPP_VERSION).tar.gz"
$(ALPINE_TAR): | $(PACKAGES_DIR) $(ALPINE_TAR): | $(PACKAGES_DIR)
curl -L -o $@ "https://dl-cdn.alpinelinux.org/alpine/v$(ALPINE_SERIES)/releases/$(ALPINE_ARCH)/alpine-minirootfs-$(ALPINE_VER)-$(ALPINE_ARCH).tar.gz" curl -L -o $@ "https://dl-cdn.alpinelinux.org/alpine/v$(ALPINE_SERIES)/releases/$(ALPINE_ARCH)/alpine-minirootfs-$(ALPINE_VER)-$(ALPINE_ARCH).tar.gz"
@@ -149,6 +154,7 @@ $(BUILD_INFO_FILE):
$(BUILD_BASE_STAMP): $(BUILD_BASE_DEPS) | $(OUT_DIR) $(BUILD_BASE_STAMP): $(BUILD_BASE_DEPS) | $(OUT_DIR)
docker build \ docker build \
-f docker/build-base.Dockerfile \ -f docker/build-base.Dockerfile \
--build-arg APT_PROXY=$(APT_PROXY) \
--build-arg TAG=$(TAG) \ --build-arg TAG=$(TAG) \
-t $(DOCKER_IMAGE_ROOT)/build-base:$(TAG) . -t $(DOCKER_IMAGE_ROOT)/build-base:$(TAG) .
@iid=$$(docker image inspect monok8s/build-base:$(TAG) | jq -r '.[].Id' | cut -d':' -f2 | cut -c -8); \ @iid=$$(docker image inspect monok8s/build-base:$(TAG) | jq -r '.[].Id' | cut -d':' -f2 | cut -c -8); \
@@ -183,6 +189,16 @@ $(INITRAMFS): $(INITRAMFS_DEPS) | $(OUT_DIR)
$(CLITOOLS_BIN): $(CLITOOLS_SRCS) $(CLITOOLS_BIN): $(CLITOOLS_SRCS)
$(MAKE) -C clitools build-agent $(MAKE) -C clitools build-agent
vpp: $(VPP_TAR)
@mkdir -p $(OUT_DIR)/vpp
docker buildx build --platform linux/arm64 \
-f docker/vpp.Dockerfile \
--build-arg APT_PROXY=$(APT_PROXY) \
--build-arg DOCKER_IMAGE_ROOT=$(DOCKER_IMAGE_ROOT) \
--build-arg TAG=$(TAG) \
--build-arg VPP_TAR=$(VPP_TAR) \
-t $(DOCKER_IMAGE_ROOT)/vpp:$(TAG) .
$(BOARD_ITB): $(ITB_DEPS) | $(OUT_DIR) $(BOARD_ITB): $(ITB_DEPS) | $(OUT_DIR)
docker build \ docker build \
-f docker/itb.Dockerfile \ -f docker/itb.Dockerfile \
@@ -273,4 +289,5 @@ pkgclean:
rm -rf $(PACKAGES_DIR) rm -rf $(PACKAGES_DIR)
.PHONY: release kernel initramfs itb build-base clitools clean distclean pkgclean \ .PHONY: release kernel initramfs itb build-base clitools clean distclean pkgclean \
vpp \
cluster-config cluster-defconfig cluster-print cluster-config cluster-defconfig cluster-print