RK2918编译步骤

来源:互联网 发布:开ktv 知乎 编辑:程序博客网 时间:2024/04/29 00:00

/********************************************************************************************
 * author:conowen@大钟                                                                                                                          
 * E-mail:conowen@hotmail.com                                                                                                             
 * http://blog.csdn.net/conowen                                                                                                              
 * 注:本文为原创,仅作为学习交流使用,转载请标明作者及出处。     

 ********************************************************************************************/


在执行编译之前要先配置内核kernel.img的路径。

修改BoardConfig.mk文件

gedit device/rockchip/rk29sdk/BoardConfig.mk

修改device/rockchip/rk29sdk/BoardConfig.mk文件中的值TARGET_PREBUILT_KERNEL指向Image文件

TARGET_PREBUILT_KERNEL := ./Image

注:上述Image实际是kernel.img,文件名改成Image而已,路径地址可以为相对地址“./”,也可以为绝对路径地址

然后把SDK包的Image复制到SDK包的根目录。


然后开始

编译步骤:
第一步:make prebuild

第二步:make

第三步:./mkimage.sh ota

第一步为编译的准备工作

如下


conowen@conowen-GA-880GA-UD3H:~/dev/gingerbread$ make prebuild============================================PLATFORM_VERSION_CODENAME=RELPLATFORM_VERSION=2.3.1TARGET_PRODUCT=rk29sdkTARGET_BUILD_VARIANT=engTARGET_SIMULATOR=TARGET_BUILD_TYPE=releaseTARGET_BUILD_APPS=TARGET_ARCH=armHOST_ARCH=x86HOST_OS=linuxHOST_BUILD_TYPE=releaseBUILD_ID=GINGERBREAD============================================Checking build tools versions...will install VideoPlayer.apk QianxunKankan_rk.apk Explorer.apk RockApkinstaller.apkTARGET_PREBUILT_KERNEL != nullradio only support databuild/core/base_rules.mk:109: user tag on app UiForUpdate at device/rockchip/rk29sdk/frameworks/FirmwireUpdate/java_ui_apk - add your app to core.mk insteadbuild/core/base_rules.mk:109: user tag on app RockchipService at device/rockchip/rk29sdk/frameworks/RockchipService - add your app to core.mk insteadbuild/core/base_rules.mk:109: user tag on app EthernetSettings at device/rockchip/rk29sdk/packages/apps/EthernetSettings - add your app to core.mk instead********* Enable USB Mode Switch ***********待续……


若工程内存为ddr3,则在执行第二步之前要先执行

make rk29_ddr3sdk_defconfig

第二步的make后面可以加参数 -jn,其中j为jobs,即作业,n为数值,一般为cpu的线程数

如四核四线程cpu可写作

make -j4

第三步./mkimage.sh把一些apk、驱动、资源等等打包生成image文件,也就是可以自己定制image。而相应的apk、驱动之类的在/out/target/product/rk29sdk目录下,删除自己不喜欢的,然后执行第三步,就可以生成相对应的image了。存放在SDK包的reckdev目录下的Image文件夹下,刷机用此image刷机即可。



注:


第三步若是没有加ota参数,则生成的boot.img没有包含kernel.img,方便单独烧写内核,便于开发。

而recovery.img本就是有kernel.img的。若要更新kernel,则要重新编译(执行第二步)


各个image的大小

Boot.img(没有kernel.img)为 500K,含有kernel     的话,为6M
Recover.img为11M
System.img为120M
Kernel为5M

Misc.img为50K