提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
一、一键编译命令
二、各个平台编译命令汇总
1.其他编译说明
Android11.0不能直接烧写kernel.img和resource.img
单独编译kernel生成boot.img
前言
我们拉取代码完成后,一般要先编译下系统。看看是否编译通过防止在后面代码编写完还要去更新一些库文件等等。建议第一次编译使用一键编译命令哈。
一、一键编译命令
请注意使用一键编译命令之前需要设置环境变量,选择好自己需要编译的平台,
举例:
source build/envsetup.sh
lunch rk3566_rgo-userdebug(也可以先使用lunch回车查看自己要编译的版本。填入相关的数字就行,或者简单点“lunch 33”这里的33就是代表着“ rk3566_rgo-userdebug”)
./build.sh -UKAu
( WHERE: -U = build uboot
-C = build kernel with Clang
-K = build kernel
-A = build android
-p = will build packaging in IMAGE?
-o = build OTA package
-u = build update.img
-v = build android with 'user' or 'userdebug'
-d = huild kernel dts name
-V = build version
?-J = build jobs
------------大家可以按需使用,不用记录uboot/kernel编译命令了------------------ )
二、各个平台编译命令汇总
Soc | 类型 | 机型 | Android? ? ? ? | 一键编译 | kernel编译 | uboot编 译 |
---|
RK3566 | 平板 | 样机 | build/envsetup.sh;lunch rk3566_rgo-userdebug | ./build.sh - AUCKu | make ARCH=arm64 rockchip_defconfig android-11.config;make ARCH=arm64 rk3566- rk817-tablet.img -j24 | ./make.sh rk3566 | RK3568 | 开发板 | EVB1- DDR4-V10 | build/envsetup.sh;lunch rk3568_r-userdebug | ./build.sh - AUCKu | make ARCH=arm64 rockchip_defconfig rk356x_evb.config android-11.config;make ARCH=arm64 rk3568- evb1-ddr4-v10.img -j24 | ./make.sh rk3568???????? | RK3568 | 开发板 | EVB2- LPDDR4X- V10 | build/envsetup.sh;lunch rk3568_r-userdebug | ./build.sh - AUCKu | make ARCH=arm64 rockchip_defconfig rk356x_evb.config android-11.config;make ARCH=arm64 rk3568- evb2-lp4x-v10.img -j24 | ./make.sh rk3568? | RK3568 | 开发板 | EVB4- LPDDR3- V10 | build/envsetup.sh;lunch rk3568_r-userdebug | ./build.sh - AUCKu | make ARCH=arm64 rockchip_defconfig rk356x_evb.config android-11.config;make ARCH=arm64 rk3568- evb4-lp3-v10.img -j24 | ./make.sh rk3568? | RK3568 | 开发板 | EVB5- DDR4-V10 | build/envsetup.sh;lunch rk3568_r-userdebug | ./build.sh - AUCKu | make ARCH=arm64 rockchip_defconfig rk356x_evb.config android-11.config;make ARCH=arm64 rk3568- evb5-ddr4-v10.img -j24 | ./make.sh rk3568? | RK3568 | 开发板 | EVB6- DDR3-V10 | build/envsetup.sh;lunch rk3568_r-userdebug | ./build.sh - AUCKu | make ARCH=arm64 rockchip_defconfig rk356x_evb.config android-11.config;make ARCH=arm64 rk3568- evb6-ddr3-v10.img -j24 | ./make.sh rk3568? | RK3568 | 开发板 | EVB7- DDR4-V10 | build/envsetup.sh;lunch rk3568_r-userdebug | ./build.sh - AUCKu | make ARCH=arm64 rockchip_defconfig rk356x_evb.config android-11.config;make ARCH=arm64 rk3568- evb7-ddr4-v10.img -j24 | ./make.sh rk3568? | RK3566 | 开发板 | EVB1- DDR4-V10 | build/envsetup.sh;lunch rk3566_r-userdebug | /build.sh - AUCKu -d rk3566- evb2-lp4x- v10 | make ARCH=arm64 rockchip_defconfig rk356x_evb.config android-11.config;make ARCH=arm64 rk3566- evb1-ddr4-v10.img -j24 | ./make.sh rk3566 | RK3566 | 开发板 | EVB2- LP4X-V10 | build/envsetup.sh;lunch rk3566_r-userdebug | ./build.sh - AUCKu -d rk3566- evb2-lp4x- v10 | make ARCH=arm64 rockchip_defconfig rk356x_evb.config android-11.config;make ARCH=arm64 rk3566- evb2-lp4x-v10.img -j24 | ./make.sh rk3566 | RK3566 | 开发板 | EVB3- DDR3-V10 | build/envsetup.sh;lunch rk3566_r-userdebug | ./build.sh - AUCKu -d rk3566- evb2-lp4x- v10 | make ARCH=arm64 rockchip_defconfig rk356x_evb.config android-11.config;make ARCH=arm64 rk3566- evb3-ddr3-v10.img -j24 | ./make.sh rk3566 |
1.其他编译说明
Android11.0不能直接烧写kernel.img和resource.img
Android11.0的kernel.img和resource.img包含在boot.img中,需要使用build.sh -K 命令来编译 kernel。编译后烧写rockdev下面的boot.img。也可以使用如下方法单独编译kernel。
单独编译kernel生成boot.img
编译的原理:在kernel目录下将编译生成的 kernel.img 和 resource.img 替换到旧的 boot.img 中。 以 RK3566 样机为例,编译时替换对应的boot.img及dts: 其中 BOOT_IMG=../rockdev/Image-rk3566_r/boot.img 这里指定的是旧的boot.img的路径,命令如 下:
cd kernel
make ARCH=arm64 rockchip_defconfig android-11.config
make ARCH=arm64 BOOT_IMG=../rockdev/Image-rk3566_r/boot.img rk3566-rk817- tablet.img -j24
编译后可以直接烧写kernel目录下的boot.img(注意:32bit的平台是zboot.img,如3126c/rk3288w) 到机器的boot位置,烧写时请先加载分区表(parameter.txt),以免烧写位置错误。
|