diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 3e007b2971..2b56da0963 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -152,7 +152,18 @@ pre_make_target() { } make_target() { - kernel_make modules + # arm64 target does not support creating uImage. + # Build Image first, then wrap it using u-boot's mkimage. + if [[ "$TARGET_KERNEL_ARCH" = "arm64" && "$KERNEL_TARGET" = uImage* ]]; then + if [ -z "$KERNEL_UIMAGE_LOADADDR" -o -z "$KERNEL_UIMAGE_ENTRYADDR" ]; then + die "ERROR: KERNEL_UIMAGE_LOADADDR and KERNEL_UIMAGE_ENTRYADDR have to be set to build uImage - aborting" + fi + KERNEL_UIMAGE_TARGET="$KERNEL_TARGET" + KERNEL_TARGET="${KERNEL_TARGET/uImage/Image}" + fi + + kernel_make $KERNEL_TARGET $KERNEL_MAKE_EXTRACMD modules + kernel_make INSTALL_MOD_PATH=$INSTALL/$(get_kernel_overlay_dir) modules_install rm -f $INSTALL/$(get_kernel_overlay_dir)/lib/modules/*/build rm -f $INSTALL/$(get_kernel_overlay_dir)/lib/modules/*/source @@ -190,21 +201,6 @@ make_target() { ) fi - # arm64 target does not support creating uImage. - # Build Image first, then wrap it using u-boot's mkimage. - if [[ "$TARGET_KERNEL_ARCH" = "arm64" && "$KERNEL_TARGET" = uImage* ]]; then - if [ -z "$KERNEL_UIMAGE_LOADADDR" -o -z "$KERNEL_UIMAGE_ENTRYADDR" ]; then - die "ERROR: KERNEL_UIMAGE_LOADADDR and KERNEL_UIMAGE_ENTRYADDR have to be set to build uImage - aborting" - fi - KERNEL_UIMAGE_TARGET="$KERNEL_TARGET" - KERNEL_TARGET="${KERNEL_TARGET/uImage/Image}" - fi - - # the modules target is required to get a proper Module.symvers - # file with symbols from built-in and external modules. - # Without that it'll contain only the symbols from the kernel - kernel_make $KERNEL_TARGET $KERNEL_MAKE_EXTRACMD modules - if [ -n "$KERNEL_UIMAGE_TARGET" ] ; then # determine compression used for kernel image KERNEL_UIMAGE_COMP=${KERNEL_UIMAGE_TARGET:7}