文章目录

  • 常用命令
  • 文件目录
    • build 目录
    • config 目录
    • lichee目录
    • package目录
    • prebuild 目录
    • scripts 目录
    • target 目录
    • toolchain 目录
    • tools 目录
    • out 目录
  • 更改根文件系统
    • 更改一下分区
  • 分区
    • 升级分区
    • 不升级分区
    • 默认挂载点(顿悟!在开发板文件系统里面挂载,牛逼!)

所有的内容请看文档:《Tinalinux SDK开发指南》

Longan只有bootloader,kernel,自己适配rootfs比如debian,Ubuntu什么的,tina是完整的带有rootfs,而且是精简版本的rootfs。

注意:这个官方SDK系统编译出来的根文件系统是只读的,建议更改为ext4读写系统。

------run profile file-----_____  _              __     _
|_   _||_| ___  _ _   |  |   |_| ___  _ _  _ _| |   _ |   ||   |  |  |__ | ||   || | ||_'_|| |  | || | || _ |  |_____||_||_|_||___||_,_||_|  |_||_|_||_|_|  Tina is Based on OpenWrt!----------------------------------------------Tina Linux (Neptune, 5C1C9C53)----------------------------------------------

常用命令

命令 命令有效目录 作用
make tina根目录 编译整个sdk
make menuconfig tina根目录 启动软件包配置界面
make kernel_menuconfig tina根目录 启动内核配置界面

文件目录

liefyuan@ubuntu:~/Liefyuan/Tina-Linux/Tina-Linux$ tree -L 1
.
├── build
├── config
├── Config.in
├── device
├── dl
├── lichee
├── logs
├── Makefile
├── out
├── package
├── prebuilt
├── README.md
├── rules.mk
├── scripts
├── target
├── tmp
├── toolchain
└── tools

build 目录

build 目录存放 Tina Linux 的构建系统文件,此目录结构下主要是一系列基于 Makefile 规格编写的 mk 文件。主要的功能是:

  1. 检测当前的编译环境是否满足 Tina Linux 的构建需求
  2. 生成 host 包编译规则
  3. 生成工具链的编译规则
  4. 生成 target 包的编译规则
  5. 生成 linux kernel 的编译规则
  6. 生成系统固件的生成规则

config 目录

主要存放 Tina Linux 中配置菜单的界面以及一些固定的配置项,该配置菜单基于内核的 mconf 规格书写。

lichee目录

lichee 目录主要存放 uboot 和内核代码。

package目录

package 目录存放 target 机器上的软件包源码和编译规则,目录按照目标软件包的功能进行分类。

prebuild 目录

prebuild 目录存放预编译交叉编译器,目录结构如下。

scripts 目录

scripts 目录用于存放 pc 端或小机端使用的一些脚本。

target 目录

target 目录用于存放目标板相关的配置以及 sdk 和 toolchain 生成的规格。

toolchain 目录

toolchain 目录包含交叉工具链构建配置、规则

tools 目录

tools 目录用于存放 host 端工具的编译规则。

out 目录

下面有两个目录:host目录和开发板/方案目录

其中 host 目录用于存放 host 端的工具以及一些开发相关的文件。

我使用的是mangopi的T113 MQ-R开发板所以是 t113-mq_r目录

  • boot.img 为最终烧写到系统 boot 分区的数据,该分区默认为 vfat 格式。
  • rootfs.img 为最终烧写到系统 rootfs 分区的数据,该分区默认为 squashfs 格式(只读的文件系统)。
  • t113-mq_r-uImage 为内核最终的镜像,会打包到 boot.img 中。
  • compile_dir 为 sdk 编译 host,target 和 toolchain 的临时文件目录,存有各个软件包的源码。
  • staging_dir 为 sdk 编译过程中保存各个目录结果的目录。
  • packages 目录保存的是最终生成的 ipk 软件包。
  • tina_t113-mq_r_uart0.img 为最终固件包 (系统镜像),串口信息通过串口 0 输出。

其他的文件介绍:

  • boot0_nand_sun8iw20p1.bin用于在NAND Flash存储介质上启动系统的Boot0
  • boot0_sdcard_sun8iw20p1.bin用于在SD card存储介质上启动系统的Boot0
  • boot0_spinor_sun8iw20p1.bin用于在SPI NOR Flash存储介质上启动系统的Boot0
  • fes1_sun8iw20p1.bin是烧录模式下使用的boot0
  • sboot_sun8iw20p1.bin是安全状态下运行的boot0

