From f954fdf9262b698d104bf65eb49953ddbb7c5fea Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 24 Feb 2017 10:42:54 +0100 Subject: [PATCH 1/3] linux: Add stable version 4.9.12 Do as Greg sayss [1][2]: > All users of the 4.9 kernel series must upgrade. Changes for Linux 4.9.11 [3][4]: > Greg Kroah-Hartman announced the availability of two new Linux kernel > releases, the Linux 4.4.50 LTS and Linux 4.9.11 LTS, both bringing > various networking improvements and updated drivers. > > These new maintenance updates of the long-term supported Linux 4.9 and > 4.4 kernel series are here only three days after the release of the > Linux 4.4.49 LTS and Linux 4.9.10 LTS versions, so you can imagine that > the changes implemented in point releases aren't so big. According to > the appended shortlogs, Linux kernel 4.9.11 LTS changes a total of 49 > files, with 468 insertions and 342 deletions, and Linux kernel 4.4.50 > LTS comes with 29 files changed, with 172 insertions and 89 deletions. > > "I'm announcing the release of the 4.9.11 [and 4.4.50] kernel. All users > of the 4.9 [and 4.4] kernel series must upgrade. The updated 4.9.y git > tree can be found at: > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git > linux-4.9.y and the updated 4.4.y git tree can be found at: > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git > linux-4.4.y, and > http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary," > said Greg Kroah-Hartman. > > ### There are mostly networking improvements with some updated drivers ### > > Both Linux 4.9.11 LTS and Linux 4.4.50 LTS kernels include an updated > networking stack that adds various IPv4 and IPv6 improvements, as well > as some small changes to things like Layer 2 Tunneling Protocol (L2TP), > Distributed Switch Architecture (DSA), Datagram Congestion Control > Protocol (DCCP), Controller Area Network (CAN), Ethernet, Stream Control > Transmission Protocol (SCTP), and packet scheduler. On the other hand, > they bring a few updated Ethernet drivers, for Mellanox and > STMicroelectronics adapters. > > Those of you who are using GNU/Linux distributions powered by kernels > from either the long-term supported Linux 4.9 or Linux 4.4 branches are > urged to update their systems as soon as possible, or as soon as the new > versions arrive in the stable repositories. OS vendors and power users > can download the Linux kernel 4.4.50 LTS and Linux kernel 4.9.11 LTS > source tarballs right now from kernel.org or via our website if they > want to compile them themselves. Changes for Linux 4.9.12 [5][6]: > Greg Kroah-Hartman announced today the general availability of two new > maintenance updates for the long-term supported Linux 4.9 and Linux 4.4 > kernels for Linux-based operating systems. > > Linux kernels 4.9.12 LTS and 4.4.51 LTS are now the latest stable and > most advanced versions of the respective branches, and they are > recommended to all users who run GNU/Linux distributions powered by > either the Linux 4.4 or Linux 4.9 kernel series. These new point > releases arrive only five days after the launch of their previous > builds, namely Linux kernel 4.9.11 LTS and 4.4.50 LTS. > > "I'm announcing the release of the 4.9.12 [and 4.4.51] kernel. All users > of the 4.9 [and 4.4] kernel series must upgrade. The updated 4.9.y git > tree can be found at: > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git > linux-4.9.y and 4.4.y git tree at > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git > linux-4.4.y," said Greg Kroah-Hartman. > > ### The changes are small and include mostly updated drivers ### > > The changes included in today's Linux 4.9.12 and 4.4.51 LTS kernels are > small and include mostly updated drivers that add various improvements > to AMD Radeon GPUs, I2C, MD, media, MMC, NTB, PCI, and SCSI devices. A > couple of bug fixes are implemented for ARM and PowerPC (PPC) hardware > architectures, as well as the FUSE file system. > > According to the appended shortlog, 27 files were changed in Linux > kernel 4.9.12, with 112 insertions and 92 deletions, and Linux kernel > 4.4.51 LTS changes a total of 19 files, with 62 insertions and 45 > deletions. If you're using a GNU/Linux distro powered by a kernel from > either the Linux 4.9 or 4.4 kernel series, it is recommended to update > as soon as possible to these new versions, which you can also download > right now from kernel.org or via our website. [1] https://lkml.org/lkml/2017/2/18/90 [2] https://lkml.org/lkml/2017/2/23/381 [3] http://news.softpedia.com/news/linux-kernels-4-9-11-4-4-50-lts-bring-networking-improvements-updated-drivers-513073.shtml [4] https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.9.11 [5] http://news.softpedia.com/news/linux-kernels-4-9-12-4-4-51-now-available-with-small-changes-updated-drivers-513246.shtml [6] https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.9.12 --- linux-4.9.12-140.bee | 79 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100755 linux-4.9.12-140.bee diff --git a/linux-4.9.12-140.bee b/linux-4.9.12-140.bee new file mode 100755 index 000000000..fc68c0aaa --- /dev/null +++ b/linux-4.9.12-140.bee @@ -0,0 +1,79 @@ +#!/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" + +# 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 44037bfea94424da6cb9b4a0e6c5e5690cc9f7f9 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 24 Feb 2017 10:58:07 +0100 Subject: [PATCH 2/3] nvidia_linux: Build 340.101 for Linux Linux 4.9.12 --- nvidia_linux-4.9.12-140-340.101-0.bee | 89 +++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100755 nvidia_linux-4.9.12-140-340.101-0.bee diff --git a/nvidia_linux-4.9.12-140-340.101-0.bee b/nvidia_linux-4.9.12-140-340.101-0.bee new file mode 100755 index 000000000..b07609b91 --- /dev/null +++ b/nvidia_linux-4.9.12-140-340.101-0.bee @@ -0,0 +1,89 @@ +#!/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]="ftp://download.nvidia.com/XFree86/Linux-x86_64/${PKGVERSION}/${NVIDIA_ARCHIVE}" + +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 0e1a0c34550e7b219b03a980e4b6deda30a65c3e Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 24 Feb 2017 10:59:43 +0100 Subject: [PATCH 3/3] nvidia_linux: Build 375.26 for Linux 4.9.12 --- nvidia_linux-4.9.12-140-375.26-0.bee | 87 ++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100755 nvidia_linux-4.9.12-140-375.26-0.bee diff --git a/nvidia_linux-4.9.12-140-375.26-0.bee b/nvidia_linux-4.9.12-140-375.26-0.bee new file mode 100755 index 000000000..955b9ebe2 --- /dev/null +++ b/nvidia_linux-4.9.12-140-375.26-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]="ftp://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} +}