From 783c80dde652ec356f1c3a5cfabbfa3be1b5ab42 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 8 Sep 2017 17:07:56 +0200 Subject: [PATCH 1/5] Revert "Merge pull request #483 from mariux64/add-linux-4.9.48" This reverts commit 5d764a9e09b9372b8a000e5ba2b341465a133748, reversing changes made to 4dd003525fee91b40b2fc9bb8b80af6347a7fd2e. The Nvidia drivers are missing, and the revision is incorrect. --- linux-4.9.48-171.bee | 83 -------------------------------------------- 1 file changed, 83 deletions(-) delete mode 100755 linux-4.9.48-171.bee diff --git a/linux-4.9.48-171.bee b/linux-4.9.48-171.bee deleted file mode 100755 index 0d14f9df8..000000000 --- a/linux-4.9.48-171.bee +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/env beesh - -# note: CONFIG=/boot/config-WHATEVER BEE_MAKEFLAGS='-j 40' ./linux-xxx.bee - -KERNELVERSION=${PKGVERSION} -if [ -z "${PKGVERSION[3]}" ] ; then - KERNELVERSION=${KERNELVERSION}.0 -fi - -# append extra version to get for example 4.8.0-rc4 -KERNELVERSION=${KERNELVERSION}${PKGEXTRAVERSION_DASH} - -echo $KERNELVERSION - -SRCURL[0]="https://cdn.kernel.org/pub/linux/kernel/v${PKGVERSION[1]}.x/linux-${PKGVERSION}${PKGEXTRAVERSION_DASH}.tar.xz" - -PATCHURL+=(/src/mariux/patches/0001-iomap-fix-integer-truncation-issues-in-the-zeroing-a.patch) -PATCHURL+=(/src/mariux/patches/linux-0001-SUNRPC-Refactor-svc_set_num_threads.patch) -PATCHURL+=(/src/mariux/patches/linux-0002-NFSv4-Fix-callback-server-shutdown.patch) - -# EXCLUDE="" - -#CONFIG= - -KERNELLOCAL=".mx64.${PKGREVISION}" -FULLKERNELVERSION="${KERNELVERSION}${KERNELLOCAL}" - -B=${S} - -mee_patch() { - echo "PATCH $@" - bee_patch $@ -} - -mee_configure() { - echo "configure $@" - if [ -e /proc/config.gz ] ; then - zcat /proc/config.gz >config-current - RUNNING=config-current - else - RUNNING=/boot/config-$(uname -r) - fi - - : ${CONFIG:=${RUNNING}} - - if [ ! -e ${CONFIG} ] ; then - echo "can't find config '${CONFIG}'" - exit 1 - fi - - cp -v ${CONFIG} .config - - LOCALVERSION="\"${KERNELLOCAL}\"" - sed -i -e "s@CONFIG_LOCALVERSION=.*@CONFIG_LOCALVERSION=${LOCALVERSION}@" .config - - echo "doing make -C ${S} olddefconfig in ${PWD} .." - - make olddefconfig - - echo "doing make -C ${S} menuconfig in ${PWD} .." - - make menuconfig -} - -mee_build() { - echo "build $@" - make ${BEE_MAKEFLAGS} -} - -mee_install() { - echo "install $@" - - make modules_install INSTALL_MOD_PATH=${D} - make install INSTALL_PATH=${D}/boot -# make firmware_install INSTALL_MOD_PATH=${D} - - rm -v ${D}/lib/modules/${FULLKERNELVERSION}/{source,build} - - ln -sv /usr/src/linux/${PKGALLPKG}/source ${D}/lib/modules/${FULLKERNELVERSION}/source - ln -sv /usr/src/linux/${PKGALLPKG}/build ${D}/lib/modules/${FULLKERNELVERSION}/build - - ln -sv bzImage-${FULLKERNELVERSION} ${D}/boot/mariux.${PKGREVISION} -} From 50a433feb5c03d8d6ef2d36db4a1412a8e28628a Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 8 Sep 2017 16:06:14 +0200 Subject: [PATCH 2/5] linux: Add LTS version 4.9.48 We are going to backport two patches. Update to the latest release first. Include config changes suggested by Thomas an accepted by dvteam meeting: buczek@theinternet:~/git$ diff /boot/config-4.9.43.mx64.170 /boot/config-4.9.48.mx64.175 3c3 < # Linux/x86 4.9.43 Kernel Configuration --- > # Linux/x86 4.9.48 Kernel Configuration 56c56 < CONFIG_LOCALVERSION=".mx64.170" --- > CONFIG_LOCALVERSION=".mx64.175" 411c411 < CONFIG_MK8=y --- > # CONFIG_MK8 is not set 415c415 < # CONFIG_GENERIC_CPU is not set --- > CONFIG_GENERIC_CPU=y 418,419d417 < CONFIG_X86_INTEL_USERCOPY=y < CONFIG_X86_USE_PPRO_CHECKSUM=y 501c499 < # CONFIG_COMPACTION is not set --- > CONFIG_COMPACTION=y 512c510,513 < # CONFIG_TRANSPARENT_HUGEPAGE is not set --- > CONFIG_TRANSPARENT_HUGEPAGE=y > CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y > # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set > CONFIG_TRANSPARENT_HUGE_PAGECACHE=y 528c529,531 < # CONFIG_MTRR_SANITIZER is not set --- > CONFIG_MTRR_SANITIZER=y > CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 > CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 3620a3624 > # CONFIG_DEV_DAX is not set 4414a4419 > CONFIG_RADIX_TREE_MULTIORDER=y buczek@theinternet:~/git$ Note: CONFIG_MK8 and CONFIG_GENERIC_CPU are mutually exclusive. --- linux-4.9.48-175.bee | 81 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100755 linux-4.9.48-175.bee diff --git a/linux-4.9.48-175.bee b/linux-4.9.48-175.bee new file mode 100755 index 000000000..d4b8ad81f --- /dev/null +++ b/linux-4.9.48-175.bee @@ -0,0 +1,81 @@ +#!/bin/env beesh + +# note: CONFIG=/boot/config-WHATEVER BEE_MAKEFLAGS='-j 40' ./linux-xxx.bee + +KERNELVERSION=${PKGVERSION} +if [ -z "${PKGVERSION[3]}" ] ; then + KERNELVERSION=${KERNELVERSION}.0 +fi + +# append extra version to get for example 4.8.0-rc4 +KERNELVERSION=${KERNELVERSION}${PKGEXTRAVERSION_DASH} + +echo $KERNELVERSION + +SRCURL[0]="https://cdn.kernel.org/pub/linux/kernel/v${PKGVERSION[1]}.x/linux-${PKGVERSION}${PKGEXTRAVERSION_DASH}.tar.xz" + +PATCHURL+=(/src/mariux/patches/0001-iomap-fix-integer-truncation-issues-in-the-zeroing-a.patch) + +# EXCLUDE="" + +#CONFIG= + +KERNELLOCAL=".mx64.${PKGREVISION}" +FULLKERNELVERSION="${KERNELVERSION}${KERNELLOCAL}" + +B=${S} + +mee_patch() { + echo "PATCH $@" + bee_patch $@ +} + +mee_configure() { + echo "configure $@" + if [ -e /proc/config.gz ] ; then + zcat /proc/config.gz >config-current + RUNNING=config-current + else + RUNNING=/boot/config-$(uname -r) + fi + + : ${CONFIG:=${RUNNING}} + + if [ ! -e ${CONFIG} ] ; then + echo "can't find config '${CONFIG}'" + exit 1 + fi + + cp -v ${CONFIG} .config + + LOCALVERSION="\"${KERNELLOCAL}\"" + sed -i -e "s@CONFIG_LOCALVERSION=.*@CONFIG_LOCALVERSION=${LOCALVERSION}@" .config + + echo "doing make -C ${S} olddefconfig in ${PWD} .." + + make olddefconfig + + echo "doing make -C ${S} menuconfig in ${PWD} .." + + make menuconfig +} + +mee_build() { + echo "build $@" + make ${BEE_MAKEFLAGS} +} + +mee_install() { + echo "install $@" + + make modules_install INSTALL_MOD_PATH=${D} + make install INSTALL_PATH=${D}/boot +# make firmware_install INSTALL_MOD_PATH=${D} + + rm -v ${D}/lib/modules/${FULLKERNELVERSION}/{source,build} + + ln -sv /usr/src/linux/${PKGALLPKG}/source ${D}/lib/modules/${FULLKERNELVERSION}/source + ln -sv /usr/src/linux/${PKGALLPKG}/build ${D}/lib/modules/${FULLKERNELVERSION}/build + + ln -sv bzImage-${FULLKERNELVERSION} ${D}/boot/mariux.${PKGREVISION} +} From f326e95428d02bb75b13ef7b7e6da9e035befb5d Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 8 Sep 2017 16:12:14 +0200 Subject: [PATCH 3/5] linux-4.9.48: Backport NFS patches from mainline We have a problem with 4.9 kernels. Processes "NFSv4 callback" accumulate. This may be the bug described here: https://bugzilla.redhat.com/show_bug.cgi?id=1427493 There are patches available in the mainline: * https://www.spinics.net/lists/linux-nfs/msg63334.html * https://www.spinics.net/lists/linux-nfs/msg63335.html * https://www.spinics.net/lists/linux-nfs/msg63336.html Apply these patches. --- linux-4.9.48-175.bee | 2 ++ 1 file changed, 2 insertions(+) diff --git a/linux-4.9.48-175.bee b/linux-4.9.48-175.bee index d4b8ad81f..0d14f9df8 100755 --- a/linux-4.9.48-175.bee +++ b/linux-4.9.48-175.bee @@ -15,6 +15,8 @@ echo $KERNELVERSION SRCURL[0]="https://cdn.kernel.org/pub/linux/kernel/v${PKGVERSION[1]}.x/linux-${PKGVERSION}${PKGEXTRAVERSION_DASH}.tar.xz" PATCHURL+=(/src/mariux/patches/0001-iomap-fix-integer-truncation-issues-in-the-zeroing-a.patch) +PATCHURL+=(/src/mariux/patches/linux-0001-SUNRPC-Refactor-svc_set_num_threads.patch) +PATCHURL+=(/src/mariux/patches/linux-0002-NFSv4-Fix-callback-server-shutdown.patch) # EXCLUDE="" From 625a8d415ec4a4ad978d05a8ef410b6411aa7605 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 8 Sep 2017 17:16:30 +0200 Subject: [PATCH 4/5] nvidia_linux: Build 340.102 for Linux 4.9.48 --- nvidia_linux-4.9.48-175-340.102-0.bee | 90 +++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100755 nvidia_linux-4.9.48-175-340.102-0.bee diff --git a/nvidia_linux-4.9.48-175-340.102-0.bee b/nvidia_linux-4.9.48-175-340.102-0.bee new file mode 100755 index 000000000..bad3ecf51 --- /dev/null +++ b/nvidia_linux-4.9.48-175-340.102-0.bee @@ -0,0 +1,90 @@ +#!/bin/env beesh + +# calculate package extra versions and legacy level +# - use extraversions to define nvidia extraversion and/or legacy level +# - legacy level should be the last part of extraversion +# - legacy level 2 to 5 will be calculated from version number.. + +mxnvversion=${PKGEXTRAVERSION##*_} +: ${mxnvversion=current} + +nvextraversion="${PKGEXTRAVERSION_DASH}" + +if [ "${mxnvversion:0:6}" = "legacy" -o "${mxnvversion}" = "current" ] ; then + nvextraversion="${nvextraversion%_*}" + nvextraversion="${nvextraversion#-${mxnvversion}}" +else + if [ "${PKGVERSION:0:4}" = "340." ] ; then + mxnvversion="legacy5" + elif [ "${PKGVERSION:0:4}" = "304." ] ; then + mxnvversion="legacy4" + elif [ "${PKGVERSION:0:7}" = "173.14." ] ; then + mxnvversion="legacy3" + elif [ "${PKGVERSION:0:6}" = "96.43." ] ; then + mxnvversion="legacy2" + else + mxnvversion="current" + fi +fi + +print_info "calculated mxnvversion = '${mxnvversion}'" +print_info "calculated nvextraversion = '${nvextraversion}'" + +NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}${nvextraversion}.run" + +SRCURL[0]="https://download.nvidia.com/XFree86/Linux-x86_64/${PKGVERSION}/${NVIDIA_ARCHIVE}" +PATCHURL+=('/src/mariux/patches/nvidia_340_runtimefix_for_kernel_4.9.patch') + +LINUXPKG=${PKGEXTRANAME}.${ARCH} + +LINUXKLOCALVER=$(beeversion --format "%v%-e.mx64.%r" "${LINUXPKG}") + +# '4.4.mx64.75' to '4.4.0.mx64.75' +# '4.8.6.mx64.115' to '4.8.6.mx64.115' +# '4.8-rc2.mx64.95' to '4.8.0-rc2.mx64.95' +if [[ $LINUXKLOCALVER =~ ^([0-9]+\.[0-9]+)(-rc[0-9]{1,2})?(\.mx64.*) ]]; then + LINUXKLOCALVER="${BASH_REMATCH[1]}.0${BASH_REMATCH[2]}${BASH_REMATCH[3]}" +fi + + +build_in_sourcedir +sourcesubdir_append kernel + +: ${BEE_TMP_TMPDIR:=/tmp} + +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() { + start_cmd 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}/${mxnvversion} +} From 604e490b0e51ca502fd60ba6cf06f019520c7353 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 8 Sep 2017 17:17:24 +0200 Subject: [PATCH 5/5] nvidia_linux: Build 375.39 for Linux 4.9.48 --- nvidia_linux-4.9.48-175-375.39-0.bee | 87 ++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100755 nvidia_linux-4.9.48-175-375.39-0.bee diff --git a/nvidia_linux-4.9.48-175-375.39-0.bee b/nvidia_linux-4.9.48-175-375.39-0.bee new file mode 100755 index 000000000..7657b8ef1 --- /dev/null +++ b/nvidia_linux-4.9.48-175-375.39-0.bee @@ -0,0 +1,87 @@ +#!/bin/env beesh + +# calculate package extra versions and legacy level +# - use extraversions to define nvidia extraversion and/or legacy level +# - legacy level should be the last part of extraversion +# - legacy level 2 to 5 will be calculated from version number.. + +mxnvversion=${PKGEXTRAVERSION##*_} +: ${mxnvversion=current} + +nvextraversion="${PKGEXTRAVERSION_DASH}" + +if [ "${mxnvversion:0:6}" = "legacy" -o "${mxnvversion}" = "current" ] ; then + nvextraversion="${nvextraversion%_*}" + nvextraversion="${nvextraversion#-${mxnvversion}}" +else + if [ "${PKGVERSION:0:4}" = "340." ] ; then + mxnvversion="legacy5" + elif [ "${PKGVERSION:0:4}" = "304." ] ; then + mxnvversion="legacy4" + elif [ "${PKGVERSION:0:7}" = "173.14." ] ; then + mxnvversion="legacy3" + elif [ "${PKGVERSION:0:6}" = "96.43." ] ; then + mxnvversion="legacy2" + else + mxnvversion="current" + fi +fi + +print_info "calculated mxnvversion = '${mxnvversion}'" +print_info "calculated nvextraversion = '${nvextraversion}'" + +NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}${nvextraversion}.run" + +SRCURL[0]="https://download.nvidia.com/XFree86/Linux-x86_64/${PKGVERSION}/${NVIDIA_ARCHIVE}" + +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} + +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() { + start_cmd 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}/${mxnvversion} +}