一、编译Zeta Linux SDK

在安装好软件包的64位Ubuntu 16.04系统里下载好代码以后,执行以下命令,导入SDK所需的临时环境设置。

  1. 1. $ cd zeta_linux
  2. 2. $ source build/envsetup.sh

这个过程需要选择SOC平台,V3/S3或V3s/S3L,选择好之后回车确认结束。这个步骤仅作用于当前终端,也就是说,当关闭当前终端窗口,再次新建终端窗口后,需要编译Zeta Linux或使用Zeta Linux编译环境的,需要再次执行上述步骤中的命令。
接着,执行下述命令,进行完整的SDK构建,最终生成可用于烧录的系统固件。

  1. $ zmake all

二、zmake工具简介

zmake是Zeta Linux的make工具,可实现编译模块,编译内核,编译bootloader,制作rootfs镜像,制作系统固件等功能。如下:

  1. 1. ##############################################
  2. 2. 编译appdemo_recorder应用程序
  3. 3. $ zmake app/demo_recorder/zeta.in
  4. 4.
  5. 5. $ zmake app/demo_recorder
  6. 6. ##############################################
  7. 7. 清除demo_recorder程序
  8. 8. $ zmake clean app/demo_recorder/zeta.in
  9. 9.
  10. 10. $ zmake clean app/demo_recorder
  11. 11. ##############################################
  12. 12. 编译Linux内核
  13. 13. $ zmake kernel
  14. 14. ##############################################
  15. 15. 编译bootloader
  16. 16. $ zmake uboot
  17. 17. ##############################################
  18. 18. 打包rootfs文件系统镜像
  19. 19. $ zmake rootfs
  20. 20. ##############################################
  21. 21. 打包固件
  22. 22. $ zmake image
  23. 23. ##############################################
  24. 24. 完整构建SDK
  25. 25. $ zmake all
  26. 26. ##############################################

三、zeta.in简介

zeta.in是应用于zmake工具的makefile文件,正如makefile于make一样。zeta.in的编写规则基本与Android.mk一致,参考:

  1. 1. TARGET_PATH := $(call my-dir)
  2. 2. include $(ENV_CLEAR)
  3. 3.
  4. 4. # 填写c或c++源码文件
  5. 5. TARGET_SRC :=
  6. 6.
  7. 7. # 填写头文件或头文件目录
  8. 8. TARGET_INc :=
  9. 9.
  10. 10. # 填写要引入的动态库
  11. 11. TARGET_SHARED_LIB +=
  12. 12.
  13. 13. #TARGET_LDFLAGS +=
  14. 14. #TARGET_ASFLAGS +=
  15. 15. #TARGET_CFLAGS +=
  16. 16. #TARGET_CPPFLAGS +=
  17. 17.
  18. 18. # 填写目标名称
  19. 19. TARGET_MODULE :=
  20. 20.
  21. 21. # 填写目标类型BUILD_BIN / BUILD_SHARED_LIB / BUILD_STATIC_LIB
  22. 22. include $(BUILD_BIN)

在实际开发过程中,zeta.in可省略掉一些makefile中繁琐的规则的编写,有利于开发者将更多的精力和注意力放在程序代码的开发上。