全志T113-S3的TinaLinux编译流程记录

全志T113-S3的TinaLinux编译流程记录

Author: kkl

挖坑ing…有空来填坑!!!

填好啦:)


写在前面

T113-S3全志的一款非常不错的能够跑Linux系统的Soc,该芯片采用双核A7主频高达1.2GHz,具备高效能低功耗的特点,片上内存128MB支持硬件解码,和D1s Pin to Pin,支持相互替换支持全志提供的Tina Linux SDK,文档齐全,对于DIY玩家来说用于制作一些带显示屏的小设备是非常完美了。

前阵子在“海鲜市场”低价入了韦东山的T113-S3的开发板,经过一番摸索以后发现了TinaLinux这个新奇的东西,听说是全志基于Openwrt自研的系统(被戏谑为全志家的小女儿。

本篇文章将简述如何迅速地对Tina Linux进行编译、打包,最终生成可烧录的镜像。

我的环境

  • 虚拟机:VirtualBox Ubuntu 18.04
  • 开发板:100ASK_T113-PRO

开始

获取SDK源码

首先我们需要获取Tina-sdk的源码:

百度网盘获取地址链接:https://pan.baidu.com/s/13uKlqDXImmMl9cgKc41tZg?pwd=qcw7 提取码:qcw7

  1. 下载完成后将包含所有压缩文件的DongshanNezhaSTU-TinaV2.0-SDK文件夹拷贝到Ubuntu系统中,注意请不要在共享文件夹当中直接解压,要先拷贝到Linux系统目录中。位置可以随意,这里为了方便演示,我直接拷贝到Ubuntu系统的~目录下。

  2. 进入该文件夹cd ~/DongshanNezhaSTU-TinaV2.0-SDK/并执行如下解压缩命令cat tina-d1-h.tar.bz2.* | tar -jxv,等待解压缩完成(大致要 3 ~ 5 分钟。

  3. 把解压缩出的文件夹移动到~目录下:mv ~/DongshanNezhaSTU-TinaV2.0-SDK/tina-d1-h ~

配置ubuntu环境

接着,我们配置开发环境,这里以Ubuntu 18.04举例,执行以下命令:
sudo apt-get install build-essential subversion git libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip lib32z1 lib32z1-dev lib32stdc++6 libstdc++6 libc6:i386 libstdc++6:i386 lib32ncurses5 lib32z1 -y

获取补丁包

SDK源码解压缩完毕后,我们获取扩展支持仓库(因为SDK源码不适配T113,要打个补丁,让源码支持T113,然后加以应用,依旧是在~目录下按顺序执行以下命令:

1
2
3
4
5
book@ubuntu1804:~$ git clone https://github.com/DongshanPI/100ASK_T113-Pro_TinaSDK.git
book@ubuntu1804:~$ cd 100ASK_T113-Pro_TinaSDK
book@ubuntu1804:~/100ASK_T113-Pro_TinaSDK$ git submodule update --init
book@ubuntu1804:~/100ASK_T113-Pro_TinaSDK$ cp ./* -rfvd ~/tina-d1-h
book@ubuntu1804:~/100ASK_T113-Pro_TinaSDK$ sync

配置单板编译

应用完成,可以进入之前解压缩过的tina-d1-h的sdk目录内cd ~/tina-d1-h/,执行如下命令来开始编译T113 Tina-SDK

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
book@ubuntu1804:~/tina-d1-h$ source build/envsetup.sh
Setup env done! Please run lunch next.
book@ubuntu1804:~/tina-d1-h$ lunch

You're building on Linux

Lunch menu... pick a combo:
1. d1-h_nezha_min-tina
2. d1-h_nezha-tina
3. d1s_nezha-tina
4. t113_nezha-tina

Which would you like?: 4
============================================
TINA_BUILD_TOP=/home/book/tina-d1-h
TINA_TARGET_ARCH=arm
TARGET_PRODUCT=t113_nezha
TARGET_PLATFORM=t113
TARGET_BOARD=t113-nezha
TARGET_PLAN=nezha
TARGET_BUILD_VARIANT=tina
TARGET_BUILD_TYPE=release
TARGET_KERNEL_VERSION=5.4
TARGET_UBOOT=u-boot-2018
TARGET_CHIP=sun8iw20p1
============================================
no buildserver to clean
[1] 35382

book@ubuntu1804:~/tina-d1-h$ make

编译时间比较漫长,单核编译大概要 40 ~ 60 分钟…途中可能会出现让你填写[Y/n]的情况,会填就按照自己的需求来填,不会填就全部填n,影响不大的。

编译成功的现象:

编译成功

但是编译总不是一帆风顺的,我在这儿也花费了不少时间来解决一些报错问题,下面一一罗列出来:

问题1. ~/tina-d1-h/out/t113-100ask/compile_dir/target/fontconfig-2.13.1/missing: line 81: gperf: command not found:具体错误是缺少 gperf 工具。

解决方法sudo apt-get install gperf,通过系统的软件包管理工具来安装gperf.

问题2. Tina-Linux尝试下载qt-5.12.9.tar.xz失败。

解决方法:因为我使用T113S3主要还是使用LVGL图形库的,跑Qt还是比较吃力,于是干脆就不编译Qt了,具体方法如下:

1
2
3
book@ubuntu1804:~/tina-d1-h$ make menuconfig

# 找到 gui -> Qt,进入其中并把所有的 [*] 都取消,保存并退出,然后重新编译make。

烧写更新系统

编译完成后,执行pack命令即可开始打包系统操作,打包完成后,最后会提示pack finish以及使用红色背景色告诉你最终输出的镜像文件。

我们可以通过 ssh / vmware 拖拽等工具,将生成的镜像文件 copy 出来使用即可。

1
book@ubuntu1804:~/tina-d1-h$ pack

打包成功的现象:

打包成功

烧写方式有两种,一种是使用OTG线连接板子进行烧写,使用PhoenixSuit将编译生成的镜像烧录至spi nand存储设备上;另一种是通过PhoenixCard-V2.8工具将系统镜像烧录至TF卡启动。

先使用SD Card Formatter将TF卡进行格式化,然后使用PhoenixCard-V2.8对TF卡进行烧写,操作如图所示:

PhoenixCard-V2.8


写在后面

鸣谢以下教程:



全志T113-S3的TinaLinux编译流程记录
https://zhangkeliang0627.github.io/2024/11/24/全志T113-S3的TinaLinux编译流程记录/README/
Author
Zhang-keliang
Posted on
November 24, 2024
Licensed under