编译 Tina Linux
在搭建好编译环境并下载好源码后,即可对源码进行编译,编译打包好后,即可将打包好的固件烧写到设备中去。本文主要介绍编译和烧写的方法。
Tina Linux 编译
Tina Linux 的编译大致分为以下流程:
(1) source build/envsetup.sh # 获取 Tina 环境变量
(2) lunch # 载入方案列表,选择方案
(3) mp # 编译打包
(1)获取 Tina 环境变量
source build/envsetup.sh
(2)载入方案列表,选择方案
之后使用 lunch
命令载入方案列表,可以看到 方案 5
对应的是 d1s_nezha
板子,也正是 D1s Nezha 开发板。输入 5
回车即可。如果是其他板子,也可以输入对应板子的序号选择方案。
lunch
之后 SDK 会自动根据你所选择的方案解压编译工具链,创建环境,耐心等待下即可。
(3)编译打包
Tina Linux 里可以使用 make
命令进行编译,pack
命令打包。
make
当然,也可以在 make
命令后面增加参数,支持多线程编译,例如:
make -j128 # 以 128 线程编译 SDK
不过有些时候因为软件包的依赖关系,多线程编译可能会导致编译失败。如果出现编译失败可以使用 make -j1
指定单线程编译解决依赖问题。有些时候软件包也可能不完全适配芯片与开发板,这时候也会报错,同样也需要 make -j1
查看实际的错误。
编译完成之后,使用 pack
命令打包。
pack
最后,如果编译完成,则会输出以下内容,代表编译打包完成,可以在/out/d1s-nezha/tina_d1s-nezha_uart0.img
目录下找到打包完成的固件。
进阶编译操作
Tina Linux 提供了大量方便使用的快捷跳转命令。方便开发使用。
快捷命令
命令 | 命令有效目录 | 作用 |
---|---|---|
make | tina根目录 | 编译整个sdk |
make menuconfig | tina根目录 | 启动软件包配置界面 |
make kernel_menuconfig | tina根目录 | 启动内核配置界面 |
croot | tina下任意目录 | 快速切换到tina根目录 |
cconfigs | tina下任意目录 | 快速切换到方案的bsp配置目录 |
cplat | tina下任意目录 | 快速切换到方案配置目录 |
ctarget | tina下任意目录 | 快速切换到openWrt软件包编译产物目录 |
crootfs | tina下任意目录 | 快速切换到openWrt rootfs目录 |
copsrc | tina下任意目录 | 快速切换到openWrt目录 |
cout | tina下任意目录 | 快速切换到方案的输出目录 |
cboot | tina下任意目录 | 快速切换到bootloader目录 |
cgrep | tina下任意目录 | 在c/c++/h文件中查找字符串 |
mm [-B] | 软件包目录 | 编译软件包,-B指编译前先clean |
pack | tina根目录 | 打包固件 |
m | tina下任意目录 | make的快捷命令,编译整个sdk |
p | tina下任意目录 | pack的快捷命令,打包固件 |