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

相关文章

springboot3打包成war包,用tomcat8启动

1、在pom中,将打包类型改为war <packaging>war</packaging> 2、pom中排除SpringBoot内置的Tomcat容器并添加Tomcat依赖,用于编译和测试,         *依赖时一定设置 scope 为 provided (相当于 tomcat 依赖只在本地运行和测试的时候有效,         打包的时候会排除这个依赖)<scope>provided

linux dlopen手册翻译

名称 dlclose, dlopen, dlmopen 打开和关闭一个共享对象 简介 #include <dlfcn.h>void *dlopen(const char*filename, int flags);int dlclose(void *handle);#define _GNU_SOURCE#include <dlfcn.h>void *dlmoopen(Lmid_t lm

android6/7 system打包脚本

1.android5打包system就是网站上常见的制作ROM必备的解包打包system脚本 指令如下:mkuserimg.sh -s out/target/product/$TARGET_PRODUCT/system out/target/product/$TARGET_PRODUCT/obj/PACKAGING/systemimage_intermediates/system.img

android打包解包boot.img,system.img

原帖地址:http://www.52pojie.cn/thread-488025-1-1.html 转载Mark一下,日后研究 最近工作需要对boot.img,system.img进行破解。顺便将心得分享一下。 我的工作环境是在linux下的。所以工具都是针对linux的。 boot.img破解相关工具: 1、split_boot    perl脚本 2、boot_i

MTK Android P/Q system/vendor/super快速打包

一、Android 新版本默认开启了动态分区,把system vendor  product等分区打包成一个super分区。这对于我们使用替换分区的方法来排查问题不是很方便,直接替换一个super也不知道到底是哪个部分导致的。所以我们需要自己制作super.img来缩小范围。下面讲讲如何快速生成system、vendor、super,以及vbmeta(校验image,不匹配可能会导致不开机) 二

MTK平台AndroidP/Q快速生成dtb.img和dtbo.img(2秒生成)

背景: MTK升级新的Android版本后,无法快速编译dtbo image,当我们修改DWS和PROJECT DTS后验证问题非常麻烦,必须删除out下KERNEL_OBJ才能生成新的dtbo.img,而且必须整编。 所以跟据编译流程,写了下面这个脚本,可以快速生成dtbo和dtb image,可以几秒钟完成 使用方法: (1)将脚本放在工程跟目录 (2)修改脚本开头的几个变量,改为你

MTK AndroidP/Q快速打包ramdisk

一、Android P/Q ramdisk与老版本的差异 Android老版本的ramdisk是out下的root/ramdisk打包而来,里面包含了init  /sbin  init.rc   default.prop等文件。是一个完整的ramdisk Android新版本ramdisk分为了out 下的ramdisk目录和root目录,init ,init.rc等文件大部分都放到了syst

Android P/Q MTK平台无依赖打包boot.img

背景:        有时排查版本问题,需要用到替换img的方式来查找问题出现在哪个img,若出现在bootimg,那到底是kernel、DTB 还是ramdisk。此时就需要单独替换其中一个的方式来打包,之前直接make bootimage-nodeps就可以了,但现在发现执行这个命令无效了。下面就分析下新版本如何找到正确的打包命令。 一、找到编译boot的命令 之前Android编译lo

Qt5项目打包

笔者本来想尝试将项目在Windows环境和Linux环境下都打包发布,但是Linux环境下各种办法都尝试了,还是有点问题,先总结记录下吧。 参考文章:https://blog.csdn.net/windsnow1/article/details/78004265 http://www.cnblogs.com/lvdongjie/p/7250547.html http://doc.qt.io/ar

Java中WebService接口的生成、打包成.exe、设置成Windows服务、及其调用、Apache CXF调用

一、Java中WebService接口的生成: 1、在eclipse工具中新建一个普通的JAVA项目,新建一个java类:JwsServiceHello.java package com.accord.ws;import javax.jws.WebMethod;import javax.jws.WebService;import javax.xml.ws.Endpoint;/*** Ti