diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 85a6273cd1..972127c5ec 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -36,6 +36,7 @@ case "$LINUX" in PKG_URL="https://github.com/LibreELEC/linux-amlogic/archive/$PKG_VERSION.tar.gz" PKG_SOURCE_DIR="$PKG_NAME-amlogic-$PKG_VERSION*" PKG_PATCH_DIRS="amlogic-3.10" + PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET aml-dtbtools:host" ;; amlogic-3.14) PKG_VERSION="2e193b8" @@ -43,6 +44,7 @@ case "$LINUX" in PKG_URL="https://github.com/LibreELEC/linux-amlogic/archive/$PKG_VERSION.tar.gz" PKG_SOURCE_DIR="$PKG_NAME-amlogic-$PKG_VERSION*" PKG_PATCH_DIRS="amlogic-3.14" + PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET aml-dtbtools:host" ;; *) PKG_VERSION="4.14" @@ -187,9 +189,24 @@ make_target() { LDFLAGS="" make $KERNEL_TARGET $KERNEL_MAKE_EXTRACMD if [ "$BUILD_ANDROID_BOOTIMG" = "yes" ]; then + DTB_BLOBS=($(ls arch/$TARGET_KERNEL_ARCH/boot/dts/amlogic/*.dtb 2>/dev/null || true)) + DTB_BLOBS_COUNT="${#DTB_BLOBS[@]}" + DTB_BLOB_OUTPUT="arch/$TARGET_KERNEL_ARCH/boot/dtb.img" + ANDROID_BOOTIMG_SECOND="--second $DTB_BLOB_OUTPUT" + + if [ "$DTB_BLOBS_COUNT" -gt 1 ]; then + $TOOLCHAIN/bin/dtbTool -o arch/$TARGET_KERNEL_ARCH/boot/dtb.img -p scripts/dtc/ arch/$TARGET_KERNEL_ARCH/boot/dts/amlogic/ + elif [ "$DTB_BLOBS_COUNT" -eq 1 ]; then + cp -PR $DTB_BLOBS $DTB_BLOB_OUTPUT + else + ANDROID_BOOTIMG_SECOND="" + fi + LDFLAGS="" mkbootimg --kernel arch/$TARGET_KERNEL_ARCH/boot/$KERNEL_TARGET --ramdisk $BUILD/image/initramfs.cpio \ - $ANDROID_BOOTIMG_OPTIONS --output arch/$TARGET_KERNEL_ARCH/boot/boot.img + $ANDROID_BOOTIMG_SECOND $ANDROID_BOOTIMG_OPTIONS --output arch/$TARGET_KERNEL_ARCH/boot/boot.img + mv -f arch/$TARGET_KERNEL_ARCH/boot/boot.img arch/$TARGET_KERNEL_ARCH/boot/$KERNEL_TARGET + fi }