此方法常用于 kernel 的開發(fā)和調(diào)試,以下的方法既編譯 kernel 部分時(shí), 同 時(shí)打包成 boot.img, 這樣加快了我們開發(fā)的速度; 進(jìn)入內(nèi)核目錄下, 輸入以下命令: 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 目錄下創(chuàng)建 makekernel.sh, 在調(diào)試的過(guò)程中直接在 kernel 目錄下執(zhí)行該腳本,makekernel.sh 內(nèi)容為: #!/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 我們來(lái)解釋以上命令是什么意思! 1. BOOT_IMG是指定前置的boot.img,因?yàn)閎oot.img鏡像里面不單獨(dú)只有kernel 和 resource,還有其他文件,所以要指定個(gè) boot.img 把新的 kernel 和 resource 覆 蓋進(jìn)去,boot.img 的位置在所編譯出來(lái)的 rockdev/Image-rk3568_r/目錄下; 2. rk3568-evb1-ddr4-v10.img 是指定所使用的設(shè)備樹 DTS; 3 注意:如果不指定 BOOT_IMG,會(huì)導(dǎo)致在下載后,系統(tǒng)會(huì)跑進(jìn)了 Recovery 模式(或者引起其他啟動(dòng)錯(cuò)誤),而不是進(jìn)入正常的啟動(dòng)流程; 打包完后,在 kernel 目錄有 boot.img 鏡像生成,就可以把這個(gè) boot.img 鏡像 單獨(dú)燒入到機(jī)器中進(jìn)行調(diào)試了。 |
|
來(lái)自: 新用戶5070CYgq > 《3A5000》