更改根文件系统

更改一下分区

分区文件在:device/config/chips/t113/configs/mq_r/sys_partition.fex

[partition]name         = rootfssize         = 61440downloadfile = "rootfs.fex"user_type    = 0x8000

原文件:

;---------------------------------------------------------------------------------------------------
; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串
;---------------------------------------------------------------------------------------------------;---------------------------------------------------------------------------------------------------
;                                   固件下载参数配置
;---------------------------------------------------------------------------------------------------
;***************************************************************************************************
;    mbr的大小, 以Kbyte为单位
;***************************************************************************************************
[mbr]
size = 16384;***************************************************************************************************
;                                              分区配置
;
;
;  partition 定义范例:
;    [partition]                ;  //表示是一个分区
;    name        = USERFS2      ; //分区名称
;    size        = 16384        ; //分区大小 单位: 扇区.分区表示个数最多2^31 * 512 = 2T
;    downloadfile = "123.fex"   ; //下载文件的路径和名称,可以使用相对路径,相对是指相对于image.cfg文件所在分区。也可以使用绝对路径
;    keydata     = 1            ; //私有数据分区,重新量产数据将不丢失
;    encrypt     = 1            ; //采用加密方式烧录,将提供数据加密,但损失烧录速度
;    user_type   = ?            ; //私有用法
;    verify      = 1            ; //要求量产完成后校验是否正确
;
; 注:1、name唯一, 不允许同名
;     2、name最大12个字符
;     3、size = 0, 将创建一个无大小的空分区
;     4、align to logical block size(504 sectors), leb size = 2*(1 nand phy block size - 1 phy page size)
;***************************************************************************************************
[partition_start][partition]name         = boot-resourcesize         = 504downloadfile = "boot-resource.fex"user_type    = 0x8000[partition]name         = envsize         = 504downloadfile = "env.fex"user_type    = 0x8000[partition]name         = env-redundsize         = 504downloadfile = "env.fex"user_type    = 0x8000[partition]name         = bootsize         = 8064downloadfile = "boot.fex"user_type    = 0x8000[partition]name         = rootfssize         = 61440downloadfile = "rootfs.fex"user_type    = 0x8000;[partition]
;    name         = dsp0
;    size         = 2048
;    downloadfile = "dsp0.fex"
;    user_type    = 0x8000;[partition]
;    name         = recovery
;    size         = 16128
;    ;downloadfile = "recovery.fex"
;    user_type    = 0x8000[partition]name         = privatesize         = 10240user_type    = 0x8000[partition]name         = rootfs_datasize         = 50400user_type    = 0x8000[partition]name         = UDISKuser_type    = 0x8100

分区

SD卡上的分区,说实话有点多!

升级分区

分区 功能
boot分区 存内核镜像
rootfs分区 基础系统镜像分区,包含 (/lib,/bin,/etc 等)
recovery分区 存放恢复系统镜像 [仅大容量方案有]

不升级分区

分区 功能
private分区 存储SN号分区
misc分区 系统状态、刷机状态分区
UDISK分区 用户数据分区
overlayfs分区 存储overlayfs覆盖数据

默认挂载点(顿悟!在开发板文件系统里面挂载,牛逼!)

开发板上查看了一下:真牛皮!

root@TinaLinux:/dev/by-name# ls
UDISK          boot-resource  env-redund     rootfs
boot           env            private        rootfs_data
root@TinaLinux:/mnt# ls
SDCARD   UDISK    app      exUDISK
分区 挂载点 备注
/dev/by-name/boot /boot
/dev/by-name/boot-res /boot-res
/dev/by-name/UDISK /mnt/UDISK 用户数据分区
/dev/by-name/boot /mnt/SDCARD TF卡挂载点
/dev/by-name/boot /overlay 存储overlayfs覆盖数据

