diff --git a/packages/linux/package.mk b/packages/linux/package.mk index d58596b1e4..ac8bd8a12f 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -45,6 +45,8 @@ fi if [ "$TARGET_ARCH" = "x86_64" ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET elfutils:host pciutils" PKG_DEPENDS_UNPACK+=" intel-ucode kernel-firmware" +elif [ "$TARGET_ARCH" = "arm" -a "$DEVICE" = "iMX6" ]; then + PKG_DEPENDS_UNPACK+=" firmware-imx" fi if [[ "$KERNEL_TARGET" = uImage* ]]; then @@ -153,6 +155,15 @@ pre_make_target() { FW_LIST="$(find $PKG_BUILD/external-firmware \( -type f -o -type l \) \( -iname '*.bin' -o -iname '*.fw' -o -path '*/intel-ucode/*' \) | sed 's|.*external-firmware/||' | sort | xargs)" sed -i "s|CONFIG_EXTRA_FIRMWARE=.*|CONFIG_EXTRA_FIRMWARE=\"${FW_LIST}\"|" $PKG_BUILD/.config + + elif [ "$TARGET_ARCH" = "arm" -a "$DEVICE" = "iMX6" ]; then + mkdir -p $PKG_BUILD/external-firmware/imx/sdma + cp -a $(get_build_dir firmware-imx)/firmware/sdma/*imx6*.bin $PKG_BUILD/external-firmware/imx/sdma + cp -a $(get_build_dir firmware-imx)/firmware/vpu/*imx6*.bin $PKG_BUILD/external-firmware + + FW_LIST="$(find $PKG_BUILD/external-firmware -type f | sed 's|.*external-firmware/||' | sort | xargs)" + sed -i -e "s|^CONFIG_EXTRA_FIRMWARE=.*$|CONFIG_EXTRA_FIRMWARE=\"${FW_LIST}\"|" $PKG_BUILD/.config + sed -i -e "/CONFIG_EXTRA_FIRMWARE_DIR/d" -e "/CONFIG_EXTRA_FIRMWARE=.../a CONFIG_EXTRA_FIRMWARE_DIR=\"external-firmware\"" $PKG_BUILD/.config fi kernel_make oldconfig