# 01- 编译环境搭建

此编译环境配置适用 Linux SDK

### 硬件要求

| 系统环境   | 要求          |
| ------ | ----------- |
| 系统版本   | Ubuntu18.04 |
| CPU核心数 | 4核以上        |
| 内存容量   | 16GB以上      |
| 硬盘容量   | 200GB以上     |

> ubuntu22.04/20.04 环境下经过测试，编译会有大量报错，不建议使用
>
> WSL环境下编译未测试验证过，不建议使用

### 安装依赖软件包

```
$ sudo apt install git bc bison build-essential curl flex libsdl1.2-dev 
$ sudo apt install g++-multilib gcc-multilib gnupg gperf libncurses5-dev 
$ sudo apt install imagemagick lib32ncurses5-dev lib32readline-dev squashfs-tools 
$ sudo apt install lib32z1-dev liblz4-tool xsltproc libssl-dev libwxgtk3.0-dev 
$ sudo apt install libxml2 libxml2-utils schedtool lzop pngcrush rsync 
$ sudo apt install yasm zip zlib1g-dev python device-tree-compiler 
$ sudo apt install python-pip gawk openjdk-8-jdk u-boot-tools patchelf expect
$ sudo pip install pyelftools
```

> 软件包名称 会根据UBUNTU版本更新而变化
>
> 不同UBUNTU版本安装失败，可网络搜索对应的解决方法

## 2. 软件准备

### SDK介绍

Tina5.0 Linux SDK支持构建两个文件系统，分别为buildroot、ubuntu

### 获取SDK源码

**网盘下载SDK源码压缩包**

网盘SDK目录如下

```
1-SDK\linux\sdk\xxxxxxx\
	t113-linux-*.tar.gz
	t113-linux-*.md5
```

**拷贝源码压缩包到编译主机目录**

> 注意事项
>
> 1. 若编译主机为虚拟机，不可放在共享目录下编译
> 2. 不要使用root用户和sudo权限

**MD5校验文件完整性**

```shell
$ md5sum -c *.md5
```

**解压源码压缩包**

```shell
$ tar -zxvf t113-linux-*.tar.gz
```

> 不要使用root权限！！！> \
> SDK源码压缩包仅包含Git仓库，可用ls -al命令查看到.git文件夹

**还原源码文件**

```shell
$ cd t113-linux
$ git reset --hard
```

> 不要使用root权限！！！

### 获取Rootfs镜像

* 文件系统网盘目录

```
1-SDK\linux\rootfs\
	buildroot-dl-*.tar.gz
	ubuntu-rootfs-*.tar.gz
```

* buildroot文件系统

提供的buildroot-dl-\*.tar.gz压缩包，可用于离线编译Buildroot文件系统,，减少编译时下载源码的时间

将buildroot-dl-\*.tar.gz解压至buildroot/buildroot-201902目录下

* ubuntu文件系统

ubuntu-rootfs-\*.tar.gz是ubuntu文件系统压缩包，搭配SDK源码编译可生成ubuntu系统镜像

将ubuntu-rootfs-\*.tar.gz拷贝至SDK的device/config/rootfs\_tar目录下并重命名为ubuntu-armhf.tar.gz