Mangopi MQ-R:T113-s3编译Tina Linux系统(二)SDK目录相关推荐

  1. Mangopi MQ-R:T113-s3编译Tina Linux系统

    文章目录 Tina Linux系统介绍 开发板介绍 安装Ubuntu环境 网盘下载完整的压缩包--安装SDK 解压缩SDK出来 注意 1.Tina默认的文件系统格式是只读的squashfs格式的 2. ...

  2. 视频 | 生信分析Linux教程 - Linux系统简介和目录理解2

    点击阅读原文跳转完整教案. 1 Linux初探,打开新世界的大门 1.1 Linux系统简介和目录理解 1.1.1 为什么要用Linux系统 1.1.2 Linux系统无处不在 1.1.3 免费的Li ...

  3. Linux系统之文件共享目录设置方法

    Linux系统之文件共享目录设置方法 一.本次实践目的 二.检查本地系统环境 1.检查系统版本 2.检查系统内核 三.创建相关用户及用户组 1.创建共享目录 2.创建测试用户账号 3.创建用户组 4. ...

  4. linux系统下默认目录,linux系统默认的目录意思

    linux系统默认的目录意思 /bin bin是binary的缩写.这个目录是对UNIX系统习惯的沿袭,存放着使用者最经常使用的命令.例如: cp,ls,cat. /boot 这里存放的是启动LINU ...

  5. linux的tmp目录不会清空,关于Linux系统中/tmp目录的清除问题

    关于Linux系统中/tmp目录的清除问题 相当悲剧的问题是,之前保存在/tmp目录中的一些数据丢了.现在发现已经是第二次发生了,前一次以为是其他人误操作删除的,今天才发现这个和系统有关系.完全是因为 ...

  6. linux常见系统目录,Linux系统中常见目录有哪些?linux运维学习中心

    Linux系统中常见目录有哪些?随着开源软件在世界范围内影响力日益增强,Linux服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,市场对于Linux运维人才的需求也是逐渐增加.L ...

  7. Linux 系统下对目录扩容的方法

    1.现象: 日志服务器当初考虑不周,分区划分不太合理: 2.目标: 将/home磁盘空间缩减 并将新的磁盘分区扩充到/根目录 卸载/home分区并压缩分区 卸载/home时 提示目标忙,fuser - ...

  8. Big-man进军Linux系统(二)

    Big-man进军Linux系统(二) 前言: Big-man现在书写的代码代建在服务器上的,而服务器的环境是Linux, 所以对linux进行一些操作. 所以需要去熟悉一下Linux的指令了. Bi ...

  9. linux 文件夹增加容量,Linux系统下对目录扩容的方法介绍

    导读 本文介绍了在Linux系统下对目录扩容的方法,一起来看一下吧. 1.现象: 日志服务器当初考虑不周,分区划分不太合理: 2.目标: 将/home磁盘空间缩减  并将新的磁盘分区扩充到/根目录 卸 ...

最新文章

  1. 900 多道 LeetCode 题解,这个 GitHub 项目值得 Star!
  2. C++horspool算法查找字符串是否包含子字符串(附完整源码)
  3. Python 进阶:enum 模块源码分析
  4. 【Tools】XMind8安装教程详解
  5. 小程序 foreach_【第2106期】小程序依赖分析实践
  6. cmake mysql 编译参数_Cmake-MySQL编译参数说明
  7. C#编程语言(七):值类型与引用类型
  8. Message和handler传递对象
  9. NGINX(二)内存池
  10. 极客日报第 21 期:360 安全浏览器尝试收费;苹果macOS首次出现在云端
  11. 计算几何——扇形面积
  12. 论文模型图全攻略——模型图就该有模型图的样子!
  13. unity3D中enable和setactive的区别
  14. 20组免费的Photoshop渐变效果素材
  15. 从 .NET 开发人员的角度理解 Excel 对象模型--------结合上一篇 vb code excel 单元格锁定...
  16. 如何高效回复审稿意见?(附常用审稿意见回复模板)
  17. rk3288 ddr 开发指南
  18. 净误差与遗漏为负值的含义_为什么遗漏与误差项为负反映了去向不明的资本外逃?...
  19. wince 默认输入法_winCE6.0自带中文输入法加载
  20. 关于浏览器主页被劫持问题解决办法

热门文章

  1. ultraedit许可证id 7位数字_优雅的数据库ID设计
  2. 学校永远不会教你的财富课:养鹅
  3. 路由协议RIP、OSPF、BGP比较
  4. css span文字下划线
  5. 估计π的第一种方法:蒲丰(buffon)投针
  6. 判断QQ号码长度是否“合法”?让小白来告诉你
  7. 计算机教学中因才施教,在信息技术教学中如何体现因材施教的原则
  8. Linux/Unix获取时间戳
  9. 大学计算机基础模拟系统2014ppt第三,第一章_河海大学:大学计算机信息技术_ppt_大学课件预览_高等教育资讯网...
  10. JIRA REST API调用方式