当前位置:   article > 正文

展锐T820平台Android11开发:kernel设备树编译问题_展锐平台 编译

展锐平台 编译

一.kernel多board自适应

        展锐平台的kernel具有多board自适应功能,即相同体系架构的两个不同的board间,boot.img、socko.img/odmko(vendorboot.img)、dtbo.img是可替换的,这些镜像文件称为R-img(Replaceable images,可替换的镜像)。

        要实现这样的效果,R-img都要满足一个共性条件就是SOC级的。

        针对R-img设备树相关成员的策略如下:

(1)dtb.img

        它是SoC级的,即同一款芯片同体系架构的不同board共用一个dtb。

(2)dtbo.img

         它包含多个board级的dtbo,通过uboot来匹配选择加载其中一个dtbo。

二.多dtb/dtbo架构

        kernel多board自适应实现后,dtb是SoC级的,dtbo是board级的。这就意味着:

(1)所有第三方及board特有的设备节点,只允许在dtbo中定义并使用。

(2)所有SoC级公用的设备节点在dtb中定义并使用。

2.1 dtb对应的源文件

        在arch/arm64/boot/dts/sprd/目录下,除了xxx-overlay.dts文件外,其余设备树文件将被编译打包成dtb文件,并打包到boot.img中。

2.2 dtbo文件对应的源文件

        在arch/arm64/boot/dts/sprd/目录下,xxx-overlay.dts文件将被打包编译成dtbo文件。

三.如何快速编译设备树

3.1 SoC级修改

        若修改了SoC级的设备树文件,则在Android源码根目录下依次执行以下命令:

  1. source build/envsetup.sh
  2. lunch  xxxx(选择产品)
  3. make bootimage

        编译成功后,将在以下目录生成boot.img:

out/target/product/<board name>/

        然后,在 ResearchDownload 工具中点击“下载设置”, 找到 Boot 分区选择 boot.img路径更新即可。

3.2 Board级修改

        若修改了xxx-overlay.dts文件,则切换到bsp目录下,进行单独编译即可。具体步骤如下:

  1. cd bsp/
  2. source build/envsetup.sh
  3. lunch xxx(产品名称)
  4. make dtboimage -j4

         编译成功后,将在以下目录生成 dtbo.img:

bsp/out/androidr/<product_name>/dist/kernel 

        然后,在 ResearchDownload 工具中点击“下载设置”, 找到dtbo分区选择 dtbo.img路径更新即可。

 

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/1005076
推荐阅读
相关标签
  

闽ICP备14008679号