2015年2月23日 星期一

How to build kernel, uboot, android separately

1.单独编译boot.img

配置文件(board_name要与目标平台相匹配):
./device/amlogic/board_name/Kernel.mk
配置情况一:配置defconfig(要与目标平台相匹配)
KERNEL_DEFCONFIG := meson6_g24_jb_defconfig
配置情况二:配置源码位置
KERNET_ROOTDIR :=?common
配置情况三:配置ko(按需增减以及修改ko)
define cp-kernel-modules
……
endef
编译命令:
. build/envsetup.sh
lunch g24ref-user
make bootimage

2.单独编译recovery.img

编译命令:
. build/envsetup.sh
lunch g24ref-user
make recoveryimage

3.手工编译kernel

目的:
如果小范围修改kernel代码,需要重新编译boot.img。直接用make bootimage是可以的。不过在这样会搜索android的所有Makefile,速度会比较慢。所以可以选择手工编译,方法和以前相类似,但是要指定kernel输出文件的相对于源码的位置(out/target/product/xxx/obj/KERNEL_OBJ)。
3.1编译boot.img
在Android根目录下的命令:
device/amlogic/g24ref/quilk_build_kernel.sh bootimage
<注>
生成的boot.img在out/target/product/xxx/obj/KERNEL_OBJ/arch/arm/boot中。
从卡启动kernel命令:
   mmcinfo;fatload mmc 0:1 0x82000000 boot.img;bootm

3.2编译recovery.img
在Android根目录下的命令:
device/amlogic/g24ref/quilk_build_kernel.sh recoveryimage
<注>
生成的recovery.img在out/target/product/xxx/obj/KERNEL_OBJ/arch/arm/boot中。
从卡启动kernel命令:
   mmcinfo;fatload mmc 0:1 0x82000000 recovery.img;bootm

3.3查遍所有配置
命令:
make help
3.4菜单配置kernel
命令:
device/amlogic/g24ref/quilk_build_kernel.sh menuconfig
<注> 在菜单中按需配置kernel。
3.5保存config
命令:
device/amlogic/g24ref/quilk_build_kernel.sh saveconfig

沒有留言:

張貼留言