前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tina Linux---系统篇

Tina Linux---系统篇

原创
作者头像
tanxiaoming
发布2024-02-18 14:07:38
2880
发布2024-02-18 14:07:38
举报
文章被收录于专栏:嵌入式Linux开发嵌入式Linux开发

零、序言

1、写这个文章的目的

写这篇文章主要目的是想做笔记。是的,纯粹是为了记录,不是干货满满的技术文章。

本人是嵌入式linux小白,之前尝试过多个平台的嵌入式linux学习,但是反反复复没有下去,导致后面再学的时候全部都要重头再来。这次痛定思痛,决定把笔记记录下来。但是为什么不用更好的专用的笔记软件的,比如OneNote之类的。实际上有考虑过,也查过很多的笔记软件资料,多多少少都存在一些问题,比如导出不方便,多平台兼容性问题之类的。所以,不如在网站上写成文章,这样不管换到什么地方都方便我阅读了。

2、关于Tina

官方介绍:Tina Linux 系统介绍 Tina Linux 基于 openwrt-14.07 版本的,可以参考下 MT7628学习笔记(3)——openwrt源码目录分析(OpenWrt CC1505 版本移植)

代码语言:javascript
复制
Tina-SDK/
├── build	# 构建系统文件
├── config	# 配置菜单的界面以及一些固定的配置项,该配置菜单基于内核的 mconf 规格编写
├── Config.in	# 菜单项配置文件。和 make menuconfig 相关联的文件
├── device	# 用于存放方案的配置文件,包括内核配置、env 配置、分区表配置、sys_config.fex(全志定制板级配置文件)、board.dts(linux标准设备树文件) 等
├── dl		# 软件包文件
├── lichee	# 存放 bootloader、linux内核、DSP等代码
├── Makefile	# 在顶层目录执行 make 命令的入口文件
├── out		# 编译相关的临时文件和最终镜像文件 ,编译后自动生成此目录
├── package	# 存放Tina系统支持的软件包源码和编译规则
├── prebuilt	# 存放预编译交叉编译器
├── rules.mk	# 定义了 Makefile 中使用的一些通用变量和函数
├── scripts	# 存放host端(PC端,下同)或target端(小机端,即目标机器,下同)使用的一些脚本
├── target	# 存放目标板相关的配置以及sdk和toolchain生成的规格
├── tmp		# 临时文件夹。编译过程中的临时文件保存。
├── toolchain	# 交叉工具链构建配置、规则
└── tools	# 存放 host 端工具的编译规则

一、SDK准备--下载

$ git clone https://github.com/mangopi-sbc/Tina-Linux.git

$ cd Tina-Linux/

$ git submodule update --init --recursive

二、下载SDK子模块

// download the static file

$ wget http://dl.mangopi.org/tina/prebuilt.tar.gz .

$ tar xzvf prebuilt.tar.gz

$ wget http://dl.mangopi.org/tina/dl.tar .

$ tar xvf dl.tar

$ wget http://dl.mangopi.org/tina/toolchain/riscv64-linux-x86_64-20200528.tar.xz -P ./lichee/brandy-2.0/tools/toolchain/

$ wget http://dl.mangopi.org/tina/toolchain/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz -P ./lichee/brandy-2.0/tools/toolchain/

三、环境配置

环境配置:
代码语言:javascript
复制
# 更新
$ sudo apt-get update

# 安装依赖包
$ sudo apt-get install build-essential subversion git-core 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 -y

# Ubuntu 16.04以上版本执行
sudo apt-get install libc6:i386 libstdc++6:i386 lib32ncurses5 lib32z1

四、准备编译

使用root用户编译时会报错,是因为SDK配置问题,如下导出环境变量后

export FORCE_UNSAFE_CONFIGURE=1

source build/envsetup.sh

lunch

7

make

五、烧录

若使用卡启动,则使用PhoenixCard工具将固件烧到SD卡,若使用NAND、EMMC启动,则使用PhoenixSuit将固件烧到板载存储。

六、基本名词的一些解释

暂无

参考文档

1、【全志T113-S3_100ask】编译Tina系统初体验

https://bbs.aw-ol.com/topic/2117/%E5%85%A8%E5%BF%97t113-s3_100ask-%E7%BC%96%E8%AF%91tina%E7%B3%BB%E7%BB%9F%E5%88%9D%E4%BD%93%E9%AA%8C?_=1707126150787&lang=zh-CN

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 零、序言
    • 1、写这个文章的目的
      • 2、关于Tina
      • 一、SDK准备--下载
      • 二、下载SDK子模块
      • 三、环境配置
      • 四、准备编译
      • 五、烧录
      • 六、基本名词的一些解释
      • 参考文档
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
      http://www.vxiaotou.com