CN113157282A - 一种烧录镜像文件生成方法 - Google Patents

一种烧录镜像文件生成方法 Download PDF

Info

Publication number
CN113157282A
CN113157282A CN202110344377.9A CN202110344377A CN113157282A CN 113157282 A CN113157282 A CN 113157282A CN 202110344377 A CN202110344377 A CN 202110344377A CN 113157282 A CN113157282 A CN 113157282A
Authority
CN
China
Prior art keywords
image file
file
simulation
generating
partition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110344377.9A
Other languages
English (en)
Other versions
CN113157282B (zh
Inventor
陈远周
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huizhou Foryou General Electronics Co Ltd
Original Assignee
Huizhou Foryou General Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huizhou Foryou General Electronics Co Ltd filed Critical Huizhou Foryou General Electronics Co Ltd
Priority to CN202110344377.9A priority Critical patent/CN113157282B/zh
Publication of CN113157282A publication Critical patent/CN113157282A/zh
Application granted granted Critical
Publication of CN113157282B publication Critical patent/CN113157282B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供烧录镜像文件生成方法,方法包括:步骤1、获取目标存储器的第一容量;步骤2、对源操作系统进行编译,获得分区表文件、各分区的原始包文件;步骤3、根据所述分区表文件,生成与所述第一容量相同的模拟磁盘;步骤4、读取所述各分区的原始包文件进行解析,获取所述原始包文件的文件名及属性,以预设方式将所述各分区的原始包文件写入到模拟磁盘生成烧录镜像文件。本发明实现了无需对相关设备进行改修即可实现烧录镜像文件的生成。

Description

一种烧录镜像文件生成方法
技术领域
本发明涉及嵌入式操作系统技术领域,尤其涉及一种烧录镜像文件生成方法。
背景技术
针对andriod系统的嵌入式便携设备,生成系统烧录镜像有如下两种方式:
方式一、先对某一台设备升级以确认版本,再把这太升级OK的设备中的eMMC存储器拆下来,然后通过第三方的烧录器把eMMC存储器中的内容读取出来。
方式二、先对某一台设备升级以确认版本,通过外置TF或SD卡启动一个小的linux系统,然后在这个小linux系统中把eMMC中的数据读取出来存储。
上述两种方式均需对相关设备进行改修,步骤繁多,效率低下。
因此,现有技术有待进一步改进。
发明内容
本发明提供一种烧录镜像文件生成方法,旨在解决现有技术中的缺陷,实现无需对相关设备进行改修即可实现烧录镜像文件的生成。
为达到上述目的,本发明所采取的技术方案为:
本发明提供一种烧录镜像文件生成方法,包括:
步骤1、获取目标存储器的第一容量;
步骤2、对源操作系统进行编译,获得分区表文件、各分区的原始包文件;
步骤3、根据所述分区表文件,生成与所述第一容量相同的模拟磁盘;
步骤4、读取所述各分区的原始包文件进行解析,获取所述原始包文件的文件名及属性,以预设方式将所述各分区的原始包文件写入到模拟磁盘生成烧录镜像文件。
具体地,所述步骤3的包括:
步骤3-1、在编译系统中生成一个模拟镜像文件,所述模拟镜像文件的容量与所述第一容量相等、数据内容为0;
步骤3-2、读取所述分区表文件,获取各分区的属性信息;
步骤3-3、将所述分区表文件覆盖至模拟镜像文件,生成模拟磁盘。
具体地,所述步骤3-1包括:
步骤3-1-1、判断模拟镜像文件是否存在,是则打开,否则进入下一步;
步骤3-1-2、根据所述第一容量设置模拟镜像文件的大小;
步骤3-1-3、设置所述模拟镜像文件的所有字节的值为0;
具体地,所述步骤3-3包括:
步骤3-3-1、打开所述模拟镜像文件;
步骤3-3-2、打开所述分区表文件;
步骤3-3-3、将所述分区表文件从所述模拟镜像文件起始位置写入;
步骤3-3-4、对所述模拟镜像文件进行GPT分区格式化。
具体地,所述步骤4包括:
步骤4-1、判断所述原始包文件是否为压缩文件,是则进行解压并进入下一步,否则直接进入下一步;
步骤4-2、根据所述原始包文件的文件名,所述分区表的索引属性中检索,获取所述原始包文件在所述模拟磁盘的开始扇区位置、结束扇区的位置,计算出所述原始包文件对应的分区的最大空间;
步骤4-3、读取所述原始包文件的大小,判断是否小于或等于所述最大空间,是则进入下一步,否则判断所述原始包文件为非法文件,结束操作;
步骤4-4、将所述原始包文件写入所述模拟磁盘对应的分区。
进一步地,在所述步骤4之后还包括:
步骤5、将目标设备与存储所述镜像文件的设备连接;
步骤6、启动所述目标设备,进入最小系统;
步骤7、存储设备通过预设工具将所述镜像文件写入到所述目标设备的存储器中;
步骤8、对所述目标设备重新上电,检查所述镜像文件的功能是否完整,是则判定所述镜像文件通过验证,否则判定所述镜像文件未通过验证。
具体地,所述步骤7包括:
步骤7-1、判断所述镜像文件的大小是否超过所述预设工具能识别的范围,是则进入下一步,否则通过预设工具将所述镜像文件写入到所述目标设备的存储器中;
步骤7-2、将所述镜像文件进行分割,生成子镜像文件,按照预设的命名规则进行命名,所述子镜像文件的大小不超过所述预设工具能识别的最大值;
步骤7-3、按照各所述子镜像文件的大小和名称顺序,对所述目标设备的存储器的写入位置建立索引表;
步骤7-4、当所述目标设备接收到所述子镜像文件后,通过所述索引表确定所述子镜像文件应写入的起止位置;
步骤7-5、将所述子镜像文件写入到所述起止位置。
具体地,所述分区表为GPT。
本发明的有益效果在于:本发明通过对源操作系统进行编译,获得分区表文件、各分区的原始包文件,并根据分区表文件,生成与第一容量相同的模拟磁盘,然后读取各分区的原始包文件进行解析,获取原始包文件的文件名及属性,以预设方式将各分区的原始包文件写入到模拟磁盘生成烧录镜像文件,实现了无需对相关设备进行改修即可实现烧录镜像文件的生成。
附图说明
图1是本发明的烧录镜像文件生成方法的流程示意图。
具体实施方式
下面结合附图具体阐明本发明的实施方式,附图仅供参考和说明使用,不构成对本发明专利保护范围的限制。
实施例1
本实施例提供一种烧录镜像文件生成方法,包括:
步骤1、获取目标存储器的第一容量。
所述目标存储器是指要将烧录进行文件写入的存储器(例如eMMC、USF等)。
步骤2、对源操作系统进行编译,获得分区表文件、各分区的原始包文件。
在具体实施时,通过Ubuntu系统下的编译服务器,对用来制作烧录镜像文件的linux或安卓等操作系统进行编译,从而得到相应的分区表文件、各分区的原始包文件。
分区表是一个描述了各分区的名字、位置、大小等属性的文件。
在本实施例中,所述分区表为GPT(GUID Partition Table,意即“全局唯一标识分区列表”)。
各分区的原始包文件因为实际编译的方式而有所不同。在本实施例中,所述各分区的原始包文件包括:u-boot.bin、boot.img、dtb.img、system.img、userdata.img、vbmeta.img、vendor.img。
一个原始包文件对应一个分区,即有多少个原始包,分区表中就包含多少个分区。
步骤3、根据所述分区表文件,生成与所述第一容量相同的模拟磁盘。
步骤4、读取所述各分区的原始包文件进行解析,获取所述原始包文件的文件名及属性,以预设方式将所述各分区的原始包文件写入到模拟磁盘生成烧录镜像文件。
所述属性包括是否压缩、文件大小等,所述预设方式为二进制文件流。
实施例2
与实施例1不同的是,本实施例所述步骤3的一种具体方法,包括:
步骤3-1、在编译系统中生成一个模拟镜像文件,所述模拟镜像文件的容量与所述第一容量相等、数据内容为0。
在本实施例中,所述模拟镜像文件的格式为img或者iso。
在本实施例中,所述步骤3-1包括:
步骤3-1-1、判断模拟镜像文件是否存在,是则打开,否则进入下一步;
步骤3-1-2、根据所述第一容量设置模拟镜像文件的大小;
步骤3-1-3、设置所述模拟镜像文件的所有字节的值为0;
步骤3-2、读取所述分区表文件,获取各分区的属性信息。
所述属性信息包括各分区的UUID、分区名字、开始扇区、结束扇区等。
步骤3-3、将所述分区表文件覆盖至模拟镜像文件,生成模拟磁盘。
在本实施例中,所述步骤3-3包括:
步骤3-3-1、打开所述模拟镜像文件;
步骤3-3-2、打开所述分区表文件;
步骤3-3-3、将所述分区表文件从所述模拟镜像文件起始位置写入;
步骤3-3-4、对所述模拟镜像文件进行GPT分区格式化。
实施例3
与实施例1不同的是,本实施例所述步骤4的一种具体方法,包括:
步骤4-1、判断所述原始包文件是否为压缩文件,是则进行解压并进入下一步,否则直接进入下一步;
步骤4-2、根据所述原始包文件的文件名,所述分区表的索引属性中检索,获取所述原始包文件在所述模拟磁盘的开始扇区位置、结束扇区的位置,计算出所述原始包文件对应的分区的最大空间;
步骤4-3、读取所述原始包文件的大小,判断是否小于或等于所述最大空间,是则进入下一步,否则判断所述原始包文件为非法文件,结束操作;
步骤4-4、将所述原始包文件写入所述模拟磁盘对应的分区。
实施例4
与实施例1不同的是,本实施例在所述步骤4之后还包括:
步骤5、将目标设备与存储所述镜像文件的设备连接。
在具体实施时,通过有线(例如USB线)的方式或者无线方式将目标设备(需要烧录镜像文件的车机)与存储所述镜像文件的设备(例如PC机)建立连接。
步骤6、启动所述目标设备,进入最小系统。
步骤7、存储设备通过预设工具将所述镜像文件写入到所述目标设备的存储器中。
在本实施例中,所述预设工具为fastboot。
步骤8、对所述目标设备重新上电,检查所述镜像文件的功能是否完整,是则判定所述镜像文件通过验证,否则判定所述镜像文件未通过验证。
实施例5
与实施例4不同的是,本实施例所述步骤7的一种具体方法,包括:
步骤7-1、判断所述镜像文件的大小是否超过所述预设工具能识别的范围,是则进入下一步,否则通过预设工具将所述镜像文件写入到所述目标设备的存储器中。
步骤7-2、将所述镜像文件进行分割,生成子镜像文件,按照预设的命名规则进行命名,所述子镜像文件的大小不超过所述预设工具能识别的最大值。
在具体实施时,若存储所述镜像文件的设备安装的操作系统为Ubuntu,则通过如下命令进行分割:split-b kname uda。其中,k表示每个子镜像文件的大小,name表示原始包的文件名。
步骤7-3、按照各所述子镜像文件的大小和名称顺序,对所述目标设备的存储器的写入位置建立索引表。
步骤7-4、当所述目标设备接收到所述子镜像文件后,通过所述索引表确定所述子镜像文件应写入的起止位置。
步骤7-5、将所述子镜像文件写入到所述起止位置。
在具体实施时,可调用uboot自带的写数据命令(mmc write)将所述子镜像文件应写入的位置。
以上所揭露的仅为本发明的较佳实施例,不能以此来限定本发明的权利保护范围,因此依本发明申请专利范围所作的等同变化,仍属本发明所涵盖的范围。

Claims (8)

1.一种烧录镜像文件生成方法,其特征在于,包括:
步骤1、获取目标存储器的第一容量;
步骤2、对源操作系统进行编译,获得分区表文件、各分区的原始包文件;
步骤3、根据所述分区表文件,生成与所述第一容量相同的模拟磁盘;
步骤4、读取所述各分区的原始包文件进行解析,获取所述原始包文件的文件名及属性,以预设方式将所述各分区的原始包文件写入到模拟磁盘生成烧录镜像文件。
2.根据权利要求1所述的烧录镜像文件生成方法,其特征在于,所述步骤3的包括:
步骤3-1、在编译系统中生成一个模拟镜像文件,所述模拟镜像文件的容量与所述第一容量相等、数据内容为0;
步骤3-2、读取所述分区表文件,获取各分区的属性信息;
步骤3-3、将所述分区表文件覆盖至模拟镜像文件,生成模拟磁盘。
3.根据权利要求2所述的烧录镜像文件生成方法,其特征在于,所述步骤3-1包括:
步骤3-1-1、判断模拟镜像文件是否存在,是则打开,否则进入下一步;
步骤3-1-2、根据所述第一容量设置模拟镜像文件的大小;
步骤3-1-3、设置所述模拟镜像文件的所有字节的值为0。
4.根据权利要求2所述的烧录镜像文件生成方法,其特征在于,所述步骤3-3包括:
步骤3-3-1、打开所述模拟镜像文件;
步骤3-3-2、打开所述分区表文件;
步骤3-3-3、将所述分区表文件从所述模拟镜像文件起始位置写入;
步骤3-3-4、对所述模拟镜像文件进行GPT分区格式化。
5.根据权利要求1所述的烧录镜像文件生成方法,其特征在于,所述步骤4包括:
步骤4-1、判断所述原始包文件是否为压缩文件,是则进行解压并进入下一步,否则直接进入下一步;
步骤4-2、根据所述原始包文件的文件名,所述分区表的索引属性中检索,获取所述原始包文件在所述模拟磁盘的开始扇区位置、结束扇区的位置,计算出所述原始包文件对应的分区的最大空间;
步骤4-3、读取所述原始包文件的大小,判断是否小于或等于所述最大空间,是则进入下一步,否则判断所述原始包文件为非法文件,结束操作;
步骤4-4、将所述原始包文件写入所述模拟磁盘对应的分区。
6.根据权利要求1所述的烧录镜像文件生成方法,其特征在于,在所述步骤4之后还包括:
步骤5、将目标设备与存储所述镜像文件的设备连接;
步骤6、启动所述目标设备,进入最小系统;
步骤7、存储设备通过预设工具将所述镜像文件写入到所述目标设备的存储器中;
步骤8、对所述目标设备重新上电,检查所述镜像文件的功能是否完整,是则判定所述镜像文件通过验证,否则判定所述镜像文件未通过验证。
7.根据权利要求6所述的烧录镜像文件生成方法,其特征在于,所述步骤7包括:
步骤7-1、判断所述镜像文件的大小是否超过所述预设工具能识别的范围,是则进入下一步,否则通过预设工具将所述镜像文件写入到所述目标设备的存储器中;
步骤7-2、将所述镜像文件进行分割,生成子镜像文件,按照预设的命名规则进行命名,所述子镜像文件的大小不超过所述预设工具能识别的最大值;
步骤7-3、按照各所述子镜像文件的大小和名称顺序,对所述目标设备的存储器的写入位置建立索引表;
步骤7-4、当所述目标设备接收到所述子镜像文件后,通过所述索引表确定所述子镜像文件应写入的起止位置;
步骤7-5、将所述子镜像文件写入到所述起止位置。
8.根据权利要求1~7任一项所述的烧录镜像文件生成方法,其特征在于,所述分区表为GPT。
CN202110344377.9A 2021-03-31 2021-03-31 一种烧录镜像文件生成方法 Active CN113157282B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110344377.9A CN113157282B (zh) 2021-03-31 2021-03-31 一种烧录镜像文件生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110344377.9A CN113157282B (zh) 2021-03-31 2021-03-31 一种烧录镜像文件生成方法

Publications (2)

Publication Number Publication Date
CN113157282A true CN113157282A (zh) 2021-07-23
CN113157282B CN113157282B (zh) 2024-06-04

Family

ID=76885985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110344377.9A Active CN113157282B (zh) 2021-03-31 2021-03-31 一种烧录镜像文件生成方法

Country Status (1)

Country Link
CN (1) CN113157282B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778747A (zh) * 2021-08-11 2021-12-10 江苏深网科技有限公司 一种设备系统镜像文件格式分析方法
CN114706533A (zh) * 2022-04-24 2022-07-05 苏州睿芯集成电路科技有限公司 一种基于gpt分区表的多文件多级启动加载方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541587A (zh) * 2011-11-23 2012-07-04 中标软件有限公司 龙芯平台下安装linux操作系统的方法
CN102567136A (zh) * 2010-12-15 2012-07-11 研祥智能科技股份有限公司 一种计算机系统的备份、还原方法、装置及计算机系统
CN104572492A (zh) * 2015-01-22 2015-04-29 福州瑞芯微电子有限公司 一种烧录数据到fat32分区的方法和装置
WO2015070521A1 (zh) * 2013-11-12 2015-05-21 上海斐讯数据通信技术有限公司 将ubi格式的系统文件制作成工厂烧录映像文件方法
CN105446771A (zh) * 2015-11-13 2016-03-30 浪潮电子信息产业股份有限公司 一种基于u盘的快速自动安装操作系统的方法
CN105590072A (zh) * 2015-12-18 2016-05-18 上海华测导航技术股份有限公司 一种实现嵌入式系统自动烧录的方法
CN109766111A (zh) * 2018-12-30 2019-05-17 惠州华阳通用电子有限公司 一种升级文件生成装置及其升级方法
CN111124435A (zh) * 2019-10-31 2020-05-08 惠州华阳通用电子有限公司 一种存储器分区容量调节方法及装置
CN111158697A (zh) * 2019-12-25 2020-05-15 惠州华阳通用电子有限公司 一种烧录镜像制作方法
CN112486514A (zh) * 2020-11-27 2021-03-12 广州视源电子科技股份有限公司 eMMC烧录文件的制作方法、装置和计算机设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567136A (zh) * 2010-12-15 2012-07-11 研祥智能科技股份有限公司 一种计算机系统的备份、还原方法、装置及计算机系统
CN102541587A (zh) * 2011-11-23 2012-07-04 中标软件有限公司 龙芯平台下安装linux操作系统的方法
WO2015070521A1 (zh) * 2013-11-12 2015-05-21 上海斐讯数据通信技术有限公司 将ubi格式的系统文件制作成工厂烧录映像文件方法
CN104572492A (zh) * 2015-01-22 2015-04-29 福州瑞芯微电子有限公司 一种烧录数据到fat32分区的方法和装置
CN105446771A (zh) * 2015-11-13 2016-03-30 浪潮电子信息产业股份有限公司 一种基于u盘的快速自动安装操作系统的方法
CN105590072A (zh) * 2015-12-18 2016-05-18 上海华测导航技术股份有限公司 一种实现嵌入式系统自动烧录的方法
CN109766111A (zh) * 2018-12-30 2019-05-17 惠州华阳通用电子有限公司 一种升级文件生成装置及其升级方法
CN111124435A (zh) * 2019-10-31 2020-05-08 惠州华阳通用电子有限公司 一种存储器分区容量调节方法及装置
CN111158697A (zh) * 2019-12-25 2020-05-15 惠州华阳通用电子有限公司 一种烧录镜像制作方法
CN112486514A (zh) * 2020-11-27 2021-03-12 广州视源电子科技股份有限公司 eMMC烧录文件的制作方法、装置和计算机设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SHENGHONG HUANG: "Single-frequency fiber laser from linear cavity with loop mirror filter and dual-cascaded FBGs", 《IEEE PHOTONICS TECHNOLOGY LETTERS》 *
张佃青: "SD卡启动的PowerPC NOR Flash自动烧写方法", 《单片机与嵌入式系统应用》 *
曹慧: "FPGA多重配置在LED显示控制系统中的应用", 《液晶与显示》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778747A (zh) * 2021-08-11 2021-12-10 江苏深网科技有限公司 一种设备系统镜像文件格式分析方法
CN113778747B (zh) * 2021-08-11 2023-08-29 江苏深网科技有限公司 一种设备系统镜像文件格式分析方法
CN114706533A (zh) * 2022-04-24 2022-07-05 苏州睿芯集成电路科技有限公司 一种基于gpt分区表的多文件多级启动加载方法及装置
CN114706533B (zh) * 2022-04-24 2023-10-27 苏州睿芯集成电路科技有限公司 一种基于gpt分区表的多文件多级启动加载方法及装置

Also Published As

Publication number Publication date
CN113157282B (zh) 2024-06-04

Similar Documents

Publication Publication Date Title
CN101751273B (zh) 用于嵌入式系统的安全引导装置及方法
CN113157282B (zh) 一种烧录镜像文件生成方法
CN107506221B (zh) 应用程序升级方法、装置及设备
US20050251799A1 (en) Method of updating firmware
CN109189405B (zh) 一种验证程序Flash数据一致性的方法及系统
CN111857776B (zh) Dsp板卡类的应用程序的在线升级方法
CN110032377B (zh) 通信模块软件升级方法、系统及通信模块
CN112486514B (zh) eMMC烧录文件的制作方法、装置和计算机设备
CN102141923A (zh) 内存文件系统加载方法及装置
CN111258666A (zh) 计算机文件的读取方法、装置、计算机系统及存储介质
CN111737051B (zh) 一种SSD固态硬盘的trim数据校验测试方法、装置及系统
CN111158697A (zh) 一种烧录镜像制作方法
US10635874B2 (en) Burning control system and method
CN112181446A (zh) 一种基于stm32的软件在线升级方法
JP6648431B2 (ja) 照合プログラム、照合方法および照合装置
CN103389941B (zh) 存储器格式化方法、存储器控制器及存储器存储装置
CN104133640A (zh) 从休眠快速恢复
CN104063306A (zh) 智能终端软件测试中的自动登录方法、装置和系统
CN111290765B (zh) 一种固件快速烧录方法、系统及存储介质
CN114385184A (zh) 一种用于Lua代码嵌入的编译方法、装置、终端及存储介质
CN116302720A (zh) 槽位绑定方法、系统、终端设备及存储介质
CN102098568B (zh) 一种电视机数据克隆的方法
CN109683914B (zh) 一种flash烧录方法、上位机及烧录系统
US20080147966A1 (en) Flash memory device, update method and program search method thereof
CN109165048A (zh) 基于android系统的升级后快速启动方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant