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

此方法常用于 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 镜像

单独烧入到机器中进行调试了。

iTOP-RK3568开发板Android kernel移植-单独编译内核_第1张图片

 

你可能感兴趣的:(3568开发板)