本文基于Purple Pi OH 3566主板,介绍Android11源码的修改,获得可从SD卡启动的Android11系统镜像。
Purple Pi OH作为一款兼容树莓派的开源主板,采用瑞芯微RK3566 (Cortex-A55) 四核64位超强CPU,主频最高达1.8 GHz,算力高达1Tops,支持INT8/INT16,支持TensorFlow/MXNet/PyTorch/Caffe框架,多路视频输出和输入,支持4K、H.265/H.264视频解码,接口丰富。
玩法丰富,支持Android 11、Debian 10、OpenHarmony3.2、Ubuntu、麒麟OS等多种系统,提供丰富开源资料。
产品规格书查看深圳触觉智能官网产品中心
u-boot配置
uboot中取消CONFIG_OPTEE_CLIENT配置,修改u-boot/configs/rk3568_defconfig配置文件,找到CONFIG_OPTEE_CLIENT配置后注释(在前面加 # 号)即可
修改完成重新编译u-boot
kernel配置
配置SD卡控制节点支supports-emmc 功能,在kernel/arch/arm64/boot/dts/rockchip/ido-pi-oh3566-core.dtsi找到&sdmmc0节点,添加加入supports-emmc字段,此配置标识插槽为 emmc 功能,为必须添加项。否则系统启动无法将SD卡识别为 emmc 设备。
&sdmmc0 {
...
supports-emmc;
status = "okay";
};
查看&sdmmc0节点的地址,从kernel/arch/arm64/boot/dts/rockchip/rk3568.dtsi文件找到可以找到sdmmc0的地址为fe2b0000
sdmmc0: dwmmc@fe2b0000{
...
}
修改完成重新编译kernel
device配置
将SD卡的控制节点添加至系统的启动设备中,在device/rockchip/rk356x/device.mk文件中找到PRODUCT_BOOT_DEVICE,在后面追加fe2b0000.dwmmc(注意用逗号分隔)
PRODUCT_BOOT_DEVICE := xxx,fe2b0000.dwmmc
修改完成重新编译源码
SD启动卡制作方法
SD启动卡的制作和镜像烧录方法参考以下链接的文章:
https://industio.yuque.com/industio/gyzv1h/rofk7u1mrg1umtfp