就是塔塔的个人空间 https://www.eechina.com/space-uid-136863.html [收藏] [复制] [RSS]

博客

iTOP-RK3568开发板Android kernel移植-单独编译内核

已有 761 次阅读2023-4-10 09:59

此方法常用于 kernel 的开发和调试,以下的方法既编译 kernel 部分时, 同
时打包成 boot.img, 这样加快了我们开发的速度;
进入内核目录下, 输入以下命令:
cd kernel
make ARCH=arm64 CC=../prebuilts/clang/host/linux-x86/clang-r383902b/bin/clang
LD=../prebuilts/clang/host/linux-x86/clang-r383902b/bin/ld.lld rockchip_defconfig
android-11.config && make ARCH=arm64
CC=../prebuilts/clang/host/linux-x86/clang-r383902b/bin/clang
LD=../prebuilts/clang/host/linux-x86/clang-r383902b/bin/ld.lld
BOOT_IMG=../rockdev/Image-rk3568_r/boot.img rk3568-evb1-ddr4-v10.img
为方便使用,可以将上述命令写成脚本,在 kernel 目录下创建 makekernel.sh, 在调试的过程中直接在 kernel 目录下执行该脚本,makekernel.sh 内容为:
#!/bin/sh
make ARCH=arm64 CC=../prebuilts/clang/host/linux-x86/clang-r383902b/bin/clang
LD=../prebuilts/clang/host/linux-x86/clang-r383902b/bin/ld.lld rockchip_defconfig
android-11.config && make ARCH=arm64
CC=../prebuilts/clang/host/linux-x86/clang-r383902b/bin/clang
LD=../prebuilts/clang/host/linux-x86/clang-r383902b/bin/ld.lld
BOOT_IMG=../rockdev/Image-rk3568_r/boot.img rk3568-evb1-ddr4-v10.img
我们来解释以上命令是什么意思!
1. BOOT_IMG是指定前置的boot.img,因为boot.img镜像里面不单独只有kernel
和 resource,还有其他文件,所以要指定个 boot.img 把新的 kernel 和 resource 覆
盖进去,boot.img 的位置在所编译出来的 rockdev/Image-rk3568_r/目录下;
2. rk3568-evb1-ddr4-v10.img 是指定所使用的设备树 DTS;
3 注意:如果不指定 BOOT_IMG,会导致在下载后,系统会跑进了 Recovery
模式(或者引起其他启动错误),而不是进入正常的启动流程;
打包完后,在 kernel 目录有 boot.img 镜像生成,就可以把这个 boot.img 镜像
单独烧入到机器中进行调试了。


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部