From cdd13bce88a09dae3bd7fffbef8ff96cc78cf7cb Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Mon, 23 Jan 2023 13:52:55 +0100 Subject: [PATCH 1/5] linux: Add LTS version 6.1.7 --- linux-6.1.7-446.bee | 50 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100755 linux-6.1.7-446.bee diff --git a/linux-6.1.7-446.bee b/linux-6.1.7-446.bee new file mode 100755 index 000000000..c2a547332 --- /dev/null +++ b/linux-6.1.7-446.bee @@ -0,0 +1,50 @@ +#!/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/db13f8c9b17b0be4a4b7a2294efaea0c/mariux-6.1.7-446.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_patch() { + echo "PATCH $@" + bee_patch $@ +} + +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 -v ${D}/lib/modules/${FULLKERNELVERSION}/{source,build} + + ln -sv bzImage-${FULLKERNELVERSION} ${D}/boot/mariux.${PKGREVISION} +} From 36025191861706880f778ab8d42379209bdf6749 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 19 Jul 2023 19:49:20 +0200 Subject: [PATCH 2/5] linux: Update version from 6.1.7-446 to 6.1.39-450 Configuration changes: * e4b7ea61ed17 config-mpi: Disable frame buffer drivers * 7a512c779620 config-mpi: Build DRM driver for simple platform-provided framebuffers (DRM_SIMPLE=y) * 852cdf42c063 config-mpi: Build coreboot framebuffer into Linux (GOOGLE_FRAMEBUFFER_COREBOOT=y) * cb243590078a config-mpi: Switch HID devices from Y to M * fc1d3133d7ff scsi: mpt3sas: Rate-limit scsi_dma_map() error messages * 6d44c56d3ca6 Revert "scsi: mpt3sas: Remove scsi_dma_map() error messages" * 415b450cb0a9 config-mpi: Built host kernel accelerator for virtio net as module (VHOST_NET=m) --- linux-6.1.7-446.bee | 50 --------------------------------------------- 1 file changed, 50 deletions(-) delete mode 100755 linux-6.1.7-446.bee diff --git a/linux-6.1.7-446.bee b/linux-6.1.7-446.bee deleted file mode 100755 index c2a547332..000000000 --- a/linux-6.1.7-446.bee +++ /dev/null @@ -1,50 +0,0 @@ -#!/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/db13f8c9b17b0be4a4b7a2294efaea0c/mariux-6.1.7-446.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_patch() { - echo "PATCH $@" - bee_patch $@ -} - -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 -v ${D}/lib/modules/${FULLKERNELVERSION}/{source,build} - - ln -sv bzImage-${FULLKERNELVERSION} ${D}/boot/mariux.${PKGREVISION} -} From 9300f4b92940368783e7f571c6edadeb98288a0f Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 21 Jul 2023 09:08:21 +0200 Subject: [PATCH 3/5] nvidia_linux: Build 510.60.03 for Linux 6.1.39-450 $ cp -a nvidia_linux-5.15.112-449-510.60.02-0.bee nvidia_linux-6.1.39-450-510.60.02-0.bee --- nvidia_linux-6.1.39-450-510.60.02-0.bee | 64 +++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100755 nvidia_linux-6.1.39-450-510.60.02-0.bee diff --git a/nvidia_linux-6.1.39-450-510.60.02-0.bee b/nvidia_linux-6.1.39-450-510.60.02-0.bee new file mode 100755 index 000000000..640c319b0 --- /dev/null +++ b/nvidia_linux-6.1.39-450-510.60.02-0.bee @@ -0,0 +1,64 @@ +#!/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/2288e18f3b767e66d465fb4add1df080/NVIDIA-Linux-x86_64-510.60.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() { + LINUXBUILDARCHIVE="${BEE_BUILDARCHIVEDIR}/${LINUXPKG}.beebuild.tar.bz2" + + print_info "extracting nvidia archive .." + + start_cmd rmdir ${S} + start_cmd sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S} + + if [ -d "/usr/src/linux/${LINUXPKG}/source" ] ; then + LINUXSRCDIR="/usr/src/linux/${LINUXPKG}/source" + elif [ -d "${BEE_TMP_TMPDIR}/${LINUXPKG}/source" ] ; then + LINUXSRCDIR="${BEE_TMP_TMPDIR}/${LINUXPKG}/source" + else + print_info "extracting linux build ${LINUXPKG} .." + start_cmd gtar -xf "${LINUXBUILDARCHIVE}" -C ${BEE_TMP_TMPDIR} + LINUXSRCDIR="${BEE_TMP_TMPDIR}/${LINUXPKG}/source" + fi + + print_info "using kernel sources from ${LINUXSRCDIR} .." +} + +mee_build_pre() { + ln -s ${LINUXSRCDIR}/include ${S}/include +} + +mee_build() { + IGNORE_CC_MISMATCH=1 \ + make SYSSRC=${LINUXSRCDIR} 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 c85ba78866e118e6aecb2ec4e92bf272b23bf06d Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 21 Jul 2023 09:28:47 +0200 Subject: [PATCH 4/5] nvidia_linux-6.1.39-450: Update version from 510.60.02 to 510.108.03 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 510.60.02 fails to build: CONFTEST: ib_peer_memory_symbols CC [M] /dev/shm/bee-pmenzel/nvidia/nvidia_linux-6.1.39-450-510.60.02-0/source/kernel/nvidia/nv.o /dev/shm/bee-pmenzel/nvidia/nvidia_linux-6.1.39-450-510.60.02-0/source/kernel/nvidia/nv.c: In function ‘nv_set_dma_address_size’: /dev/shm/bee-pmenzel/nvidia/nvidia_linux-6.1.39-450-510.60.02-0/source/kernel/nvidia/nv.c:2768:9: error: implicit declaration of function ‘pci_set_dma_mask’; did you mean ‘ipi_send_mask’? [-Werror=implicit-function-declaration] 2768 | pci_set_dma_mask(nvl->pci_dev, new_mask); | ^~~~~~~~~~~~~~~~ | ipi_send_mask /dev/shm/bee-pmenzel/nvidia/nvidia_linux-6.1.39-450-510.60.02-0/source/kernel/nvidia/nv.c:2774:9: error: implicit declaration of function ‘pci_set_consistent_dma_mask’ [-Werror=implicit-function-declaration] 2774 | pci_set_consistent_dma_mask(nvl->pci_dev, new_mask); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:250: /dev/shm/bee-pmenzel/nvidia/nvidia_linux-6.1.39-450-510.60.02-0/source/kernel/nvidia/nv.o] Error 1 https://docs.nvidia.com/datacenter/tesla/tesla-release-notes-510-108-03/index.html --- ...-510.60.02-0.bee => nvidia_linux-6.1.39-450-510.108.03-0.bee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename nvidia_linux-6.1.39-450-510.60.02-0.bee => nvidia_linux-6.1.39-450-510.108.03-0.bee (94%) diff --git a/nvidia_linux-6.1.39-450-510.60.02-0.bee b/nvidia_linux-6.1.39-450-510.108.03-0.bee similarity index 94% rename from nvidia_linux-6.1.39-450-510.60.02-0.bee rename to nvidia_linux-6.1.39-450-510.108.03-0.bee index 640c319b0..f5dfd34df 100755 --- a/nvidia_linux-6.1.39-450-510.60.02-0.bee +++ b/nvidia_linux-6.1.39-450-510.108.03-0.bee @@ -3,7 +3,7 @@ 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/2288e18f3b767e66d465fb4add1df080/NVIDIA-Linux-x86_64-510.60.02.run" +SRCURL[0]="https://beehive.molgen.mpg.de/a225bcb0373cbf6c552ed906bc5c614e/NVIDIA-Linux-x86_64-510.108.03.run" PATCHURL+=() From 23bde72a8c625f853f2217e454a9e4e6fdbd1633 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 21 Jul 2023 12:40:26 +0200 Subject: [PATCH 5/5] nvidia_current: Add version 510.108.03 Add the userspace part for driver version 510.108.03. Created with the command below and adapting the source URL: $ cp -a nvidia_current-510.60.02-1.bee nvidia_current-510.108.03-0.bee Tested on *sigusr2*: $ dmesg | grep -e "Linux version" -e "DMI:" ; dmesg --level=crit,alert,err,warn [ 0.000000] Linux version 6.1.39.mx64.450 (root@holidayincambodia.molgen.mpg.de) (gcc (GCC) 10.4.0, GNU ld (GNU Binutils) 2.40) #1 SMP PREEMPT_DYNAMIC Wed Jul 19 20:07:19 CEST 2023 [ 0.000000] DMI: Dell Inc. OptiPlex 7071/097YXY, BIOS 1.1.2 08/29/2019 [ 1.428282] Spectre V2 : WARNING: Unprivileged eBPF is enabled with eIBRS on, data leaks possible via Spectre v2 BHB attacks! [ 1.468459] ENERGY_PERF_BIAS: Set to 'normal', was 'performance' [ 2.645812] hpet_acpi_add: no address or irqs in _CRS [ 2.894418] usb: port power management may be unreliable [ 4.099489] wmi_bus wmi_bus-PNP0C14:04: WQBC data block query control method not found [ 14.880380] nvidia: loading out-of-tree module taints kernel. [ 14.886176] nvidia: module license 'NVIDIA' taints kernel. [ 14.891713] Disabling lock debugging due to kernel taint [ 15.273921] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 510.108.03 Thu Oct 20 05:10:45 UTC 2022 [ 15.302831] nvidia_uvm: module uses symbols nvUvmInterfaceDisableAccessCntr from proprietary module nvidia, inheriting taint. $ glxinfo | grep info server glx version string: 1.4 client glx version string: 1.4 GLX version: 1.4 OpenGL core profile version string: 4.6.0 NVIDIA 510.108.03 OpenGL core profile shading language version string: 4.60 NVIDIA OpenGL version string: 4.6.0 NVIDIA 510.108.03 OpenGL shading language version string: 4.60 NVIDIA OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 510.108.03 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 GL_EXT_shader_group_vote, GL_EXT_shader_implicit_conversions, --- nvidia_current-510.108.03-0.bee | 93 +++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100755 nvidia_current-510.108.03-0.bee diff --git a/nvidia_current-510.108.03-0.bee b/nvidia_current-510.108.03-0.bee new file mode 100755 index 000000000..f6ab2bb83 --- /dev/null +++ b/nvidia_current-510.108.03-0.bee @@ -0,0 +1,93 @@ +#!/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/a225bcb0373cbf6c552ed906bc5c614e/NVIDIA-Linux-x86_64-510.108.03.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-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 + 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} + install -v -c -m 644 ${i}.1.gz ${D}${PREFIX}/man/man1 + done + + mkdir -pv ${D}/lib/firmware/nvidia/${PKGVERSION} + install -v -c -m 644 firmware/gsp.bin ${D}/lib/firmware/nvidia/${PKGVERSION} + +}