From a97de9bf1ce859be3dc3452fa82a7338a6bb5010 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 24 Jan 2025 13:23:10 +0100 Subject: [PATCH 1/5] linux: Add version 6.12.11-479 The configuration has the *ice* driver enabled as a module to support the Ethernet Controller E810-XXV for SFP [8086:159b], assembled of the Dell PowerEdge R7625: @lucy:~$ lspci -nn -k -s 64: 64:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller E810-XXV for SFP [8086:159b] (rev 02) Subsystem: Intel Corporation Ethernet 25G 2P E810-XXV Adapter [8086:0002] 64:00.1 Ethernet controller [0200]: Intel Corporation Ethernet Controller E810-XXV for SFP [8086:159b] (rev 02) Subsystem: Intel Corporation Ethernet 25G 2P E810-XXV Adapter [8086:0002] With the module /lib/modules/6.12.11.mx64.479/kernel/drivers/net/ethernet/intel/ice/ice.ko the cards are detected: @lucy:~$ lspci -nn -k -s 64: 64:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller E810-XXV for SFP [8086:159b] (rev 02) Subsystem: Intel Corporation Ethernet 25G 2P E810-XXV Adapter [8086:0002] Kernel driver in use: ice Kernel modules: ice 64:00.1 Ethernet controller [0200]: Intel Corporation Ethernet Controller E810-XXV for SFP [8086:159b] (rev 02) Subsystem: Intel Corporation Ethernet 25G 2P E810-XXV Adapter [8086:0002] Kernel driver in use: ice Kernel modules: ice @lucy:~$ dmesg | grep -e 'ice:' -e 'ice 0' [ 15.341509] ice: Intel(R) Ethernet Connection E800 Series Linux Driver [ 15.341514] ice: Copyright (c) 2018, Intel Corporation. [ 15.586009] ice 0000:64:00.0: Direct firmware load for intel/ice/ddp/ice.pkg failed with error -2 [ 15.595493] ice 0000:64:00.0: The DDP package file was not found or could not be read. Entering Safe Mode [ 15.605102] ice 0000:64:00.0: Fail during requesting FW: -2 [ 15.611582] ice 0000:64:00.0: not enough device MSI-X vectors. wanted = 66, available = 2 [ 15.619774] ice 0000:64:00.0: Reducing request to 1 MSI-X vectors for LAN traffic. [ 15.688001] ice 0000:64:00.0: RDMA is not supported on this device [ 15.981639] ice 0000:64:00.1: Direct firmware load for intel/ice/ddp/ice.pkg failed with error -2 [ 15.991138] ice 0000:64:00.1: The DDP package file was not found or could not be read. Entering Safe Mode [ 16.000756] ice 0000:64:00.1: Fail during requesting FW: -2 [ 16.007192] ice 0000:64:00.1: not enough device MSI-X vectors. wanted = 66, available = 2 [ 16.015396] ice 0000:64:00.1: Reducing request to 1 MSI-X vectors for LAN traffic. [ 16.101219] ice 0000:64:00.1: RDMA is not supported on this device [ 17.655913] ice 0000:64:00.0 net02: renamed from eth2 [ 17.664870] ice 0000:64:00.1 net03: renamed from eth3 [ 2720.297227] ice 0000:64:00.1 net03: NIC Link is up 10 Gbps Full Duplex, Requested FEC: NONE, Negotiated FEC: NONE, Autoneg Advertised: On, Autoneg Negotiated: False, Flow Control: None The firmware issue is going to be fixed later. Resolves: https://github.molgen.mpg.de/mariux64/bee-files/issues/3199 --- linux-6.12.11-479.bee | 45 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 linux-6.12.11-479.bee diff --git a/linux-6.12.11-479.bee b/linux-6.12.11-479.bee new file mode 100755 index 000000000..fa1792930 --- /dev/null +++ b/linux-6.12.11-479.bee @@ -0,0 +1,45 @@ +#!/bin/env beesh + +# note: BEE_MAKEFLAGS="-j $(nproc)" ./linux-xxx.bee + +KERNELVERSION=${PKGVERSION} + +# append extra version to get for example 4.8-rc4 +KERNELVERSION=${KERNELVERSION}${PKGEXTRAVERSION_DASH} + +echo $KERNELVERSION + +SRCURL[0]="https://github.molgen.mpg.de/mariux64/linux/archive/refs/tags/mariux-$KERNELVERSION-$PKGREVISION.tar.gz" + +KERNELLOCAL=".mx64.${PKGREVISION}" +FULLKERNELVERSION="${KERNELVERSION}${KERNELLOCAL}" + +B=${S} + +same_revision_files=$(ls ${BEE_PKGDIR}/linux-[0-9].[0-9]*-${PKGREVISION}.x86_64.bee.* 2>/dev/null) \ + && echo "A kernel with revision ${PKGREVISION} has already been build: $same_revision_files" \ + && exit + + +mee_configure() { + echo "configure $@" + echo "CONFIG_LOCALVERSION=\"$KERNELLOCAL\"" > .config + grep -v 'CONFIG_LOCALVERSION=' config-mpi >> .config + make olddefconfig +} + +mee_build() { + echo "build $@" + make ${BEE_MAKEFLAGS} +} + +mee_install() { + echo "install $@" + + make modules_install INSTALL_MOD_PATH=${D} + make install INSTALL_PATH=${D}/boot + + rm -rf ${D}/lib/modules/${FULLKERNELVERSION}/{source,build} + + ln -sv bzImage-${FULLKERNELVERSION} ${D}/boot/mariux.${PKGREVISION} +} From 35c89934e5f5000ec8a2716af3df7324c11d015b Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 24 Jan 2025 13:25:09 +0100 Subject: [PATCH 2/5] linux-6.12.11-479: Download source archive from beehive.molgen.mpg.de MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [BEE] fetching https://github.molgen.mpg.de/mariux64/linux/archive/refs/tags/mariux-6.12.11-479.tar.gz --2025-01-24 13:24:02-- https://github.molgen.mpg.de/mariux64/linux/archive/refs/tags/mariux-6.12.11-479.tar.gz Resolving github.molgen.mpg.de... 141.14.220.169 Connecting to github.molgen.mpg.de|141.14.220.169|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://github.molgen.mpg.de/_codeload/mariux64/linux/tar.gz/refs/tags/mariux-6.12.11-479 [following] --2025-01-24 13:24:02-- https://github.molgen.mpg.de/_codeload/mariux64/linux/tar.gz/refs/tags/mariux-6.12.11-479 Reusing existing connection to github.molgen.mpg.de:443. HTTP request sent, awaiting response... 200 OK Length: 245031655 (234M) [application/x-gzip] Saving to: ‘/dev/shm/bee-pmenzel/linux/files/mariux-6.12.11-479.tar.gz.tmp’ /dev/shm/bee-pmenzel/linu 100%[=====================================>] 233.68M 112MB/s in 2.1s 2025-01-24 13:24:05 (112 MB/s) - ‘/dev/shm/bee-pmenzel/linux/files/mariux-6.12.11-479.tar.gz.tmp’ saved [245031655/245031655] -rw-r--r-- 1 root root 245031655 Jan 24 13:24 /dev/shm/bee-pmenzel/linux/files/mariux-6.12.11-479.tar.gz.tmp --- linux-6.12.11-479.bee | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/linux-6.12.11-479.bee b/linux-6.12.11-479.bee index fa1792930..6b9d231ce 100755 --- a/linux-6.12.11-479.bee +++ b/linux-6.12.11-479.bee @@ -9,7 +9,8 @@ KERNELVERSION=${KERNELVERSION}${PKGEXTRAVERSION_DASH} echo $KERNELVERSION -SRCURL[0]="https://github.molgen.mpg.de/mariux64/linux/archive/refs/tags/mariux-$KERNELVERSION-$PKGREVISION.tar.gz" +#SRCURL[0]="https://github.molgen.mpg.de/mariux64/linux/archive/refs/tags/mariux-$KERNELVERSION-$PKGREVISION.tar.gz" +SRCURL[0]="https://beehive.molgen.mpg.de/d80277dd7a2144b533d24d765f398f18/mariux-6.12.11-479.tar.gz" KERNELLOCAL=".mx64.${PKGREVISION}" FULLKERNELVERSION="${KERNELVERSION}${KERNELLOCAL}" From bcadbcd1fa175292e82c713933d4ab96c9ec7a48 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 24 Jan 2025 15:36:11 +0100 Subject: [PATCH 3/5] nvidia_current: Add version 535.230.02 from 2025-01-02 https://docs.nvidia.com/datacenter/tesla/tesla-release-notes-535-230-02/index.html https://download.nvidia.com/XFree86/Linux-x86_64/535.230.02/README/ --- nvidia_current-535.230.02-0.bee | 102 ++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100755 nvidia_current-535.230.02-0.bee diff --git a/nvidia_current-535.230.02-0.bee b/nvidia_current-535.230.02-0.bee new file mode 100755 index 000000000..89f6f225e --- /dev/null +++ b/nvidia_current-535.230.02-0.bee @@ -0,0 +1,102 @@ +#!/bin/env beesh + +# resources: +# http://www.nvidia.com/object/unix.html +# ./README.txt +# ./.manifest +# https://github.com/NVIDIA/nvidia-installer +# ./nvidia-installer -A +# ./nvidia-installer --ui=none --accept-license --no-kernel-module --expert +# + +NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}${PKGEXTRAVERSION:+-${PKGEXTRAVERSION}}.run" + +#SRCURL[0]="https://de.download.nvidia.com/XFree86/Linux-x86_64/$PKGVERSION/NVIDIA-Linux-x86_64-$PKGVERSION.run" +SRCURL[0]="https://beehive.molgen.mpg.de/2e34184b91fa9bcc7cc5d4f8707ef0d6/NVIDIA-Linux-x86_64-535.230.02.run" + + +BEE_CONFIGURE=none + +build_in_sourcedir + +PREFIX=/usr/share/nvidia/${PKGVERSION} +LIBDIR=${PREFIX}/lib +BINDIR=${PREFIX}/bin + +# fix tar option for user namespace usage (`unshare -U -r BEEFILE`) +export TAR_OPTIONS=--no-same-owner + +mee_extract() { + rmdir ${S} + sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S} +} + +#mee_patch() { +# bee_patch +#} + +mee_build() { + #bee_build + true +} + +mee_install() { + #bee_install + + mkdir -pv ${D}${PREFIX}/{bin,lib,drivers,man/man1} + mkdir -pv ${D}/usr/lib + + NVDRV="nvidia_drv.so" + + NVBIN=( \ + "nvidia-cuda-mps-control" \ + "nvidia-cuda-mps-server" \ + "nvidia-debugdump" \ + "nvidia-modprobe" \ + "nvidia-persistenced" \ + "nvidia-settings" \ + "nvidia-smi" \ + "nvidia-xconfig" \ + ) + + for i in lib*.so.$PKGVERSION; do + install -v -t ${D}${LIBDIR} "$i" + ln -sv "${LIBDIR}/$i" ${D}/usr/lib/ + if soname="$(soname "$i")"; then + #echo "$soname\n" + test -e "${D}${LIBDIR}/${soname}" || ln -sv "$i" "${D}${LIBDIR}/${soname}" + fi + done + + # libglxserver_nvidia.so should reside in /usr/lib/xorg/modules/extensions, + # here we cheat away and stay in line with the /node/usr_share_mxgfx mechanism. + # Additional note: don't put/link libglx.so into /usr/lib. + ln -sv libglxserver_nvidia.so.$PKGVERSION ${D}${LIBDIR}/libglxserver_nvidia.so + + # libnvidia-api was introduced with 525, but w/o a 'PKGVERSION' + install -v -t ${D}${LIBDIR} libnvidia-api.so.1 + + mkdir -vp ${D}/usr/lib/xorg/modules/extensions + + cd ${D}/usr/lib/xorg/modules/extensions + ln -sv /usr/share/mxgfx/lib/libglxserver_nvidia.so libglxserver_nvidia.so + cd $B + + echo "installing ${NVDRV} as drivers/$(basename ${NVDRV})"; + install -c -v ${NVDRV} ${D}${PREFIX}/drivers + + mkdir -pv ${D}/usr/share/man/man1 + + for i in ${NVBIN[@]} ; do + echo "installing ${i} as bin/${i}" + install -v -c -m 755 ${i} ${D}${BINDIR} + if [ -e ${i}.1.gz ]; then + install -v -c -m 644 ${i}.1.gz ${D}${PREFIX}/man/man1 + fi + done + + mkdir -pv ${D}/lib/firmware/nvidia/${PKGVERSION} + install -v -c -m 644 firmware/gsp_ga10x.bin ${D}/lib/firmware/nvidia/${PKGVERSION} + install -v -c -m 644 firmware/gsp_tu10x.bin ${D}/lib/firmware/nvidia/${PKGVERSION} + +} From a5c149bbfe12d17df9e8c6c80e2e633329ed249d Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 24 Jan 2025 15:27:30 +0100 Subject: [PATCH 4/5] nvidia_linux: Build 535.230.02 for Linux 6.12.11-479 --- nvidia_linux-6.12.11-479-535.230.02-0.bee | 48 +++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100755 nvidia_linux-6.12.11-479-535.230.02-0.bee diff --git a/nvidia_linux-6.12.11-479-535.230.02-0.bee b/nvidia_linux-6.12.11-479-535.230.02-0.bee new file mode 100755 index 000000000..ec4e3c4aa --- /dev/null +++ b/nvidia_linux-6.12.11-479-535.230.02-0.bee @@ -0,0 +1,48 @@ +#!/bin/env beesh + +NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}.run" + +#SRCURL[0]="https://de.download.nvidia.com/XFree86/Linux-x86_64/$PKGVERSION/NVIDIA-Linux-x86_64-$PKGVERSION.run" +SRCURL[0]="https://beehive.molgen.mpg.de/2e34184b91fa9bcc7cc5d4f8707ef0d6/NVIDIA-Linux-x86_64-535.230.02.run" + +PATCHURL+=() + +LINUXPKG=${PKGEXTRANAME}.${ARCH} + +LINUXKLOCALVER=$(beeversion --format "%v.mx64.%r" "${LINUXPKG}") + +# '4.4.mx64.75' to '4.4.0.mx64.75' +if [[ $LINUXKLOCALVER =~ ^([0-9]+\.[0-9]+)(\.mx64.*) ]]; then + LINUXKLOCALVER="${BASH_REMATCH[1]}.0${BASH_REMATCH[2]}" +fi + + +build_in_sourcedir +sourcesubdir_append kernel + +: ${BEE_TMP_TMPDIR:=/tmp} + +# fix tar option for user namespace usage (`unshare -U -r BEEFILE`) +export TAR_OPTIONS=--no-same-owner + +mee_extract() { + rmdir ${S} + start_cmd sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S} + + if [ ! -d "${BEE_TMP_TMPDIR}/${LINUXPKG}/source" ] ; then + start_cmd gtar -xf ${BEE_BUILDARCHIVEDIR}/${LINUXPKG}.beebuild.tar.bz2 -C ${BEE_TMP_TMPDIR} + fi + LINUXSRCDIR="${BEE_TMP_TMPDIR}/${LINUXPKG}/source" +} + +mee_build() { + make SYSSRC=${LINUXSRCDIR} CC=gcc module +} + +mee_install() { + mkdir -pv ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${PKGVERSION} + + cp -v *.ko ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${PKGVERSION}/ + + ln -s ${PKGVERSION} ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/current +} From 73ff43e5b02e3844e5e9f0914e77aecb0de479e2 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Mon, 27 Jan 2025 15:24:11 +0100 Subject: [PATCH 5/5] linux-firmware: intel/ice/ddp: Create symbolic link ice.pkg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Linux 6.12.11 currently logs: $ dmesg --level alert,crit,err,warn -T [Fri Jan 24 15:55:01 2025] Spectre V2 : WARNING: Unprivileged eBPF is enabled with eIBRS on, data leaks possible via Spectre v2 BHB attacks! [Fri Jan 24 15:55:07 2025] Could not retrieve perf counters (-19) [Fri Jan 24 15:55:08 2025] amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled [Fri Jan 24 15:55:08 2025] scsi 0:0:4:0: set ignore_delay_remove for handle(0x0012) [Fri Jan 24 15:55:14 2025] wmi_bus wmi_bus-PNP0C14:00: [Firmware Bug]: WQBC data block query control method not found [Fri Jan 24 15:55:15 2025] ice 0000:64:00.0: Direct firmware load for intel/ice/ddp/ice.pkg failed with error -2 [Fri Jan 24 15:55:15 2025] ice 0000:64:00.0: The DDP package file was not found or could not be read. Entering Safe Mode [Fri Jan 24 15:55:15 2025] ice 0000:64:00.0: Fail during requesting FW: -2 [Fri Jan 24 15:55:15 2025] ice 0000:64:00.0: not enough device MSI-X vectors. wanted = 66, available = 2 [Fri Jan 24 15:55:15 2025] ice 0000:64:00.0: RDMA is not supported on this device [Fri Jan 24 15:55:15 2025] ice 0000:64:00.1: Direct firmware load for intel/ice/ddp/ice.pkg failed with error -2 [Fri Jan 24 15:55:15 2025] ice 0000:64:00.1: The DDP package file was not found or could not be read. Entering Safe Mode [Fri Jan 24 15:55:15 2025] ice 0000:64:00.1: Fail during requesting FW: -2 [Fri Jan 24 15:55:15 2025] ice 0000:64:00.1: not enough device MSI-X vectors. wanted = 66, available = 2 [Fri Jan 24 15:55:15 2025] ice 0000:64:00.1: RDMA is not supported on this device Create the symbolic link as described in [linux-firmware’s file `WHENCE`][1]: Link: intel/ice/ddp/ice.pkg -> ice-1.3.30.0.pkg Another [note from Intel’s (out-of-tree) driver repository][2]: > When the driver loads, it looks for "intel/ice/ddp/ice.pkg" in the > firmware root. If this file exists, the driver will download it into > the device. If not, the driver will go into Safe Mode where it will > use the configuration contained in the device's NVM. This is NOT a > supported configuration and many advanced features will not be > functional. See Dynamic Device Personalization later for more > information. With the file in place, the file is found and loaded: @lucy:~$ dmesg | grep -e 'ice:' -e 'ice 0' [ 15.387151] ice: Intel(R) Ethernet Connection E800 Series Linux Driver [ 15.393747] ice: Copyright (c) 2018, Intel Corporation. [ 15.938213] ice 0000:64:00.0: The DDP package was successfully loaded: ICE OS Default Package version 1.3.30.0 [ 16.002318] ice 0000:64:00.0: 126.024 Gb/s available PCIe bandwidth (16.0 GT/s PCIe x8 link) [ 16.044946] ice 0000:64:00.0: PTP init successful [ 16.373684] ice 0000:64:00.1: DDP package already present on device: ICE OS Default Package version 1.3.30.0 [ 16.494252] ice 0000:64:00.1: 126.024 Gb/s available PCIe bandwidth (16.0 GT/s PCIe x8 link) [ 16.536377] ice 0000:64:00.1: PTP init successful [ 18.309869] ice 0000:64:00.0 net02: renamed from eth2 [ 18.319624] ice 0000:64:00.1 net03: renamed from eth3 [ 18.538539] ice 0000:64:00.1 net03: NIC Link is up 10 Gbps Full Duplex, Requested FEC: NONE, Negotiated FEC: NONE, Autoneg Advertised: On, Autoneg Negotiated: False, Flow Control: None Increment revision number to 2. [1]: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/WHENCE?id=789aa81504126c2b062d04aacea1570af950ad4f#n5860 [2]: https://github.com/intel/ethernet-linux-ice/blob/16ca173a04cea377e96ee27faa0d2ce4798fb456/README#L162-L182 --- linux-firmware.be0 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/linux-firmware.be0 b/linux-firmware.be0 index eca3bf745..510e7ddad 100755 --- a/linux-firmware.be0 +++ b/linux-firmware.be0 @@ -1,6 +1,6 @@ #!/usr/bin/env beesh -# BEE_VERSION linux-firmware-20230804_p7_g789aa815-1 +# BEE_VERSION linux-firmware-20230804_p7_g789aa815-2 #SRCURL[0]="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-789aa81504126c2b062d04aacea1570af950ad4f.tar.gz" SRCURL[0]="https://beehive.molgen.mpg.de/5bcf7abbd3e88c64e24caf7f2f7370cc/linux-firmware-789aa81504126c2b062d04aacea1570af950ad4f.tar.gz" @@ -38,4 +38,5 @@ mee_install() { cp -ax ${S}/radeon $D/lib/firmware cp -ax ${S}/rtl_nic $D/lib/firmware cp -ax ${S}/intel $D/lib/firmware + ln -sv ice-1.3.30.0.pkg $D/lib/firmware/intel/ice/ddp/ice.pkg }