rk3576 android14 sdk编译 【rk3576】 android14 sdk 编译开始做新项目记录rk3576的修改记录系统编译source build/envsetup.shlunch rk3576_u-userdebugPLATFORM_VERSION_CODENAMERELPLATFORM_VERSION14PRODUCT_INCLUDE_TAGScom.android.mainlineTARGET_PRODUCTrk3576_uTARGET_BUILD_VARIANTuserdebugTARGET_ARCHarm64TARGET_ARCH_VARIANTarmv8-aTARGET_CPU_VARIANTgenericTARGET_2ND_ARCHarmTARGET_2ND_ARCH_VARIANTarmv8-aTARGET_2ND_CPU_VARIANTgenericHOST_OSlinuxHOST_OS_EXTRALinux-5.15.0-58-generic-x86_64-Ubuntu-20.04.2-LTSHOST_CROSS_OSwindowsBUILD_IDUQ1A.240205.004.B1./build.sh -UCKAuU 编译ubootCK 编译内核使用clangA 编译androidu 打包成update.imgbuild.sh修改1、新增M参数 M) echo will build kernel config BUILD_KERNEL_WITH_CLANGtrue BUILD_KERNEL_CONFIGtrue ;; A) -143,10 153,29 else ADDON_ARGSCCclang LDld.lld fi fi # build kernel config if [ $BUILD_KERNEL_CONFIG true ] ; then echo Start build kernel echo $KERNEL_DEFCONFIG cd $LOCAL_KERNEL_PATH make $ADDON_ARGS ARCH$KERNEL_ARCH -j$BUILD_JOBS menuconfig cd - if [ $? -eq 0 ]; then echo Build kernel menuconfig ok! exit 1 else echo Build kernel failed! exit 1 fi fi # build kernel if [ $BUILD_KERNEL true ] ; then echo Start build kernel -cd $LOCAL_KERNEL_PATH make clean make $ADDON_ARGS ARCH$KERNEL_ARCH $KERNEL_DEFCONFIG make $ADDON_ARGS ARCH$KERNEL_ARCH $KERNEL_DTS.img -j$BU echo $KERNEL_DEFCONFIG #cd $LOCAL_KERNEL_PATH make clean make $ADDON_ARGS ARCH$KERNEL_ARCH $KERNEL_DEFCONFIG make $ADDON_ARGS ARCH$KERNEL_ARCH $KERNEL_DTS.img -j$B cd $LOCAL_KERNEL_PATH make $ADDON_ARGS ARCH$KERNEL_ARCH $KERNEL_DTS.img -j$BUILD_JOBS cd - #cd $LOCAL_KERNEL_PATH make $ADDON_ARGS ARCH$KERNEL_ARCH -j$BUILD_JOBS menuconfig cd - if [ $? -eq 0 ]; then内核中 make menuconfig总是出错环境和以前有了很大区别在build.sh新增一条用于修改menuconfig的配置暂时关闭每次编译内核都重新配置config这样想增加个驱动比较麻烦编译后镜像都生成在rockdevls rockdev/Image-rk3576_ubaseparameter.img boot.img dtbo.img misc.img pcba_small_misc.img recovery.img super.img update.imgboot-debug.img config.cfg MiniLoaderAll.bin parameter.txt pcba_whole_misc.img resource.img uboot.img vbmeta.imgMiniLoaderAll.bin 芯片上电 MaskROM 首先加载负责初始化 DDR、基础存储、串口然后加载 uboot.img。uboot.img uboot镜像由uboot.binOP-TEE安全系统构成负责引导内核、parameter.txt 分区表的瑞芯微格式baseparameter.img 二进制版本分区参数镜像部分启动流程读取和 parameter.txt 一一对应。以前的sdk好像没有这个镜像。boot.img Linux内核android的ramdiskboot-debug.img 调试版 boot.img一般开启 kgdb、更多 log、关闭部分安全限制user 版本设备可单独烧录用来调试内核。dtbo.img Device Tree Overlay 设备树叠加镜像同一套固件兼容多款硬件常用 dtbo。vbmeta.img AVB2.0 安卓验证启动签名镜像校验 boot.img、recovery.img 完整性防止固件篡改如果需要关闭 AVB 校验要修改 vbmeta 或者使用 avbtool 清空 hash。recovery.img 恢复模式镜像super.img 动态分区大包Android10 标准内部包含system、vendor、product、system_ext、odm不再分开生成各个 img所有安卓系统、厂商驱动、预制 APP 全部打包在 super 内。以前是单独的system镜像现在堆一起了。config.cfg RKdevTool烧写配置文件update.img 瑞芯微统一整机固件包rkImageMaker 打包生成启动流程MaskROM → MiniLoaderAll.bin → uboot.img → 读取 parameter → vbmeta 校验 → boot.img (内核) → super.img (安卓系统)