一、编译系统
1.使用说明
参考《A33_Tablet SDK Quick Start Guide》.
2.二次开发
Lichee编译脚本目前支持编译buildroot和Linux内核,主要包括以下文件:
build.sh
buildroot/scripts/mkcmd.sh
buildroot/scripts/mkcommon.sh
buildroot/scripts/mkrule
buildroot/scripts/mksetup.sh
tools/pack/pack
3.指定配置文件
当开发新的平台或者方案时,需要指定buildroot和内核的配置文件,修改buildroot/scripts/mkrule文件,文件格式如下
<芯片编号>_<系统平台> <buildroot配置文件> <内和配置文件> |
或者
<芯片编号>_<系统平台>_<方案> <buildroot配置文件> <内和配置文件> |
芯片编号:例如sun9iwlp1
系统平台:例如android
方案:例如 p1
Buildroot配置文件:不需要用xxx表示
内和配置文件:例如sun9iwlp1smp_android_defconfig
将新的芯片平台以上信息汇成一行添加到文件中即可。
4.添加系统平台
目前默认支持3个系统平台,分别是android,dragonboard,Linux。如需添加新的平台,修改buildroot/scripts/mkcmd.sh文件的platforms数组,例如添加firefox平台:
Platforms={ “android” “dragonboard” “linux” “firefox” } |
5.打包脚本说明
打包时需要拷贝若干文件到tools/pack/out目录,目前脚本对其进行了分类,分别是tools_file_list,configs_file_list,boot_file_list和boot_resource_list,新增文件可以归入其中一类或者创建新类。
目前打包脚本分为四个阶段,分别为do_prepare,do_common,do_pack_<platform>和do_finish。
do_prepare :完成文件拷贝和预处理动作。
do_common :完成所有系统平台通用的文件解析,分区打包。
do_pack_<platform> :完成当前系统平台特有的工作。
do_finish :完成打包。
二、Lichee定制
这里主要介绍如何定制Linux固件根文件系统。
1.根文件系统定制
Linux固件根文件系统由buildroot制作,编译生成的文件和程序位于:out/sun8iw5pl/linux/common/buildroot/
目录结构如下:
target目录即rootfs的内容
添加应用软件的步骤:
① $cd out/sun8iw5pl/linux/common/buildroot/
② $make menuconfig
上面命令执行完会显示如下界面:
③ 根据需要配置应用软件
④ 退出并保存
⑤ 备份config
$cp out/sun8iw5pl/linux/common/buildroot/.config buildroot/configs/sun8i_defconfig
可以仿照二次开发添加新的配置