android 编译boot.img、dt.img、uboot.bin脚本
2020-02-17 01:37
169 查看
#!/bin/bash function start_dtb() { rm -rf $OUT_TARGET_DIR/obj/KERNEL_OBJ/customer/arch/$KERNEL_ARCH/boot/dts/X3_2g.dtb echo "delete $OUT_TARGET_DIR/obj/KERNEL_OBJ/customer/arch/$KERNEL_ARCH/boot/dts/X3_2g.dtb" rm -rf $OUT_TARGET_DIR/dt.img echo "delete $OUT_TARGET_DIR/dt.img" sed -i 's/^#include \\\"partition_.*/#include \\\"partition_mbox_normal_P_32.dtsi\\\"/' $DTS_PATH/X3_2g.dts; sed -i 's/^#include \\\"firmware_.*/#include \\\"firmware_system.dtsi\\\"/' $DTS_PATH/partition_mbox_normal_P_32.dtsi; if [ -f \"common/customer/arch/arm/boot/dts/X3_2g.dtd\" ]; then make -j32 -C common O=$KERNEL_OUT ARCH=$KERNEL_ARCH CROSS_COMPILE=$PREFIX_CROSS_COMPILE X3_2g.dtd; fi make -j32 -C common O=$KERNEL_OUT ARCH=$KERNEL_ARCH CROSS_COMPILE=$PREFIX_CROSS_COMPILE X3_2g.dtb; cp -f $KERNEL_OUT/customer/arch/arm/boot/dts/X3_2g.dtb $OUT_TARGET_DIR/dt.img echo "Install $OUT_TARGET_DIR/dt.img" } function start_boot() { make -j32 -C common O=$KERNEL_OUT ARCH=$KERNEL_ARCH CROSS_COMPILE=$PREFIX_CROSS_COMPILE $BUILD_CONFIG echo "make config done!" make -j32 -C common O=$KERNEL_OUT ARCH=$KERNEL_ARCH CROSS_COMPILE=$PREFIX_CROSS_COMPILE modules uImage echo "make kernel image done!" rm -rf $OUT_TARGET_DIR/kernel rm -rf $OUT_TARGET_DIR/boot.img cp -rf $INTERMEDIATES_KERNEL $OUT_TARGET_DIR/kernel out/host/linux-x86/bin/mkbootimg --second out/target/product/projector/2ndbootloader --kernel out/target/product/projector/kernel --base 0x0 --os_version 9 --os_patch_level 2018-08-05 --cmdline \"androidboot.dtbo_idx=0\" --cmdline \"root=/dev/mmcblk0p18\" --output out/target/product/projector/boot.img echo "build boot.img done!" } function start_uboot() { rm -rf $OUT_TARGET_DIR/bootloader.img rm -rf $ANDROID_PATH/device/customer/$PROJECTOR/bootloader.img cd $ANDROID_PATH/bootloader/uboot-repo ./mk obe_projector_X3 --systemroot cd $ANDROID_PATH cp -rf $UBOOT_PATH/build/u-boot.bin $OUT_TARGET_DIR/bootloader.img cp -rf $UBOOT_PATH/build/u-boot.bin $ANDROID_PATH/device/customer/projector/bootloader.img cp -rf $UBOOT_PATH/build/u-boot.bin.usb.bl2 $ANDROID_PATH/device/customer/projector/upgrade/u-boot.bin.usb.bl2 cp -rf $UBOOT_PATH/build/u-boot.bin.usb.tpl $ANDROID_PATH/device/customer/projector/upgrade/u-boot.bin.usb.tpl cp -rf $UBOOT_PATH/build/u-boot.bin.sd.bin $ANDROID_PATH/device/customer/projector/upgrade/u-boot.bin.sd.bin echo "build bootloader.img done" } KERNEL_ARCH=arm ANDROID_PATH=`cd $(dirname $0); pwd -P` DTS_PATH=$ANDROID_PATH/common/customer/arch/$KERNEL_ARCH/boot/dts PROJECTOR=projector UBOOT_PATH=$ANDROID_PATH/bootloader/uboot-repo OUT_TARGET_DIR=$ANDROID_PATH/out/target/product/$PROJECTOR PREFIX_CROSS_COMPILE=/opt/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- KERNEL_OUT=$OUT_TARGET_DIR/obj/KERNEL_OBJ KERNEL_DEFCONFIG=meson64_projector_defconfig INTERMEDIATES_KERNEL=${KERNEL_OUT}/arch/${KERNEL_ARCH}/boot/uImage if [ -z "$1" ]; then echo "x3_build.sh [-h]" echo "dtb: start build dt.img" echo "boot: start build boot.img" echo "uboot: start build bootloader.img" elif [ $1 == "uboot" ]; then echo "start make bootloader.img" start_uboot elif [ $1 == "boot" ]; then echo "start make boot.img" start_boot elif [ $1 == "dtb" ]; then echo "start make dt.img" start_dtb else echo "Please enter a valid parameter" fi
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Android studio Json数据的使用步骤
- Android studio创建数据库附加图片
- Android Spinner排序 ListView显示数据
- Android Activity和Intent机制学习笔记
- Android 最火的快速开发框架XUtils
- android asmack 注册 登陆 聊天 多人聊天室 文件传输
- 第一个androidAPP项目总结—ListView的上拉和下拉
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- android调用系统图片浏览器裁切后出现黑边
- Android Studio历史版本下载链接
- Android报错:Bomb CLEARTEXT communication to open-vip.bmob.cn not permitted by network security policy
- Android studio cmd命令行操作数据库文件导出,导入
- mui使用 android studio 编译器离线打包
- android传递参数
- android shape 基本语法
- 为什么Android系统要比ios卡。
- Android系统框架
- cordova android打包apk报错 Error: Cannot find module 'q'报错解决
- Android 源码proguard的使用
- 学习日记android为menu添加button和事件