SylixOS:T3 打包量产 IMG 文件手册

2023-12-31 14:59
文章标签 t3 打包 img 手册 量产 sylixos

本文主要是介绍SylixOS:T3 打包量产 IMG 文件手册,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.适用范围

本文档主要介绍全志 T3 平台量产 SylixOS 系统的方法。区别于《AllWinnerT3量产使用手册.docx》,本文主要介绍如何生成可通过 Phoenixsuit 或 PhoenixCard 软件直接烧录的 img 文件。

2.准备工作

  1. T3 平台设备,已在 EMMC 上固化 SylixOS、APP、运行环境,等待打包
  2. USB 转串口设备一个
  3. Ubuntu 虚拟机
  4. T3 设备 lichee 开发环境

3.概述

整体打包流程大致由4步组成,如图 3.1所示。

图 3.1 整体打包流程

4.生成 EMMC 恢复镜像

在系统中使用 df 命令确认当前文件系统使用量,以确认需要保存的 EMMC 空间大小。如图 4.1所示,由此可知当前文件系统使用量不超过 100M,加上 80M 保留分区与 80M 启动分区,当前需要保存的 EMMC 空间为 260M。

图 4.1 查看EMMC使用情况

拷贝的 EMMC恢复镜像无法保存在 EMMC中,这里使用 nfs 方式。在 PC 段启动 NFS 服务器,在设备上使用如下命令挂载目录:

# mount -t nfs 192.168.1.12:/nfsroot  /mnt/nfs

       FTP传输t3_mking到apps目录内,执行如下命令在nfs中生成 EMMC 恢复镜像

# /apps/t3_mkimg -t mmc -s 260 -o /mnt/nfs/sylixos_emmc.bin

       其中 260 表示拷贝 260M 空间,成功后可在 nfs 目录下看到对应的文件。

5.生成SylixOS量产镜像

根据《ROMFS 使用手册.docx》创建基于 RomFs 的镜像。在 RomFs 文件系统的 /apps/目录下放入 EMMC 恢复镜像和 t3_producer,/lib/ 目录下放入 libvpmpdm.so,/usr/bin/ 下放入 dd 可执行文件(libvpmpdm.so、dd 在 base 中生成)。

系统启动 main 函数中执行如下操作:

    printf("updating emmc...\n");

    system("/apps/t3_producer -i /apps/sylixos_emmc.bin -o mmc");

    printf("update success!  rebooting\n");

    system("reboot");

最终生成 SylixOS 量产镜像 bspallwinnert3_cqr40.bin

6.生成烧录镜像

1、打开 Ubuntu 虚拟机,进入全志 SDK lichee 开发目录,先做一次编译,保证编译完成。

$ cd ttu-n_original

$ sudo ./build.sh

 

2、拷贝 SylixOS 量产镜像到全志编译 SDK 目录 ttu-n_original\tools\pack\SylixOS 下;

 

3、修改文件 ttu-n_original\tools\pack\pack

在 function do_common() 中 if [ "x${PACK_PLATFORM}" = "xdragonboard" ] ; 条件内增加拷贝系统镜像到 boot-resource/ 目录

cp ../SylixOS/bspallwinnert3_cqr40_cpu0.bin boot-resource/

如图 6.1所示。

图 6.1

 

4、修改文件 ttu-n_original\tools\pack\chips\sun8iw11p1\configs\default\env_dragon.cfg

添加:sylixos_run=fatload mmc 2:2 0x40100000 bspallwinnert3_cqr40_cpu0.bin;go 0x40100000;

并修改 bootcmd :

bootcmd=run sylixos_run

如图 6.2所示

图 6.2

 

5、修改文件 ttu-n_original\tools\pack\chips\sun8iw11p1\boot-resource\boot-resource.ini

改:

size=131072

为:

size=524288

如图 6.3所示

图 6.3

 

修改文件:

ttu-n_original\tools\pack\chips\sun8iw11p1\configs\magton-p1\sys_partition_dragonboard.fex

 

改:

[partition]

    name         = boot-res

    size         = 32768

    downloadfile = "bootloader.fex"

    user_type    = 0x8000

为:

[partition]

    name         = boot-res

    size         = 1048576

    downloadfile = "bootloader.fex"

    user_type    = 0x8000

 

注意:此处为创建自加载镜像临时修改,创建后需恢复

如图 6.4所示。

图 6.4

 

5、在根目录下打包生成新镜像

$ cd ttu-n_original

$ sudo ./build.sh pack

最终生成文件如图 6.5所示。

图 6.5

7.烧录过程

使用 Phoenixsuit 或 PhoenixCard 软件在新设备上直接烧录最终生成的 IMG 文件即可。这是演示 Phoenixsuit 通过 USB 烧录过程。

  1. 板卡断电,将 boot 引脚接地(根据不同板卡而定,可能是按键也可能是短接冒);
  2. 打开 Phoenixsuit 软件,选中“一键刷机”,选择需要烧录的镜像,如图 7.1所示;

图 7.1

  1. 板卡上电,插上 USB 线,Phoenixsuit 会自动提示是否刷机,确认即可(若没有提示可能是缺少 USB 驱动,在 Phoenixsuit 安装目录下运行 InstallUSBDrv.exe 即可);
  2. 烧录结束后,断开 USB 与 boot 脚,重新上电。
  3. 上电后 uboot 会先引导 SylixOS 量产镜像,SylixOS 量产镜像运行后会读取 EMMC 恢复镜像的内容并恢复到 EMMC 中,恢复结束后自动重启,新设备被烧录为目标状态。

8.附件

https://download.csdn.net/download/stone8761/19290512

这篇关于SylixOS:T3 打包量产 IMG 文件手册的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/556372

相关文章

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程

Maven项目打包时添加本地Jar包的操作步骤

《Maven项目打包时添加本地Jar包的操作步骤》在Maven项目开发中,我们经常会遇到需要引入本地Jar包的场景,比如使用未发布到中央仓库的第三方库或者处理版本冲突的依赖项,本文将详细介绍如何通过M... 目录一、适用场景说明​二、核心操作命令​1. 命令格式解析​2. 实战案例演示​三、项目配置步骤​1

Spring Boot项目打包和运行的操作方法

《SpringBoot项目打包和运行的操作方法》SpringBoot应用内嵌了Web服务器,所以基于SpringBoot开发的web应用也可以独立运行,无须部署到其他Web服务器中,下面以打包dem... 目录一、打包为JAR包并运行1.打包为可执行的 JAR 包2.运行 JAR 包二、打包为WAR包并运行

Python将字库文件打包成可执行文件的常见方法

《Python将字库文件打包成可执行文件的常见方法》在Python打包时,如果你想将字库文件一起打包成一个可执行文件,有几种常见的方法,具体取决于你使用的打包工具,下面就跟随小编一起了解下具体的实现方... 目录使用 PyInstaller基本方法 - 使用 --add-data 参数使用 spec 文件(

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

Flutter打包APK的几种方式小结

《Flutter打包APK的几种方式小结》Flutter打包不同于RN,Flutter可以在AndroidStudio里编写Flutter代码并最终打包为APK,本篇主要阐述涉及到的几种打包方式,通... 目录前言1. android原生打包APK方式2. Flutter通过原生工程打包方式3. Futte

linux打包解压命令方式

《linux打包解压命令方式》文章介绍了Linux系统中常用的打包和解压命令,包括tar和zip,使用tar命令可以创建和解压tar格式的归档文件,使用zip命令可以创建和解压zip格式的压缩文件,每... 目录Lijavascriptnux 打包和解压命令打包命令解压命令总结linux 打包和解压命令打