一、编译Zeta Linux SDK
在安装好软件包的64位Ubuntu 16.04系统里下载好代码以后,执行以下命令,导入SDK所需的临时环境设置。
1. $ cd zeta_linux
2. $ source build/envsetup.sh
这个过程需要选择SOC平台,V3/S3或V3s/S3L,选择好之后回车确认结束。这个步骤仅作用于当前终端,也就是说,当关闭当前终端窗口,再次新建终端窗口后,需要编译Zeta Linux或使用Zeta Linux编译环境的,需要再次执行上述步骤中的命令。
接着,执行下述命令,进行完整的SDK构建,最终生成可用于烧录的系统固件。
$ zmake all
二、zmake工具简介
zmake是Zeta Linux的make工具,可实现编译模块,编译内核,编译bootloader,制作rootfs镜像,制作系统固件等功能。如下:
1. ##############################################
2. 编译app下demo_recorder应用程序
3. $ zmake app/demo_recorder/zeta.in
4. 或
5. $ zmake app/demo_recorder
6. ##############################################
7. 清除demo_recorder程序
8. $ zmake clean app/demo_recorder/zeta.in
9. 或
10. $ zmake clean app/demo_recorder
11. ##############################################
12. 编译Linux内核
13. $ zmake kernel
14. ##############################################
15. 编译bootloader
16. $ zmake uboot
17. ##############################################
18. 打包rootfs文件系统镜像
19. $ zmake rootfs
20. ##############################################
21. 打包固件
22. $ zmake image
23. ##############################################
24. 完整构建SDK
25. $ zmake all
26. ##############################################
三、zeta.in简介
zeta.in是应用于zmake工具的makefile文件,正如makefile于make一样。zeta.in的编写规则基本与Android.mk一致,参考:
1. TARGET_PATH := $(call my-dir)
2. include $(ENV_CLEAR)
3.
4. # 填写c或c++源码文件
5. TARGET_SRC :=
6.
7. # 填写头文件或头文件目录
8. TARGET_INc :=
9.
10. # 填写要引入的动态库
11. TARGET_SHARED_LIB +=
12.
13. #TARGET_LDFLAGS +=
14. #TARGET_ASFLAGS +=
15. #TARGET_CFLAGS +=
16. #TARGET_CPPFLAGS +=
17.
18. # 填写目标名称
19. TARGET_MODULE :=
20.
21. # 填写目标类型BUILD_BIN / BUILD_SHARED_LIB / BUILD_STATIC_LIB
22. include $(BUILD_BIN)
在实际开发过程中,zeta.in可省略掉一些makefile中繁琐的规则的编写,有利于开发者将更多的精力和注意力放在程序代码的开发上。