From 1fc5b0c52d15bc60dd897046c41968656748c819 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 28 Feb 2026 12:29:19 +0100 Subject: [PATCH 1/4] linux: Add version 6.18.15 --- linux-6.18.15-490.bee | 46 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 linux-6.18.15-490.bee diff --git a/linux-6.18.15-490.bee b/linux-6.18.15-490.bee new file mode 100755 index 000000000..35c54bb4b --- /dev/null +++ b/linux-6.18.15-490.bee @@ -0,0 +1,46 @@ +#!/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" +SRCURL[0]="https://beehive.molgen.mpg.de/b90b5a393b5ff21c78e2e3621ecdedec/mariux-6.18.15-490.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} INSTALL_MOD_STRIP=1 + make install INSTALL_PATH=${D}/boot + + rm -rf ${D}/lib/modules/${FULLKERNELVERSION}/{source,build} + + ln -sv bzImage-${FULLKERNELVERSION} ${D}/boot/mariux.${PKGREVISION} +} From 5a4b2ff4149db5f9ee05b3ecd850db6eb95d0e35 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Tue, 4 Aug 2026 15:52:03 +0200 Subject: [PATCH 2/4] linux: Update version from 6.18.15 to 6.18.42 Upstream changes between the two stable releases: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/log/?qt=range&q=v6.18.15..v6.18.42 --- linux-6.18.15-490.bee => linux-6.18.42-494.bee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename linux-6.18.15-490.bee => linux-6.18.42-494.bee (92%) diff --git a/linux-6.18.15-490.bee b/linux-6.18.42-494.bee similarity index 92% rename from linux-6.18.15-490.bee rename to linux-6.18.42-494.bee index 35c54bb4b..cf48f79ba 100755 --- a/linux-6.18.15-490.bee +++ b/linux-6.18.42-494.bee @@ -10,7 +10,7 @@ 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://beehive.molgen.mpg.de/b90b5a393b5ff21c78e2e3621ecdedec/mariux-6.18.15-490.tar.gz" +SRCURL[0]="https://beehive.molgen.mpg.de/48bb7eb1319c0e770e75045642e444b8/mariux-6.18.42-494.tar.gz" KERNELLOCAL=".mx64.${PKGREVISION}" FULLKERNELVERSION="${KERNELVERSION}${KERNELLOCAL}" From 48459529cae8a89ae992ba0616a340208a572e34 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Tue, 4 Aug 2026 17:16:40 +0200 Subject: [PATCH 3/4] nvidia_current: Add version 580.178.04 from 2026-07-13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 580.xx is the last branch supporting Maxwell, Pascal and Volta. From 590.xx on those GPUs are listed under the legacy driver instead, and the fleet still has GeForce GTX 980 Ti (GM200, Maxwell) in aros and heulsuse and Tesla V100 (GV100, Volta) in gameboycolor and hactar. So 580.xx is the newest branch that can be deployed for all cards. The GPU coverage is otherwise the same as in 570.144 — both start at Maxwell, Kepler stays on 470.xx — and the supported CUDA version grows from 12.8 to 13.0. Install libnvidia-nvvm70.so.4 explicitly. It is new in 580 and, like libnvidia-api.so.1, carries no 'PKGVERSION', so the loop over lib*.so.$PKGVERSION does not pick it up. https://download.nvidia.com/XFree86/Linux-x86_64/580.178.04/README/ --- nvidia_current-580.178.04-0.bee | 105 ++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100755 nvidia_current-580.178.04-0.bee diff --git a/nvidia_current-580.178.04-0.bee b/nvidia_current-580.178.04-0.bee new file mode 100755 index 000000000..678089054 --- /dev/null +++ b/nvidia_current-580.178.04-0.bee @@ -0,0 +1,105 @@ +#!/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/d20f1e92e9cbea30c9f0fa995d6c76ee/NVIDIA-Linux-x86_64-580.178.04.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 + + # libnvidia-nvvm70 was introduced with 580, but w/o a 'PKGVERSION' + install -v -t ${D}${LIBDIR} libnvidia-nvvm70.so.4 + + 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 cfb9470891aa4b16e613532fa7b0287051b7511f Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Tue, 4 Aug 2026 17:16:50 +0200 Subject: [PATCH 4/4] nvidia_linux: Build version 580.178.04 for linux 6.18.42-494 570.144, used for the 6.12.x kernels, cannot be used here. Linux 6.18 dropped the deprecated EXTRA_CFLAGS from kbuild, and 570.144 still sets its include paths with it, so the conftests pass but the compilation then fails because the driver's own headers are no longer found. 580.178.04 uses ccflags-y and builds all five modules cleanly. --- nvidia_linux-6.18.42-494-580.178.04-0.bee | 48 +++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100755 nvidia_linux-6.18.42-494-580.178.04-0.bee diff --git a/nvidia_linux-6.18.42-494-580.178.04-0.bee b/nvidia_linux-6.18.42-494-580.178.04-0.bee new file mode 100755 index 000000000..346b653ac --- /dev/null +++ b/nvidia_linux-6.18.42-494-580.178.04-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/d20f1e92e9cbea30c9f0fa995d6c76ee/NVIDIA-Linux-x86_64-580.178.04.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 +}