From dc05d0b009a764f12acfac614d85c45f74e88297 Mon Sep 17 00:00:00 2001 From: Oleksandr Suvorov Date: Wed, 1 Apr 2020 14:00:57 +0300 Subject: backports: upgrade from 4.19 to 5.4 backports-5.4 provides latter drivers. The main issue that fixes with these backports: the earlier mwifiex drivers for Marvel 8997 WiFi module stucks on firmware crash (ELB-2596). Related-to: ELB-2724 Signed-off-by: Oleksandr Suvorov --- recipes-kernel/backports/backports_4.19.bb | 42 ------------ recipes-kernel/backports/backports_5.4.bb | 85 ++++++++++++++++++++++++ recipes-kernel/backports/files/99-backports.conf | 8 +++ recipes-kernel/backports/files/config | 58 +++------------- recipes-kernel/backports/files/makefile.patch | 27 -------- 5 files changed, 101 insertions(+), 119 deletions(-) delete mode 100644 recipes-kernel/backports/backports_4.19.bb create mode 100644 recipes-kernel/backports/backports_5.4.bb create mode 100644 recipes-kernel/backports/files/99-backports.conf delete mode 100644 recipes-kernel/backports/files/makefile.patch diff --git a/recipes-kernel/backports/backports_4.19.bb b/recipes-kernel/backports/backports_4.19.bb deleted file mode 100644 index b0bbdc8..0000000 --- a/recipes-kernel/backports/backports_4.19.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "Backported kernel drivers" -HOMEPAGE = "https://backports.wiki.kernel.org" -SECTION = "kernel/modules" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -INC_PR = "r1" - -DEPENDS_append = " coreutils-native" - -SRCREV = "cf2620f8c3bbbcc7ad33452e685cafd727997866" -SRCREV_use-head-next = "${AUTOREV}" -SRC_URI = " \ - git://git.toradex.com/backports-toradex.git;protocol=git;branch=toradex-${PV} \ - file://makefile.patch \ - file://config \ - " - -S = "${WORKDIR}/git" - -inherit module cml1 - -MAKE_TARGETS = "modules" -MODULES_INSTALL_TARGET = "modules_install" -PACKAGES_DYNAMIC += "^${BPN}-kernel-module-.*" - -KERNEL_MODULE_PACKAGE_PREFIX = "${BPN}-" - -EXTRA_OEMAKE = " KLIB=${STAGING_KERNEL_DIR} KLIB_BUILD=${STAGING_KERNEL_BUILDDIR} " - -KCONFIG_CONFIG_COMMAND = "CC=${BUILD_CC} LD=${BUILD_LD} AR=${BUILD_AR} menuconfig" - -do_configure() { - - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - make CC="${BUILD_CC}" LD="${BUILD_LD}" AR="${BUILD_AR}" \ - -C ${S}/kconf O=${S}/kconf conf - - cp ${WORKDIR}/config ${S}/.config - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - oe_runmake oldconfig -} - diff --git a/recipes-kernel/backports/backports_5.4.bb b/recipes-kernel/backports/backports_5.4.bb new file mode 100644 index 0000000..4d74c62 --- /dev/null +++ b/recipes-kernel/backports/backports_5.4.bb @@ -0,0 +1,85 @@ +DESCRIPTION = "Linux Backports" +HOMEPAGE = "https://backports.wiki.kernel.org" +SECTION = "kernel/modules" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" + +inherit module-base + +DEPMOD_CONF = "99-backports.conf" + +# To generate the backports tree yourself, so you can make modifications: +# Generate the backport tree using: +# git clone git://git.toradex.com/backports-sources-toradex.git -b linux-5.4.y +# add/commit the generated tree +# Change SRCREV = to point to your generated tree +# Under SRC_URI point this at your generated tree as such: +# git:///home/user/linux-backports-generated;protocol=file + +SRCREV = "e8ef623db4bd6fb85df341d583000e1b12a64a63" +SRCREV_use-head-next = "${AUTOREV}" +SRC_URI = " \ + git://git.toradex.com/backports-toradex.git;protocol=git;branch=toradex-${PV} \ + file://config \ + file://${DEPMOD_CONF} \ + " + +# Depend on virtual/kernel to ensure that the kernel is built before we try to +# build the backports +DEPENDS += "virtual/kernel" +DEPENDS += "bison-native coreutils-native flex-native" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = " \ + KLIB_BUILD=${KBUILD_OUTPUT} \ + KLIB=${B} \ + " + +do_configure() { + # Somehow lex does not automatically get linked to flex! + ln -fs flex ../recipe-sysroot-native/usr/bin/lex + make CFLAGS="" CPPFLAGS="" CXXFLAGS="" LDFLAGS="" CC="${BUILD_CC}" LD="${BUILD_LD}" \ + AR="${BUILD_AR}" -C ${S}/kconf O=${S}/kconf conf + + cp ${WORKDIR}/config ${S}/.config + oe_runmake oldconfig +} + +# LDFLAGS are not suitable for direct ld use as with the kernel build system +do_compile() { + unset LDFLAGS + oe_runmake +} + +do_install() { + install -d ${D}/etc/depmod.d/ + install -m 0644 ${WORKDIR}/${DEPMOD_CONF} ${D}/etc/depmod.d/${DEPMOD_CONF} + + install -d ${D}/lib/modules/${KERNEL_VERSION}/backports + for ko in $(find ${S} -type f -name "*.ko") + do + install -m 0644 $ko ${D}/lib/modules/${KERNEL_VERSION}/backports/ + done +} + +pkg_postinst_${PN} () { + if [ -z "$D" ]; then + depmod -a ${KERNEL_VERSION} + else + # image.bbclass will call depmodwrapper after everything is installed, + # no need to do it here as well + : + fi +} + +pkg_postrm_${PN} () { + if [ -z "$D" ]; then + depmod -a ${KERNEL_VERSION} + fi +} + +FILES_${PN} = " \ + /etc/depmod.d/${DEPMOD_CONF} \ + /lib/modules/${KERNEL_VERSION}/backports/ \ + " diff --git a/recipes-kernel/backports/files/99-backports.conf b/recipes-kernel/backports/files/99-backports.conf new file mode 100644 index 0000000..4784568 --- /dev/null +++ b/recipes-kernel/backports/files/99-backports.conf @@ -0,0 +1,8 @@ +search built-in backports + +override cfg80211 * backports +override lib80211 * backports +override mwifiex_pcie * backports +override mwifiex_sdio * backports +override mwifiex_usb * backports +override r8188eu * backports diff --git a/recipes-kernel/backports/files/config b/recipes-kernel/backports/files/config index a8f390d..5cf1f05 100644 --- a/recipes-kernel/backports/files/config +++ b/recipes-kernel/backports/files/config @@ -1,67 +1,25 @@ CPTCFG_CFG80211=m +CPTCFG_CFG80211_WEXT=y CPTCFG_MAC80211=m -CPTCFG_BT=m -CPTCFG_BT_RFCOMM=m -CPTCFG_BT_RFCOMM_TTY=y -CPTCFG_BT_BNEP=m -CPTCFG_BT_BNEP_MC_FILTER=y -CPTCFG_BT_BNEP_PROTO_FILTER=y -CPTCFG_BT_HIDP=m -CPTCFG_BT_HCIBTUSB=m -CPTCFG_BT_HCIBTSDIO=m -CPTCFG_BT_HCIUART=m -CPTCFG_BT_HCIUART_BCSP=y -CPTCFG_BT_HCIUART_ATH3K=y -CPTCFG_BT_HCIUART_3WIRE=y -CPTCFG_BT_HCIUART_INTEL=y -CPTCFG_BT_HCIUART_QCA=y -CPTCFG_BT_HCIUART_AG6XX=y -CPTCFG_BT_HCIUART_MRVL=y -CPTCFG_BT_MRVL=m -CPTCFG_BT_MRVL_SDIO=m -CPTCFG_BT_ATH3K=m # CPTCFG_WLAN_VENDOR_ADMTEK is not set -CPTCFG_ATH9K=m -CPTCFG_ATH9K_HTC=m -CPTCFG_ATH9K_HWRNG=y -CPTCFG_ATH10K=m -CPTCFG_ATH10K_PCI=m -CPTCFG_ATH10K_SDIO=m -CPTCFG_ATH10K_USB=m +# CPTCFG_WLAN_VENDOR_ATH is not set # CPTCFG_WLAN_VENDOR_ATMEL is not set # CPTCFG_WLAN_VENDOR_BROADCOM is not set # CPTCFG_WLAN_VENDOR_CISCO is not set -CPTCFG_IWL4965=m -CPTCFG_IWL3945=m -CPTCFG_IWLWIFI=m -CPTCFG_IWLDVM=m -CPTCFG_IWLMVM=m -CPTCFG_IWLWIFI_BCAST_FILTERING=y -CPTCFG_IWLWIFI_PCIE_RTPM=y +# CPTCFG_WLAN_VENDOR_INTEL is not set # CPTCFG_WLAN_VENDOR_INTERSIL is not set CPTCFG_MWIFIEX=m CPTCFG_MWIFIEX_SDIO=m CPTCFG_MWIFIEX_PCIE=m CPTCFG_MWIFIEX_USB=m -CPTCFG_MT7601U=m -CPTCFG_MT76x0U=m -CPTCFG_MT76x2E=m -CPTCFG_MT76x2U=m -CPTCFG_RT2X00=m -CPTCFG_RT2500USB=m -CPTCFG_RT2800USB=m -CPTCFG_RT2800USB_RT3573=y -CPTCFG_RT2800USB_RT53XX=y -CPTCFG_RT2800USB_RT55XX=y -# CPTCFG_RTL_CARDS is not set -CPTCFG_RTL8XXXU=m -CPTCFG_RTL8XXXU_UNTESTED=y -CPTCFG_RSI_91X=m -# CPTCFG_RSI_DEBUGFS is not set +# CPTCFG_WLAN_VENDOR_MEDIATEK is not set +# CPTCFG_WLAN_VENDOR_RALINK is not set +# CPTCFG_WLAN_VENDOR_REALTEK is not set +# CPTCFG_WLAN_VENDOR_RSI is not set # CPTCFG_WLAN_VENDOR_ST is not set # CPTCFG_WLAN_VENDOR_TI is not set # CPTCFG_WLAN_VENDOR_ZYDAS is not set # CPTCFG_WLAN_VENDOR_QUANTENNA is not set # CPTCFG_USB_NET_DRIVERS is not set -CPTCFG_SERIAL_DEV_BUS=m CPTCFG_STAGING=y +CPTCFG_R8188EU=m diff --git a/recipes-kernel/backports/files/makefile.patch b/recipes-kernel/backports/files/makefile.patch deleted file mode 100644 index d6891e6..0000000 --- a/recipes-kernel/backports/files/makefile.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- a/Makefile.real -+++ b/Makefile.real -@@ -90,11 +90,6 @@ modules: backport-include/backport/autoconf.h - install: modules - @$(MAKE) -C $(KLIB_BUILD) M=$(BACKPORT_DIR) \ -- INSTALL_MOD_DIR=$(KMODDIR) $(KMODPATH_ARG) \ -+ INSTALL_MOD_DIR=$(KMODDIR) INSTALL_MOD_PATH=$(INSTALL_MOD_PATH) \ - modules_install -- @./scripts/blacklist.sh $(KLIB)/ $(KLIB)/$(KMODDIR) -- @./scripts/compress_modules.sh $(KLIB)/$(KMODDIR) -- @./scripts/check_depmod.sh -- @/sbin/depmod -a -- @./scripts/update-initramfs.sh $(KLIB) - @echo - @echo Your backported driver modules should be installed now. - @echo Reboot. ---- a/Makefile -+++ b/Makefile -@@ -84,7 +84,7 @@ mrproper: - echo "" ;\ - done \ - ) > Kconfig.kernel ;\ -- kver=$$($(MAKE) --no-print-directory -C $(KLIB_BUILD) kernelversion | \ -+ kver=$$(echo $(KERNEL_VERSION) | \ - sed 's/^\(\([3-4]\|2\.6\)\.[0-9]\+\).*/\1/;t;d') ;\ - test "$$kver" != "" || echo "Kernel version parse failed!" ;\ - test "$$kver" != "" ;\ -- cgit v1.2.3