From b3811faaa81e63a76902c5337c8e7c1472910962 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Mon, 8 Oct 2012 06:54:23 -0300 Subject: [PATCH] firmware-imx: Refactor recipe to avoid useless files in rootfs The recipe now generate a set of packages for each SoC so it avoids including useless files in rootfs. The architecture of binaries has also been change to all as it is in binary form. Change-Id: I912df305c0cda3a60e88a8e939f002464fd374ff Signed-off-by: Otavio Salvador --- .../recipes-bsp/firmware-imx/firmware-imx.inc | 52 ++++++++++++------- 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/meta-fsl-arm/recipes-bsp/firmware-imx/firmware-imx.inc b/meta-fsl-arm/recipes-bsp/firmware-imx/firmware-imx.inc index cee34bcb..414ca2b8 100644 --- a/meta-fsl-arm/recipes-bsp/firmware-imx/firmware-imx.inc +++ b/meta-fsl-arm/recipes-bsp/firmware-imx/firmware-imx.inc @@ -4,30 +4,42 @@ SECTION = "base" LICENSE = "Proprietary" LIC_FILES_CHKSUM = "file://licenses/vpu/EULA;md5=6469a8514eed615d6bf8c09f41846d8f" -INC_PR = "r3" +INC_PR = "r4" SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true" -inherit fsl-eula-unpack - -# todo: make FILES_ machine dependent using override, i.MX53 only now. -FILES_${PN} = "/lib/firmware/vpu/vpu_fw_imx53.bin" -FILES_${PN} += "/lib/firmware/sdma/sdma-imx53-to1.bin" -FILES_${PN} += "/lib/firmware/ath6k/*" -FILES_${PN} += "/lib/firmware/ar3k/*" +inherit fsl-eula-unpack allarch do_install() { - install -d ${D}/lib/firmware/vpu - install -m 0755 ${S}/firmware/vpu/vpu_fw_imx53.bin ${D}/lib/firmware/vpu - chmod 644 ${D}/lib/firmware/vpu/vpu_fw_imx53.bin - install -d ${D}/lib/firmware/sdma - install -m 0755 ${S}/firmware/sdma/sdma-imx53-to1.bin ${D}/lib/firmware/sdma - chmod 644 ${D}/lib//firmware/sdma/sdma-imx53-to1.bin - cp -rf ${S}/firmware/ath6k ${D}/lib/firmware - cp -rf ${S}/firmware/ar3k ${D}/lib/firmware + install -d ${D}/lib/firmware + cp -rfv firmware/* ${D}/lib/firmware/ + find ${D}/lib/firmware -type f -exec chmod 644 '{}' ';' + + # Remove files not going to be installed + find ${D}/lib/firmware/ -name Android.mk -exec rm '{}' ';' + rm ${D}/lib/firmware/LICENCE.atheros_firmware \ + ${D}/lib/firmware/README +} + +PACKAGES += "${PN}-ath6k ${PN}-ar3k" + +FILES_${PN}-ath6k = "/lib/firmware/ath6k/*" +FILES_${PN}-ar3k = "/lib/firmware/ar3k/*" + +python populate_packages_prepend() { + vpudir = bb.data.expand('/lib/firmware/vpu', d) + do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin', + output_pattern='firmware-imx-vpu-%s', + description='Freescale IMX Firmware %s', + extra_depends='', + prepend=True) + + sdmadir = bb.data.expand('/lib/firmware/sdma', d) + do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin', + output_pattern='firmware-imx-sdma-%s', + description='Freescale IMX Firmware %s', + extra_depends='', + prepend=True) } -# Add an upgrade path -RPROVIDES_${PN} = "imx-firmware" -RREPLACES_${PN} = "imx-firmware" -RCONFLICTS_${PN} = "imx-firmware" +PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-*" -- 2.40.1