diff --git a/build/Makefile b/build/Makefile index 537560000..e9b228455 100644 --- a/build/Makefile +++ b/build/Makefile @@ -550,13 +550,25 @@ br-rootfs-prepare:export CROSS_COMPILE_KERNEL=$(patsubst "%",%,$(CONFIG_CROSS_CO br-rootfs-prepare:export CROSS_COMPILE_SDK=$(patsubst "%",%,$(CONFIG_CROSS_COMPILE_SDK)) br-rootfs-prepare: $(call print_target) + # copy ko and mmf libs - ${Q}mkdir -p $(BR_OVERLAY_DIR)/mnt/system - ${Q}cp -arf ${SYSTEM_OUT_DIR}/* $(BR_OVERLAY_DIR)/mnt/system/ + ${Q}mkdir -p $(BR_ROOTFS_DIR)/mnt/system + ${Q}cp -arf ${SYSTEM_OUT_DIR}/* $(BR_ROOTFS_DIR)/mnt/system/ + + # copy milkv overlay files + ${Q}cp -arf $(TOP_DIR)/device/common/br_overlay/* $(BR_ROOTFS_DIR)/ + + # clean this directory for multiple targets + ${Q}rm -rf $(BR_OVERLAY_DIR) + # strip - ${Q}find $(BR_OVERLAY_DIR) -name "*.ko" -type f -printf 'striping %p\n' -exec $(CROSS_COMPILE_KERNEL)strip --strip-unneeded {} \; - ${Q}find $(BR_OVERLAY_DIR) -name "*.so*" -type f -printf 'striping %p\n' -exec $(CROSS_COMPILE_KERNEL)strip --strip-all {} \; - ${Q}find $(BR_OVERLAY_DIR) -executable -type f ! -name "*.sh" ! -path "*etc*" ! -path "*.ko" -printf 'striping %p\n' -exec $(CROSS_COMPILE_SDK)strip --strip-all {} 2>/dev/null \; + ${Q}find $(BR_ROOTFS_DIR) -name "*.ko" -type f -printf 'striping %p\n' -exec $(CROSS_COMPILE_KERNEL)strip --strip-unneeded {} \; + ${Q}find $(BR_ROOTFS_DIR) -name "*.so*" -type f -printf 'striping %p\n' -exec $(CROSS_COMPILE_KERNEL)strip --strip-all {} \; + ${Q}find $(BR_ROOTFS_DIR) -executable -type f ! -name "*.sh" ! -path "*etc*" ! -path "*.ko" -printf 'striping %p\n' -exec $(CROSS_COMPILE_SDK)strip --strip-all {} 2>/dev/null \; + + # copy all files to buildroot overlay dir + ${Q}mkdir -p $(BR_OVERLAY_DIR) + ${Q}cp -arf $(BR_ROOTFS_DIR)/* $(BR_OVERLAY_DIR) br-rootfs-pack:export TARGET_OUTPUT_DIR=$(BR_DIR)/output/$(BR_BOARD) br-rootfs-pack: @@ -564,6 +576,8 @@ br-rootfs-pack: ${Q}$(MAKE) -C $(BR_DIR) $(BR_DEFCONFIG) BR2_TOOLCHAIN_EXTERNAL_PATH=$(CROSS_COMPILE_PATH) ${Q}$(BR_DIR)/utils/brmake -j${NPROC} -C $(BR_DIR) # ${Q}rm -rf $(BR_ROOTFS_DIR)/* + ${Q}rm -rf $(BR_MV_VENDOR_DIR) + # copy rootfs to rawimg dir ${Q}cp $(TARGET_OUTPUT_DIR)/images/rootfs.ext4 $(OUTPUT_DIR)/rawimages/rootfs_ext4.$(STORAGE_TYPE) $(call raw2cimg ,rootfs_ext4.$(STORAGE_TYPE)) diff --git a/build/envsetup_milkv.sh b/build/envsetup_milkv.sh index bdad9df62..916e93e4c 100644 --- a/build/envsetup_milkv.sh +++ b/build/envsetup_milkv.sh @@ -853,11 +853,20 @@ function cvi_setup_env() export SYSTEM_OUT_DIR export CROSS_COMPILE_PATH # buildroot config + if [ -z "${MV_BOARD// }" ]; then + print_error "No MV_BOARD specified!" + return 1 + fi + if [ -z "${MV_VENDOR// }" ]; then + print_error "No MV_VENDOR specified!" + return 1 + fi export BR_DIR="$TOP_DIR"/buildroot-2024.02 - export BR_BOARD=cvitek_${CHIP_ARCH}_${SDK_VER} - export BR_OVERLAY_DIR=${BR_DIR}/board/cvitek/${CHIP_ARCH}/overlay + export BR_BOARD=${MV_BOARD} + export BR_OVERLAY_DIR=${BR_DIR}/board/${MV_VENDOR}/${MV_BOARD}/overlay export BR_DEFCONFIG=${BR_BOARD}_defconfig export BR_ROOTFS_DIR="$OUTPUT_DIR"/tmp-rootfs + export BR_MV_VENDOR_DIR=${BR_DIR}/board/${MV_VENDOR} } cvi_print_env()