Revert "linux-firmware: Modify firmware installation path"
PATCH 1/2 Revert "linux-firmware: Modify firmware installation path"
This reverts commit a46a23fed9acd097ecc8ab3985d18688abe7b065.
The 64bit/32bit multilib builds break because the kernel's firmware loader cannot find the firmware because it gets placed int the wrong directory.
--- .../linux-firmware/linux-firmware_git.bb | 168 ++++++++++----------- 1 file changed, 82 insertions(+), 86 deletions(-)
meta/recipes-kernel/linux-firmware/linux-firmware_git.bb +82 -86
@@ -195,27 +195,27 @@ do_compile() { } do_install() { - install -d ${D}${base_libdir}/firmware/ - cp -r * ${D}${base_libdir}/firmware/ + install -d ${D}/lib/firmware/ + cp -r * ${D}/lib/firmware/ # Avoid Makefile to be deployed - rm ${D}${base_libdir}/firmware/Makefile + rm ${D}/lib/firmware/Makefile # Remove unbuild firmware which needs cmake and bash - rm ${D}${base_libdir}/firmware/carl9170fw -rf + rm ${D}/lib/firmware/carl9170fw -rf # Remove pointless bash script - rm ${D}${base_libdir}/firmware/configure + rm ${D}/lib/firmware/configure # Libertas sd8686 - ln -sf libertas/sd8686_v9.bin ${D}${base_libdir}/firmware/sd8686.bin - ln -sf libertas/sd8686_v9_helper.bin ${D}${base_libdir}/firmware/sd8686_helper.bin + ln -sf libertas/sd8686_v9.bin ${D}/lib/firmware/sd8686.bin + ln -sf libertas/sd8686_v9_helper.bin ${D}/lib/firmware/sd8686_helper.bin # fixup wl12xx location, after 2.6.37 the kernel searches a different location for it - ( cd ${D}${base_libdir}/firmware ; ln -sf ti-connectivity/* . ) + ( cd ${D}/lib/firmware ; ln -sf ti-connectivity/* . ) # Copy the iwlwifi ucode - cp ${WORKDIR}/iwlwifi-8000C-19.ucode ${D}${base_libdir}/firmware/ + cp ${WORKDIR}/iwlwifi-8000C-19.ucode ${D}/lib/firmware/ }
@@ -252,21 +252,21 @@ LICENSE_${PN}-ath6k = "Firmware-atheros_firmware" LICENSE_${PN}-ath9k = "Firmware-atheros_firmware" LICENSE_${PN}-atheros-license = "Firmware-atheros_firmware" -FILES_${PN}-atheros-license = "${base_libdir}/firmware/LICENCE.atheros_firmware" +FILES_${PN}-atheros-license = "/lib/firmware/LICENCE.atheros_firmware" FILES_${PN}-ar9170 = " \ - ${base_libdir}/firmware/ar9170*.fw \ + /lib/firmware/ar9170*.fw \ " FILES_${PN}-carl9170 = " \ - ${base_libdir}/firmware/carl9170*.fw \ + /lib/firmware/carl9170*.fw \ " FILES_${PN}-ath6k = " \ - ${base_libdir}/firmware/ath6k \ + /lib/firmware/ath6k \ " FILES_${PN}-ath9k = " \ - ${base_libdir}/firmware/ar9271.fw \ - ${base_libdir}/firmware/ar7010*.fw \ - ${base_libdir}/firmware/htc_9271.fw \ - ${base_libdir}/firmware/htc_7010.fw \ + /lib/firmware/ar9271.fw \ + /lib/firmware/ar7010*.fw \ + /lib/firmware/htc_9271.fw \ + /lib/firmware/htc_7010.fw \ " RDEPENDS_${PN}-ar9170 += "${PN}-atheros-license"
@@ -280,14 +280,14 @@ LICENSE_${PN}-ar3k-license = "Firmware-qualcommAthos_ar3k" LICENSE_${PN}-ath10k = "Firmware-qualcommAthos_ath10k" LICENSE_${PN}-ath10k-license = "Firmware-qualcommAthos_ath10k" -FILES_${PN}-ar3k-license = "${base_libdir}/firmware/LICENSE.QualcommAtheros_ar3k" +FILES_${PN}-ar3k-license = "/lib/firmware/LICENSE.QualcommAtheros_ar3k" FILES_${PN}-ar3k = " \ - ${base_libdir}/firmware/ar3k \ + /lib/firmware/ar3k \ " -FILES_${PN}-ath10k-license = "${base_libdir}/firmware/LICENSE.QualcommAtheros_ath10k" +FILES_${PN}-ath10k-license = "/lib/firmware/LICENSE.QualcommAtheros_ath10k" FILES_${PN}-ath10k = " \ - ${base_libdir}/firmware/ath10k \ + /lib/firmware/ath10k \ " RDEPENDS_${PN}-ar3k += "${PN}-ar3k-license"
@@ -297,9 +297,9 @@ RDEPENDS_${PN}-ath10k += "${PN}-ath10k-license" LICENSE_${PN}-ralink = "Firmware-ralink-firmware" LICENSE_${PN}-ralink-license = "Firmware-ralink-firmware" -FILES_${PN}-ralink-license = "${base_libdir}/firmware/LICENCE.ralink-firmware.txt" +FILES_${PN}-ralink-license = "/lib/firmware/LICENCE.ralink-firmware.txt" FILES_${PN}-ralink = " \ - ${base_libdir}/firmware/rt*.bin \ + /lib/firmware/rt*.bin \ " RDEPENDS_${PN}-ralink += "${PN}-ralink-license"
@@ -308,9 +308,9 @@ RDEPENDS_${PN}-ralink += "${PN}-ralink-license" LICENSE_${PN}-radeon = "Firmware-radeon" LICENSE_${PN}-radeon-license = "Firmware-radeon" -FILES_${PN}-radeon-license = "${base_libdir}/firmware/LICENSE.radeon" +FILES_${PN}-radeon-license = "/lib/firmware/LICENSE.radeon" FILES_${PN}-radeon = " \ - ${base_libdir}/firmware/radeon \ + /lib/firmware/radeon \ " RDEPENDS_${PN}-radeon += "${PN}-radeon-license"
@@ -322,20 +322,20 @@ LICENSE_${PN}-sd8787 = "Firmware-Marvell" LICENSE_${PN}-sd8797 = "Firmware-Marvell" LICENSE_${PN}-marvell-license = "Firmware-Marvell" -FILES_${PN}-marvell-license = "${base_libdir}/firmware/LICENCE.Marvell" +FILES_${PN}-marvell-license = "/lib/firmware/LICENCE.Marvell" FILES_${PN}-sd8686 = " \ - ${base_libdir}/firmware/libertas/sd8686_v9* \ - ${base_libdir}/firmware/sd8686* \ + /lib/firmware/libertas/sd8686_v9* \ + /lib/firmware/sd8686* \ " FILES_${PN}-sd8688 = " \ - ${base_libdir}/firmware/libertas/sd8688* \ - ${base_libdir}/firmware/mrvl/sd8688* \ + /lib/firmware/libertas/sd8688* \ + /lib/firmware/mrvl/sd8688* \ " FILES_${PN}-sd8787 = " \ - ${base_libdir}/firmware/mrvl/sd8787_uapsta.bin \ + /lib/firmware/mrvl/sd8787_uapsta.bin \ " FILES_${PN}-sd8797 = " \ - ${base_libdir}/firmware/mrvl/sd8797_uapsta.bin \ + /lib/firmware/mrvl/sd8797_uapsta.bin \ " RDEPENDS_${PN}-sd8686 += "${PN}-marvell-license"
@@ -353,25 +353,25 @@ LICENSE_${PN}-rtl8821 = "Firmware-rtlwifi_firmware" LICENSE_${PN}-rtl-license = "Firmware-rtlwifi_firmware" FILES_${PN}-rtl-license = " \ - ${base_libdir}/firmware/LICENCE.rtlwifi_firmware.txt \ + /lib/firmware/LICENCE.rtlwifi_firmware.txt \ " FILES_${PN}-rtl8188 = " \ - ${base_libdir}/firmware/rtlwifi/rtl8188*.bin \ + /lib/firmware/rtlwifi/rtl8188*.bin \ " FILES_${PN}-rtl8192cu = " \ - ${base_libdir}/firmware/rtlwifi/rtl8192cufw*.bin \ + /lib/firmware/rtlwifi/rtl8192cufw*.bin \ " FILES_${PN}-rtl8192ce = " \ - ${base_libdir}/firmware/rtlwifi/rtl8192cfw*.bin \ + /lib/firmware/rtlwifi/rtl8192cfw*.bin \ " FILES_${PN}-rtl8192su = " \ - ${base_libdir}/firmware/rtlwifi/rtl8712u.bin \ + /lib/firmware/rtlwifi/rtl8712u.bin \ " FILES_${PN}-rtl8723 = " \ - ${base_libdir}/firmware/rtlwifi/rtl8723*.bin \ + /lib/firmware/rtlwifi/rtl8723*.bin \ " FILES_${PN}-rtl8821 = " \ - ${base_libdir}/firmware/rtlwifi/rtl8821*.bin \ + /lib/firmware/rtlwifi/rtl8821*.bin \ " RDEPENDS_${PN}-rtl8188 += "${PN}-rtl-license"
@@ -386,16 +386,16 @@ LICENSE_${PN}-wl12xx = "Firmware-ti-connectivity" LICENSE_${PN}-wl18xx = "Firmware-ti-connectivity" LICENSE_${PN}-ti-connectivity-license = "Firmware-ti-connectivity" -FILES_${PN}-ti-connectivity-license = "${base_libdir}/firmware/LICENCE.ti-connectivity" +FILES_${PN}-ti-connectivity-license = "/lib/firmware/LICENCE.ti-connectivity" FILES_${PN}-wl12xx = " \ - ${base_libdir}/firmware/wl12* \ - ${base_libdir}/firmware/TI* \ - ${base_libdir}/firmware/ti-connectivity \ + /lib/firmware/wl12* \ + /lib/firmware/TI* \ + /lib/firmware/ti-connectivity \ " FILES_${PN}-wl18xx = " \ - ${base_libdir}/firmware/wl18* \ - ${base_libdir}/firmware/TI* \ - ${base_libdir}/firmware/ti-connectivity \ + /lib/firmware/wl18* \ + /lib/firmware/TI* \ + /lib/firmware/ti-connectivity \ " RDEPENDS_${PN}-wl12xx = "${PN}-ti-connectivity-license"
@@ -405,18 +405,14 @@ RDEPENDS_${PN}-wl18xx = "${PN}-ti-connectivity-license" LICENSE_${PN}-vt6656 = "Firmware-via_vt6656" LICENSE_${PN}-vt6656-license = "Firmware-via_vt6656" -FILES_${PN}-vt6656-license = "${base_libdir}/firmware/LICENCE.via_vt6656" +FILES_${PN}-vt6656-license = "/lib/firmware/LICENCE.via_vt6656" FILES_${PN}-vt6656 = " \ - ${base_libdir}/firmware/vntwusb.fw \ + /lib/firmware/vntwusb.fw \ " RDEPENDS_${PN}-vt6656 = "${PN}-vt6656-license" # For broadcom -# -# WARNING: The ALTERNATIVE_* variables are not using ${PN} because of -# a bug in bitbake; when this is fixed and bitbake learns how to proper -# pass variable flags with expansion we can rework this patch. LICENSE_${PN}-bcm4329 = "Firmware-broadcom_bcm43xx" LICENSE_${PN}-bcm4330 = "Firmware-broadcom_bcm43xx"
@@ -428,28 +424,28 @@ LICENSE_${PN}-bcm4354 = "Firmware-broadcom_bcm43xx" LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx" FILES_${PN}-broadcom-license = " \ - ${base_libdir}/firmware/LICENCE.broadcom_bcm43xx \ + /lib/firmware/LICENCE.broadcom_bcm43xx \ " FILES_${PN}-bcm4329 = " \ - ${base_libdir}/firmware/brcm/brcmfmac4329-sdio.bin \ + /lib/firmware/brcm/brcmfmac4329-sdio.bin \ " FILES_${PN}-bcm4330 = " \ - ${base_libdir}/firmware/brcm/brcmfmac4330-sdio.bin \ + /lib/firmware/brcm/brcmfmac4330-sdio.bin \ " FILES_${PN}-bcm4334 = " \ - ${base_libdir}/firmware/brcm/brcmfmac4334-sdio.bin \ + /lib/firmware/brcm/brcmfmac4334-sdio.bin \ " FILES_${PN}-bcm43340 = " \ - ${base_libdir}/firmware/brcm/brcmfmac43340-sdio.bin \ + /lib/firmware/brcm/brcmfmac43340-sdio.bin \ " FILES_${PN}-bcm4339 = " \ - ${base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin \ + /lib/firmware/brcm/brcmfmac4339-sdio.bin \ " FILES_${PN}-bcm43430 = " \ - ${base_libdir}/firmware/brcm/brcmfmac43430-sdio.bin \ + /lib/firmware/brcm/brcmfmac43430-sdio.bin \ " FILES_${PN}-bcm4354 = " \ - ${base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin \ + /lib/firmware/brcm/brcmfmac4354-sdio.bin \ " RDEPENDS_${PN}-bcm4329 += "${PN}-broadcom-license"
@@ -468,8 +464,8 @@ RDEPENDS_${PN}-bcm4354 += "${PN}-broadcom-license" LICENSE_${PN}-bnx2-mips = "WHENCE" LICENSE_${PN}-whence-license = "WHENCE" -FILES_${PN}-bnx2-mips = "${base_libdir}/firmware/bnx2/bnx2-mips-09-6.2.1b.fw" -FILES_${PN}-whence-license = "${base_libdir}/firmware/WHENCE" +FILES_${PN}-bnx2-mips = "/lib/firmware/bnx2/bnx2-mips-09-6.2.1b.fw" +FILES_${PN}-whence-license = "/lib/firmware/WHENCE" RDEPENDS_${PN}-bnx2-mips += "${PN}-whence-license"
@@ -495,24 +491,24 @@ LICENSE_${PN}-iwlwifi-misc = "Firmware-iwlwifi_firmware" LICENSE_${PN}-iwlwifi-license = "Firmware-iwlwifi_firmware" -FILES_${PN}-iwlwifi-license = "${base_libdir}/firmware/LICENCE.iwlwifi_firmware" -FILES_${PN}-iwlwifi-135-6 = "${base_libdir}/firmware/iwlwifi-135-6.ucode" -FILES_${PN}-iwlwifi-3160-7 = "${base_libdir}/firmware/iwlwifi-3160-7.ucode" -FILES_${PN}-iwlwifi-3160-8 = "${base_libdir}/firmware/iwlwifi-3160-8.ucode" -FILES_${PN}-iwlwifi-3160-9 = "${base_libdir}/firmware/iwlwifi-3160-9.ucode" -FILES_${PN}-iwlwifi-6000-4 = "${base_libdir}/firmware/iwlwifi-6000-4.ucode" -FILES_${PN}-iwlwifi-6000g2a-5 = "${base_libdir}/firmware/iwlwifi-6000g2a-5.ucode" -FILES_${PN}-iwlwifi-6000g2a-6 = "${base_libdir}/firmware/iwlwifi-6000g2a-6.ucode" -FILES_${PN}-iwlwifi-6000g2b-5 = "${base_libdir}/firmware/iwlwifi-6000g2b-5.ucode" -FILES_${PN}-iwlwifi-6000g2b-6 = "${base_libdir}/firmware/iwlwifi-6000g2b-6.ucode" -FILES_${PN}-iwlwifi-6050-4 = "${base_libdir}/firmware/iwlwifi-6050-4.ucode" -FILES_${PN}-iwlwifi-6050-5 = "${base_libdir}/firmware/iwlwifi-6050-5.ucode" -FILES_${PN}-iwlwifi-7260 = "${base_libdir}/firmware/iwlwifi-7260-*.ucode" -FILES_${PN}-iwlwifi-7265 = "${base_libdir}/firmware/iwlwifi-7265-*.ucode" -FILES_${PN}-iwlwifi-7265d = "${base_libdir}/firmware/iwlwifi-7265D-*.ucode" -FILES_${PN}-iwlwifi-8000c = "${base_libdir}/firmware/iwlwifi-8000C-*.ucode" -FILES_${PN}-iwlwifi-8265 = "${base_libdir}/firmware/iwlwifi-8265-*.ucode" -FILES_${PN}-iwlwifi-misc = "${base_libdir}/firmware/iwlwifi-*.ucode" +FILES_${PN}-iwlwifi-license = "/lib/firmware/LICENCE.iwlwifi_firmware" +FILES_${PN}-iwlwifi-135-6 = "/lib/firmware/iwlwifi-135-6.ucode" +FILES_${PN}-iwlwifi-3160-7 = "/lib/firmware/iwlwifi-3160-7.ucode" +FILES_${PN}-iwlwifi-3160-8 = "/lib/firmware/iwlwifi-3160-8.ucode" +FILES_${PN}-iwlwifi-3160-9 = "/lib/firmware/iwlwifi-3160-9.ucode" +FILES_${PN}-iwlwifi-6000-4 = "/lib/firmware/iwlwifi-6000-4.ucode" +FILES_${PN}-iwlwifi-6000g2a-5 = "/lib/firmware/iwlwifi-6000g2a-5.ucode" +FILES_${PN}-iwlwifi-6000g2a-6 = "/lib/firmware/iwlwifi-6000g2a-6.ucode" +FILES_${PN}-iwlwifi-6000g2b-5 = "/lib/firmware/iwlwifi-6000g2b-5.ucode" +FILES_${PN}-iwlwifi-6000g2b-6 = "/lib/firmware/iwlwifi-6000g2b-6.ucode" +FILES_${PN}-iwlwifi-6050-4 = "/lib/firmware/iwlwifi-6050-4.ucode" +FILES_${PN}-iwlwifi-6050-5 = "/lib/firmware/iwlwifi-6050-5.ucode" +FILES_${PN}-iwlwifi-7260 = "/lib/firmware/iwlwifi-7260-*.ucode" +FILES_${PN}-iwlwifi-7265 = "/lib/firmware/iwlwifi-7265-*.ucode" +FILES_${PN}-iwlwifi-7265d = "/lib/firmware/iwlwifi-7265D-*.ucode" +FILES_${PN}-iwlwifi-8000c = "/lib/firmware/iwlwifi-8000C-*.ucode" +FILES_${PN}-iwlwifi-8265 = "/lib/firmware/iwlwifi-8265-*.ucode" +FILES_${PN}-iwlwifi-misc = "/lib/firmware/iwlwifi-*.ucode" RDEPENDS_${PN}-iwlwifi-135-6 = "${PN}-iwlwifi-license" RDEPENDS_${PN}-iwlwifi-3160-7 = "${PN}-iwlwifi-license"
@@ -551,14 +547,14 @@ RCONFLICTS_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN} LICENSE_${PN}-i915 = "Firmware-i915" LICENSE_${PN}-i915-license = "Firmware-i915" -FILES_${PN}-i915-license = "${base_libdir}/firmware/LICENSE.i915" -FILES_${PN}-i915 = "${base_libdir}/firmware/i915" +FILES_${PN}-i915-license = "/lib/firmware/LICENSE.i915" +FILES_${PN}-i915 = "/lib/firmware/i915" RDEPENDS_${PN}-i915 = "${PN}-i915-license" -FILES_${PN}-adsp-sst-license = "${base_libdir}/firmware/LICENCE.adsp_sst" +FILES_${PN}-adsp-sst-license = "/lib/firmware/LICENCE.adsp_sst" LICENSE_${PN}-adsp-sst = "Firmware-adsp_sst" LICENSE_${PN}-adsp-sst-license = "Firmware-adsp_sst" -FILES_${PN}-adsp-sst = "${base_libdir}/firmware/intel/dsp_fw*" +FILES_${PN}-adsp-sst = "/lib/firmware/intel/dsp_fw*" RDEPENDS_${PN}-adsp-sst = "${PN}-adsp-sst-license" # For other firmwares
@@ -610,8 +606,8 @@ LICENSE_${PN} = "\ & WHENCE \ " -FILES_${PN}-license += "${base_libdir}/firmware/LICEN*" -FILES_${PN} += "${base_libdir}/firmware/*" +FILES_${PN}-license += "/lib/firmware/LICEN*" +FILES_${PN} += "/lib/firmware/*" RDEPENDS_${PN} += "${PN}-license" RDEPENDS_${PN} += "${PN}-whence-license"
Signature · 1 line
2.11.0
PATCH 2/2 Revert "kernel: Modify kernel modules installation path."
This reverts commit 0ccb2efe9837e2915c093341a662dffc1df00866.
The OVS fails to function and the kernel modules cannot be found by any of the kernel tools such as depmod because they are installed into the wrong directory in multilib 64bit/32bit bulids.
--- meta/classes/kernel-module-split.bbclass | 2 +- meta/classes/kernel.bbclass | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-)
meta/classes/kernel-module-split.bbclass +1 -1
@@ -127,7 +127,7 @@ python split_kernel_module_packages () { postinst = d.getVar('pkg_postinst_modules') postrm = d.getVar('pkg_postrm_modules') - modules = do_split_packages(d, root='${base_libdir}/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='kernel-%s' % (d.getVar("KERNEL_VERSION"))) + modules = do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='kernel-%s' % (d.getVar("KERNEL_VERSION"))) if modules: metapkg = d.getVar('KERNEL_MODULES_META_PACKAGE') d.appendVar('RDEPENDS_' + metapkg, ' '+' '.join(modules))
meta/classes/kernel.bbclass +6 -6
@@ -296,11 +296,11 @@ kernel_do_install() { # unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then - oe_runmake DEPMOD=echo MODLIB=${D}${base_libdir}/modules/${KERNEL_VERSION} INSTALL_FW_PATH=${D}${base_libdir}/firmware modules_install - rm "${D}${base_libdir}/modules/${KERNEL_VERSION}/build" - rm "${D}${base_libdir}/modules/${KERNEL_VERSION}/source" + oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install + rm "${D}/lib/modules/${KERNEL_VERSION}/build" + rm "${D}/lib/modules/${KERNEL_VERSION}/source" # If the kernel/ directory is empty remove it to prevent QA issues - rmdir --ignore-fail-on-non-empty "${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel" + rmdir --ignore-fail-on-non-empty "${D}/lib/modules/${KERNEL_VERSION}/kernel" else bbnote "no modules to install" fi
@@ -478,7 +478,7 @@ EXPORT_FUNCTIONS do_compile do_install do_configure # kernel-image becomes kernel-image-${KERNEL_VERSION} PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-dev kernel-modules" FILES_${PN} = "" -FILES_kernel-base = "${base_libdir}/modules/${KERNEL_VERSION}/modules.order ${base_libdir}/modules/${KERNEL_VERSION}/modules.builtin" +FILES_kernel-base = "/lib/modules/${KERNEL_VERSION}/modules.order /lib/modules/${KERNEL_VERSION}/modules.builtin" FILES_kernel-image = "" FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH} /lib/modules/${KERNEL_VERSION}/build" FILES_kernel-vmlinux = "/boot/vmlinux-${KERNEL_VERSION_NAME}"
@@ -511,7 +511,7 @@ pkg_postinst_kernel-base () { PACKAGESPLITFUNCS_prepend = "split_kernel_packages " python split_kernel_packages () { - do_split_packages(d, root='${base_libdir}/firmware', file_regex='^(.*)\.(bin|fw|cis|csp|dsp)$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='') + do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.(bin|fw|cis|csp|dsp)$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='') } # Many scripts want to look in arch/$arch/boot for the bootable
Signature · 1 line
2.11.0
Re: [PATCH 2/2] Revert "kernel: Modify kernel modules installation path."
The issue here is that in a multilib build the ${base_libdir} is resolving to /lib64 which completely breaks some tools that fully expect /lib/modules to be a fixed location regardless if the target is 32/64 or something else.
It may be fixable by using, ${nonarch_base_libdir}, but it wasn't quite that simple because it didn't fully work for the firmware loader so for now it would be best to just revert the two patches and keep oe-core working.
Cheers,
Jason.
Quoted 63 lines · Jason Wessel
This reverts commit
0ccb2efe9837e2915c093341a662dffc1df00866.The OVS fails to function and the kernel modules cannot be found by any of the kernel tools such as depmod because they are installed into the wrong directory in multilib 64bit/32bit bulids.
Signed-off-by Jason Wessel <[email protected]>--- meta/classes/kernel-module-split.bbclass | 2 +- meta/classes/kernel.bbclass | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-)meta/classes/kernel-module-split.bbclass +1
-1@@ -127,7 +127,7 @@ python split_kernel_module_packages () { postinst = d.getVar('pkg_postinst_modules') postrm = d.getVar('pkg_postrm_modules') - modules = do_split_packages(d, root='${base_libdir}/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='kernel-%s' % (d.getVar("KERNEL_VERSION"))) + modules = do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='kernel-%s' % (d.getVar("KERNEL_VERSION"))) if modules: metapkg = d.getVar('KERNEL_MODULES_META_PACKAGE') d.appendVar('RDEPENDS_' + metapkg, ' '+' '.join(modules))meta/classes/kernel.bbclass +6
-6@@ -296,11 +296,11 @@ kernel_do_install() { # unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then - oe_runmake DEPMOD=echo MODLIB=${D}${base_libdir}/modules/${KERNEL_VERSION} INSTALL_FW_PATH=${D}${base_libdir}/firmware modules_install - rm "${D}${base_libdir}/modules/${KERNEL_VERSION}/build" - rm "${D}${base_libdir}/modules/${KERNEL_VERSION}/source" + oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install + rm "${D}/lib/modules/${KERNEL_VERSION}/build" + rm "${D}/lib/modules/${KERNEL_VERSION}/source" # If the kernel/ directory is empty remove it to prevent QA issues - rmdir --ignore-fail-on-non-empty "${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel" + rmdir --ignore-fail-on-non-empty "${D}/lib/modules/${KERNEL_VERSION}/kernel" else bbnote "no modules to install" fi@@ -478,7 +478,7 @@ EXPORT_FUNCTIONS do_compile do_install do_configure # kernel-image becomes kernel-image-${KERNEL_VERSION} PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-dev kernel-modules" FILES_${PN} = "" -FILES_kernel-base = "${base_libdir}/modules/${KERNEL_VERSION}/modules.order ${base_libdir}/modules/${KERNEL_VERSION}/modules.builtin" +FILES_kernel-base = "/lib/modules/${KERNEL_VERSION}/modules.order /lib/modules/${KERNEL_VERSION}/modules.builtin" FILES_kernel-image = "" FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH} /lib/modules/${KERNEL_VERSION}/build" FILES_kernel-vmlinux = "/boot/vmlinux-${KERNEL_VERSION_NAME}"@@ -511,7 +511,7 @@ pkg_postinst_kernel-base () { PACKAGESPLITFUNCS_prepend = "split_kernel_packages " python split_kernel_packages () { - do_split_packages(d, root='${base_libdir}/firmware', file_regex='^(.*)\.(bin|fw|cis|csp|dsp)$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='') + do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.(bin|fw|cis|csp|dsp)$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='') } # Many scripts want to look in arch/$arch/boot for the bootable
Re: [PATCH 2/2] Revert "kernel: Modify kernel modules installation path."
Quoted 4 lines · Jason Wessel
It may be fixable by using, ${nonarch_base_libdir}, but it wasn't quite that simple because it didn't fully work for the firmware loader so for now it would be best to just revert the two patches and keep oe-core working.
I saw the first commit message, slapped my forehead and thought nonarch_base_libdir. What was the problem this approach had?
We obviously need to do more real hardware testing of multilib...
Ross
Re: [PATCH 2/2] Revert "kernel: Modify kernel modules installation path."
In reply to Jason WesselHi Jason,
Quoted 3 lines · Jason Wessel
The issue here is that in a multilib build the ${base_libdir} is resolving to /lib64 which completely breaks some tools that fully expect
/lib/modulesto be a fixed location regardless if the target is 32/64 or something else.
I would expect the kernel to be ok with this change if we provide the kernel command line parameter: "firmware_class.path=${base_libdir}" or similar.
Could you please list the other tools that could break with this change?
Quoted 4 lines
It may be fixable by using, ${nonarch_base_libdir}, but it wasn't quite that simple because it didn't fully work for the firmware loader so for now it would be best to just revert the two patches and keep oe-core working.
Cheers,
Jason.
Best Regards,
Maxin
Quoted 69 lines · Jason Wessel
Quoted 60 lines
This reverts commit
0ccb2efe9837e2915c093341a662dffc1df00866.The OVS fails to function and the kernel modules cannot be found by any of the kernel tools such as depmod because they are installed into the wrong directory in multilib 64bit/32bit bulids.
Signed-off-by Jason Wessel <[email protected]>--- meta/classes/kernel-module-split.bbclass | 2 +- meta/classes/kernel.bbclass | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-)meta/classes/kernel-module-split.bbclass +1
-1@@ -127,7 +127,7 @@ python split_kernel_module_packages () { postinst = d.getVar('pkg_postinst_modules') postrm = d.getVar('pkg_postrm_modules') - modules = do_split_packages(d, root='${base_libdir}/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='kernel-%s' % (d.getVar("KERNEL_VERSION"))) + modules = do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='kernel-%s' % (d.getVar("KERNEL_VERSION"))) if modules: metapkg = d.getVar('KERNEL_MODULES_META_PACKAGE') d.appendVar('RDEPENDS_' + metapkg, ' '+' '.join(modules))meta/classes/kernel.bbclass +6
-6@@ -296,11 +296,11 @@ kernel_do_install() { # unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then - oe_runmake DEPMOD=echo MODLIB=${D}${base_libdir}/modules/${KERNEL_VERSION} INSTALL_FW_PATH=${D}${base_libdir}/firmware modules_install - rm "${D}${base_libdir}/modules/${KERNEL_VERSION}/build" - rm "${D}${base_libdir}/modules/${KERNEL_VERSION}/source" + oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install + rm "${D}/lib/modules/${KERNEL_VERSION}/build" + rm "${D}/lib/modules/${KERNEL_VERSION}/source" # If the kernel/ directory is empty remove it to prevent QA issues - rmdir --ignore-fail-on-non-empty "${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel" + rmdir --ignore-fail-on-non-empty "${D}/lib/modules/${KERNEL_VERSION}/kernel" else bbnote "no modules to install" fi@@ -478,7 +478,7 @@ EXPORT_FUNCTIONS do_compile do_install do_configure # kernel-image becomes kernel-image-${KERNEL_VERSION} PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-dev kernel-modules" FILES_${PN} = "" -FILES_kernel-base = "${base_libdir}/modules/${KERNEL_VERSION}/modules.order ${base_libdir}/modules/${KERNEL_VERSION}/modules.builtin" +FILES_kernel-base = "/lib/modules/${KERNEL_VERSION}/modules.order /lib/modules/${KERNEL_VERSION}/modules.builtin" FILES_kernel-image = "" FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH} /lib/modules/${KERNEL_VERSION}/build" FILES_kernel-vmlinux = "/boot/vmlinux-${KERNEL_VERSION_NAME}"@@ -511,7 +511,7 @@ pkg_postinst_kernel-base () { PACKAGESPLITFUNCS_prepend = "split_kernel_packages " python split_kernel_packages () { - do_split_packages(d, root='${base_libdir}/firmware', file_regex='^(.*)\.(bin|fw|cis|csp|dsp)$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='') + do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.(bin|fw|cis|csp|dsp)$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='') } # Many scripts want to look in arch/$arch/boot for the bootableSignature · 4 lines
_______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [PATCH 2/2] Revert "kernel: Modify kernel modules installation path."
Quoted 10 lines · Maxin B. John
Quoted 1 line
The issue here is that in a multilib build the ${base_libdir} is
resolving to /lib64 which completely breaks some tools that fully expect
/lib/modulesto be a fixed location regardless if the target is 32/64 or something else.Quoted 1 line
I would expect the kernel to be ok with this change if we provide the kernel command
line parameter: "firmware_class.path=${base_libdir}" or similar.
I believe that using nonarch_base_libdir is the proper fix here, we need to understand why this didn't just work.
Ross
Re: [PATCH 2/2] Revert "kernel: Modify kernel modules installation path."
Quoted 10 lines · Ross
Quoted 2 lines · On 20 January 2017 at 13:29, Maxin B. John <[email protected]…
The issue here is that in a multilib build the ${base_libdir} is resolving to /lib64 which completely breaks some tools that fully expect
/lib/modulesto be a fixed location regardless if the target is 32/64 or something else.I would expect the kernel to be ok with this change if we provide the kernel command line parameter: "firmware_class.path=${base_libdir}" or similar.
You are correct that this could work, but that is not a parameter I would expect to set in the default case. It would only be something I used to execute a system rollback where I need firmware to get the device running again.
Quoted 3 lines
I believe that using
nonarch_base_libdiris the proper fix here, we need to understand why this didn't just work.Ross
When I had tried the search and replace I still ended up with the following problem, which is why I elected to just revert to what worked previously.
WARNING: linux-yocto-4.8.12+gitAUTOINC+3edb4de355_9bcb4ea3fa-r0 do_package: QA Issue: linux-yocto: Files/directories were installed but not shipped in any package:
/lib64
/lib/modules/4.8.17-yocto-standard/modules.builtin
/lib64/firmware
/lib64/firmware/cpia2
/lib64/firmware/cpia2/stv0672_vp4.bin
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
linux-yocto: 5 installed and not shipped files. [installed-vs-shipped]
I am sure this problem can be corrected and debugged.
Cheers,
Jason.
Re: [PATCH 2/2] Revert "kernel: Modify kernel modules installation path."
Quoted 12 lines · Jason Wessel
WARNING: linux-yocto-4.8.12+gitAUTOINC+3edb4de355_9bcb4ea3fa-r0
do_package: QA Issue: linux-yocto: Files/directories were installed but not shipped in any package:
/lib64
/lib/modules/4.8.17-yocto-standard/modules.builtin/lib64/firmware
/lib64/firmware/cpia2
/lib64/firmware/cpia2/stv0672_vp4.bin
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them withindo_install.
linux-yocto: 5 installed and not shipped files. [installed-vs-shipped]
I suspect this is trivial with fresh eyes. What multilib configuration are you using? My usual "test multilib" stanza is:
#require conf/multilib.conf
#MULTILIBS_x86-64 = "multilib:lib32"
#DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
I'm guessing this isn't going to produce the same paths that you're seeing problems with.
Ross
Re: [PATCH 2/2] Revert "kernel: Modify kernel modules installation path."
Quoted 14 lines · Ross
On 20 January 2017 at 13:48, Jason Wessel <[email protected] <mailto:[email protected]>> wrote:
WARNING: linux-yocto-4.8.12+gitAUTOINC+3edb4de355_9bcb4ea3fa-r0 do_package: QA Issue: linux-yocto: Files/directories were installed but not shipped in any package: /lib64 /lib/modules/4.8.17-yocto-standard/modules.builtin /lib64/firmware /lib64/firmware/cpia2 /lib64/firmware/cpia2/stv0672_vp4.bin Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. linux-yocto: 5 installed and not shipped files. [installed-vs-shipped]I suspect this is trivial with fresh eyes. What multilib configuration are you using? My usual "test multilib" stanza is:
Quoted 7 lines
#require
conf/multilib.conf
#MULTILIBS_x86-64 = "multilib:lib32"
#DEFAULTTUNE_virtclass-multilib-lib32 = "x86"I'm guessing this isn't going to produce the same paths that you're seeing problems with.
Ross
It looks like it probably should.
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
If for some reason you wanted to perform the exact same build I have the instructions to do so:
https://github.com/WindRiver-OpenSourceLabs/wr-core/blob/master/docs/README-intel-x86.TXT
That basically amounts to:
git clone -b master --recurse-submodules https://github.com/WindRiver-OpenSourceLabs/wr-core
cd wr-core
. init-intel-x86-env
Jason.
Re: [PATCH 2/2] Revert "kernel: Modify kernel modules installation path."
Hi,
I am very sorry, i couldn't respond earlier than this, somehow i missed this thread :(
The motivation of these patches was achieving merged '/usr' in oe-core, which demands no package installs anything into root(/bin, /sbin, /lib) folders, and i see no exception for kernel modules/firmware(may be i am wrong :!). In the real merged usr environment this shouldn't be a problem as the root symlinks exists.
I guess i can resend these patches as part of 'usrmerge' feature patch sequence, by keeping these changes behind DISTRO_FEATURES check:
- Amarnath
Quoted 68 lines · Jason Wessel
Quoted 27 lines · Ross
On 20 January 2017 at 13:48, Jason Wessel
<[email protected]> wrote:WARNING: linux-yocto-4.8.12+gitAUTOINC +3edb4de355_9bcb4ea3fa-r0 do_package: QA Issue: linux-yocto: Files/directories were installed but not shipped in any package: /lib64 /lib/modules/4.8.17-yocto-standard/modules.builtin /lib64/firmware /lib64/firmware/cpia2 /lib64/firmware/cpia2/stv0672_vp4.bin Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. linux-yocto: 5 installed and not shipped files. [installed-vs-shipped]I suspect this is trivial with fresh eyes. What multilib configuration are you using? My usual "test multilib" stanza is:
#require
conf/multilib.conf
#MULTILIBS_x86-64 = "multilib:lib32"
#DEFAULTTUNE_virtclass-multilib-lib32 = "x86"Quoted 5 lines
I'm guessing this isn't going to produce the same paths that you're seeing problems with.
Ross
It looks like it probably should.
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"If for some reason you wanted to perform the exact same build I have the instructions to do so:
https://github.com/WindRiver-OpenSourceLabs/wr-core/blob/master/docs/README-intel-x86.TXT
That basically amounts to:
git clone -b master --recurse-submodules
https://github.com/WindRiver-OpenSourceLabs/wr-corecd wr-core
. init-intel-x86-env
Jason.
Signature · 4 lines
_______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core