CN113204351A - 一种嵌入式系统包管理方法及其使用方法 - Google Patents

一种嵌入式系统包管理方法及其使用方法 Download PDF

Info

Publication number
CN113204351A
CN113204351A CN202110759306.5A CN202110759306A CN113204351A CN 113204351 A CN113204351 A CN 113204351A CN 202110759306 A CN202110759306 A CN 202110759306A CN 113204351 A CN113204351 A CN 113204351A
Authority
CN
China
Prior art keywords
package
installation package
installation
embedded system
management method
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
CN202110759306.5A
Other languages
English (en)
Other versions
CN113204351B (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.)
Chengdu Jingrong Lianchuang Technology Co ltd
Original Assignee
Chengdu Jingrong Lianchuang Technology 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 Chengdu Jingrong Lianchuang Technology Co ltd filed Critical Chengdu Jingrong Lianchuang Technology Co ltd
Priority to CN202110759306.5A priority Critical patent/CN113204351B/zh
Publication of CN113204351A publication Critical patent/CN113204351A/zh
Application granted granted Critical
Publication of CN113204351B publication Critical patent/CN113204351B/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/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种嵌入式系统包管理方法及其使用方法,所述嵌入式系统包管理方法包括:S1:编译并生成固定封装格式的安装包;S2:搭建所述安装包的包管理服务器;S3:创建所述安装包的设备端包管理工具。本发明所提供的嵌入式系统包管理方法及其使用方法,以解决在现有的使用Buildroot构建的根文件系统中增删应用程序流程步骤过于繁琐、不支持软件包在线升级且支持的软件包不够丰富的问题。

Description

一种嵌入式系统包管理方法及其使用方法
技术领域
本发明涉及嵌入式技术领域,具体涉及一种嵌入式系统包管理方法及其使用方法。
背景技术
目前的嵌入式根文件系统构建方式主要包含四种,分别是Buildroot、YoctoProject、Openwrt,和使用发行版Linux的Rootfs进行定制,即Desktop Distros,如Ubuntu等。
这四种嵌入式根文件系统构建方式中,Buildroot方式构建嵌入式根文件系统是最为优越的方式。Buildroot支持源码级构建;Bulidroot资源开销较小且优于YoctoProject和Desktop Distros;Bulidroot支持的功能丰富程度优于Desktop Distros;Buildroot框架学习成本低,优于Yocto Project和Desktop Distros;Buildroot产业化程度高,优于Openwrt和Desktop Distros。Buildroot唯一的不足是不支持包管理机制,而Yocto Project和Openwrt同样不支持包管理机制。
发明内容
本发明的目的在于提供一种嵌入式系统包管理方法及其使用方法,以解决现有的Buildroot构建的根文件系统中增删应用程序流程步骤过于繁琐、不支持软件包在线升级且支持的软件包不够丰富的问题。
本发明解决上述技术问题的技术方案如下:
本发明提供一种嵌入式系统包管理方法,所述嵌入式系统包管理方法包括:
S1:编译并生成固定封装格式的安装包;
S2:搭建所述安装包的包管理服务器;
S3:创建所述安装包的设备端包管理工具。
可选择地,所述步骤S1包括以下分步骤:
S11:定义所述安装包的封装格式;
S12:按照所述封装格式将所述安装包生成软件包。
可选择地,所述步骤S11包括以下分步骤:
S111:定义所述安装包的封装信息,其中,所述封装信息包括软件自身信息、软件版本信息、安装步骤信息和启动脚本;
S112:将待安装的所有文件按照目录依次存放入所述安装包。
可选择地,所述步骤S12包括以下分步骤:
S121:按照所述封装格式生成开源软件包;
S122:按照所述封装格式生成自研软件包。
可选择地,所述步骤S121中,生成所述开源软件包之前,还包括:
A1:将所述安装包拷贝至嵌入式系统的独立位置;
A2:梳理所述安装包与其他安装包之间的依赖关系;
A3:构建打包工具,以用于将所有安装内容打包,其中,所述所有安装内容包括所述安装包、所述步骤A1和所述步骤A2中的全部内容。
可选择地,所述步骤S2中,搭建所述安装包的包管理服务器用于:
提供所述安装包的url供设备端访问;和/或
对所述安装包中具体某个子安装包提供url供设备端下载,和/或
按需增加下载验证机制。
可选择地,所述步骤S3中,所述设备端包管理工具支持离线管理和在在线管理,所述离线管理包括:在无网络的状态下下载所述安装包。
可选择地,所述步骤S3中,创建所述安装包的设备端包管理工具用于:安装已经存在磁盘上的所述安装包;和/或卸载所述安装包中已制定名称的软件包;和/或更新所述安装包中已经安装的软件包;和/或查看所述安装包的信息。
可选择地,所述步骤S3中,创建所述安装包的设备端包管理工具还用于:
配置所述安装包的源地址;和/或支持从所述源地址获取该源支持的所有安装包信息,所述所有安装包信息包括所述安装包信息与所述安装包的具体下载url;和/或支持将所述安装包从url中下载到本地磁盘;和/或支持查找源中是否包含某个子安装包的功能。
基于上述技术方案,本发明还提供一种根据上述的嵌入式系统包管理方法的使用方法,所述使用方法包括:
B1:将需要的包编译并生成固定封装格式的初始安装包;
B2:通过离线安装的方式调试所述初始安装包的正确性,得到调试好的安装包;
B3:将所述调试好的安装包上传至包管理服务器中;
B4:通过工具命令查找所述包管理服务器中调试好的安装包中的某个子安装包;
B5:通过工具命令安装所述某个子安装包;
B6:运行所述某个子安装包中包含的二进制程序或动态库。
本发明具有以下有益效果:
1、简化Buildroot构建的根文件系统中增删应用程序的流程步骤;
2、在Buildroot构建的根文件系统中,支持软件包的在线升级;
3、提升Buildroot构建的根文件系统中,支持的软件包丰富程度与数量,包括支持自研软件包的安装与各类开源软件包的重新封装打包以及安装。
附图说明
图1为本发明所提供的嵌入式系统包管理方法的流程图;
图2为图1中步骤S1的分步骤流程图;
图3为图2中步骤S11的分步骤流程图;
图4为图2中步骤S12的分步骤流程图;
图5为图4中步骤S121之前所述嵌入式系统包管理方法的分步骤流程图;
图6为本发明所提供的嵌入式系统包管理方法的使用方法的流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例
本发明解决上述技术问题的技术方案如下:
本发明提供一种嵌入式系统包管理方法,参考图1所示,所述嵌入式系统包管理方法包括:
S1:编译并生成固定封装格式的安装包;这个过程可以是由开发者来操作的,具体来说,参考图2,所述步骤S1包括以下分步骤:
S11:定义所述安装包的封装格式;这里,参考图3,定义安装包的封装格式又包括:
S111:定义所述安装包的封装信息,其中,所述封装信息包括软件自身信息、软件版本信息、安装步骤信息和启动脚本;软件自身信息又具体包括安装包对应的CPU架构、版本号、软件名和编译名称等,安装步骤信息包括说明该安装包如何安装到嵌入式系统中的,启动脚本用于系统启动时启动该安装包中的软件。
S112:将待安装的所有文件按照目录依次存放入所述安装包,以用于安装时将对应的文件安装到相应的位置。
S12:按照所述封装格式将所述安装包生成软件包,具体的,安装包包括两部分:开源软件包,也就是编译框架自带的包;以及自研软件包,也就是通过编译框架与编译脚本实现将用户自己开发的软件一键生成软件安装包,参考图4,因而步骤S12包括以下分步骤:
S121:按照所述封装格式生成开源软件包;
生成开源软件包,主要是指将Buildroot中内置的包转换为本发明所定义的封装格式的安装包。这里需要对Buildroot框架进行修改,在编译完成某个包的时候,将其生成的有效文件自动生成一个指定封装格式的安装包。因此,所述步骤S121中,生成所述开源软件包之前,参考图5,还包括:
A1:将所述安装包拷贝至嵌入式系统的独立位置;
A2:梳理所述安装包与其他安装包之间的依赖关系;
A3:构建打包工具,以用于将所有安装内容打包,其中,所述所有安装内容包括所述安装包、所述步骤A1和所述步骤A2中的全部内容。
S122:按照所述封装格式生成自研软件包。
S2:搭建所述安装包的包管理服务器;
这里,搭建所述安装包的包管理服务器用于:
提供所述安装包的url供设备端访问;和/或对所述安装包中具体某个子安装包提供url供设备端下载,和/或按需增加下载验证机制。本领域技术人员可结合本发明以及实际情况对包管理服务器的功能进行选择性设置及使用,本发明不做具体限制。
S3:创建所述安装包的设备端包管理工具。
可选择地,所述步骤S3中,所述设备端包管理工具支持离线管理和在线管理,所述离线管理包括:在无网络的状态下下载所述安装包。
可选择地,所述步骤S3中,创建所述安装包的设备端包管理工具用于:安装已经存在磁盘上的所述安装包;和/或卸载所述安装包中已制定名称的软件包;和/或更新所述安装包中已经安装的软件包;和/或查看所述安装包的信息。
可选择地,所述步骤S3中,创建所述安装包的设备端包管理工具还用于:
配置所述安装包的源地址;和/或支持从所述源地址获取该源支持的所有安装包信息,所述所有安装包信息包括所述安装包信息与所述安装包的具体下载url;和/或支持将所述安装包从url中下载到本地磁盘;和/或支持查找源中是否包含某个子安装包的功能。
基于上述技术方案,本发明还提供一种根据上述的嵌入式系统包管理方法的使用方法,参考图6,所述使用方法包括:
B1:将需要的包编译并生成固定封装格式的初始安装包;
B2:通过离线安装的方式调试所述初始安装包的正确性,得到调试好的安装包;
B3:将所述调试好的安装包上传至包管理服务器中;
B4:通过工具命令查找所述包管理服务器中调试好的安装包中的某个子安装包;
B5:通过工具命令安装所述某个子安装包;
B6:运行所述某个子安装包中包含的二进制程序或动态库。
本发明具有以下有益效果:
1、简化Buildroot构建的根文件系统中增删应用程序的流程步骤;
2、在Buildroot构建的根文件系统中,支持软件包的在线升级;
3、提升Buildroot构建的根文件系统中,支持的软件包丰富程度与数量,包括支持自研软件包的安装与各类开源软件包的重新封装打包以及安装。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种嵌入式系统包管理方法,其特征在于,所述嵌入式系统包管理方法包括:
S1:编译并生成固定封装格式的安装包;
S2:搭建所述安装包的包管理服务器;
S3:创建所述安装包的设备端包管理工具。
2.根据权利要求1所述的嵌入式系统包管理方法,其特征在于,所述步骤S1包括以下分步骤:
S11:定义所述安装包的封装格式;
S12:按照所述封装格式将所述安装包生成软件包。
3.根据权利要求2所述的嵌入式系统包管理方法,其特征在于,所述步骤S11包括以下分步骤:
S111:定义所述安装包的封装信息,其中,所述封装信息包括软件自身信息、软件版本信息、安装步骤信息和启动脚本;
S112:将待安装的所有文件按照目录依次存放入所述安装包。
4.根据权利要求2所述的嵌入式系统包管理方法,其特征在于,所述步骤S12包括以下分步骤:
S121:按照所述封装格式生成开源软件包;
S122:按照所述封装格式生成自研软件包。
5.根据权利要求4所述的嵌入式系统包管理方法,其特征在于,所述步骤S121中,生成所述开源软件包之前,还包括:
A1:将所述安装包拷贝至嵌入式系统的独立位置;
A2:梳理所述安装包与其他安装包之间的依赖关系;
A3:构建打包工具,以用于将所有安装内容打包,其中,所述所有安装内容包括所述安装包、所述步骤A1和所述步骤A2中的全部内容。
6.根据权利要求1所述的嵌入式系统包管理方法,其特征在于,所述步骤S2中,搭建所述安装包的管理服务器用于:
提供所述安装包的url供设备端访问;和/或
对所述安装包中具体某个子安装包提供url供设备端下载,和/或
按需增加下载验证机制。
7.根据权利要求1所述的嵌入式系统包管理方法,其特征在于,所述步骤S3中,所述设备端包管理工具支持离线管理和在线管理,所述离线管理包括:在无网络的状态下下载所述安装包。
8.根据权利要求1所述的嵌入式系统包管理方法,其特征在于,所述步骤S3中,创建所述安装包的设备端包管理工具用于:
安装已经存在磁盘上的所述安装包;和/或
卸载所述安装包中已制定名称的软件包;和/或
更新所述安装包中已经安装的软件包;和/或
查看所述安装包的信息。
9.根据权利要求8所述的嵌入式系统包管理方法,其特征在于,所述步骤S3中,创建所述安装包的设备端包管理工具还用于:
配置所述安装包的源地址;和/或
支持从所述源地址获取该源的所有安装包信息,其中,所述源地址包括所述源,所述所有安装包信息包括所述安装包信息与所述安装包的具体下载url;和/或
支持将所述安装包从url中下载到本地磁盘;和/或
支持查找源中是否包含某个子安装包的功能。
10.一种根据权利要求1-9中任意一项所述的嵌入式系统包管理方法的使用方法,其特征在于,所述使用方法包括:
B1:将需要的包编译并生成固定封装格式的初始安装包;
B2:通过离线安装的方式调试所述初始安装包的正确性,得到调试好的安装包;
B3:将所述调试好的安装包上传至管理服务器中;
B4:通过工具命令查找所述管理服务器中调试好的安装包中的某个子安装包;
B5:通过工具命令安装所述某个子安装包;
B6:运行所述某个子安装包中包含的二进制程序或动态库。
CN202110759306.5A 2021-07-06 2021-07-06 一种嵌入式系统包管理方法及其使用方法 Active CN113204351B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110759306.5A CN113204351B (zh) 2021-07-06 2021-07-06 一种嵌入式系统包管理方法及其使用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110759306.5A CN113204351B (zh) 2021-07-06 2021-07-06 一种嵌入式系统包管理方法及其使用方法

Publications (2)

Publication Number Publication Date
CN113204351A true CN113204351A (zh) 2021-08-03
CN113204351B CN113204351B (zh) 2021-10-22

Family

ID=77022763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110759306.5A Active CN113204351B (zh) 2021-07-06 2021-07-06 一种嵌入式系统包管理方法及其使用方法

Country Status (1)

Country Link
CN (1) CN113204351B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116301908A (zh) * 2023-05-24 2023-06-23 北京中科网威信息技术有限公司 基于申威架构的Buildroot本地编译方法及系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320465A1 (en) * 2007-06-19 2008-12-25 Kinder Nathan G Methods and systems for porting software packages from one format to another
CN103795786A (zh) * 2014-01-20 2014-05-14 杭州百富电子技术有限公司 具有web服务功能的嵌入式集中器系统
CN104461567A (zh) * 2014-12-24 2015-03-25 北京奇虎科技有限公司 软件包的发布方法及系统
US20160179409A1 (en) * 2014-12-17 2016-06-23 Red Hat, Inc. Building file system images using cached logical volume snapshots
CN105786511A (zh) * 2016-02-29 2016-07-20 四川长虹电器股份有限公司 终端设备Web应用管理的实现方法
CN108702386A (zh) * 2017-06-14 2018-10-23 华为技术有限公司 一种嵌入式通用集成电路卡配置文件的管理方法及装置
CN110569040A (zh) * 2019-09-17 2019-12-13 深圳市优创亿科技有限公司 一种在嵌入式系统内安装、运行应用程序的方法
CN110795113A (zh) * 2019-10-15 2020-02-14 平安科技(深圳)有限公司 一种Redis集群服务的安装方法、服务器和介质
CN111258595A (zh) * 2020-03-13 2020-06-09 山东超越数控电子股份有限公司 一种基于PyInstaller的python源代码封装方法
CN111930402A (zh) * 2020-08-27 2020-11-13 中山市天启智能科技有限公司 集群服务器的固件升级方法和集群服务器
CN112328296A (zh) * 2020-11-30 2021-02-05 北京百度网讯科技有限公司 针对跨平台应用的软件更新方法、装置、设备和介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320465A1 (en) * 2007-06-19 2008-12-25 Kinder Nathan G Methods and systems for porting software packages from one format to another
CN103795786A (zh) * 2014-01-20 2014-05-14 杭州百富电子技术有限公司 具有web服务功能的嵌入式集中器系统
US20160179409A1 (en) * 2014-12-17 2016-06-23 Red Hat, Inc. Building file system images using cached logical volume snapshots
CN104461567A (zh) * 2014-12-24 2015-03-25 北京奇虎科技有限公司 软件包的发布方法及系统
CN105786511A (zh) * 2016-02-29 2016-07-20 四川长虹电器股份有限公司 终端设备Web应用管理的实现方法
CN108702386A (zh) * 2017-06-14 2018-10-23 华为技术有限公司 一种嵌入式通用集成电路卡配置文件的管理方法及装置
CN110569040A (zh) * 2019-09-17 2019-12-13 深圳市优创亿科技有限公司 一种在嵌入式系统内安装、运行应用程序的方法
CN110795113A (zh) * 2019-10-15 2020-02-14 平安科技(深圳)有限公司 一种Redis集群服务的安装方法、服务器和介质
CN111258595A (zh) * 2020-03-13 2020-06-09 山东超越数控电子股份有限公司 一种基于PyInstaller的python源代码封装方法
CN111930402A (zh) * 2020-08-27 2020-11-13 中山市天启智能科技有限公司 集群服务器的固件升级方法和集群服务器
CN112328296A (zh) * 2020-11-30 2021-02-05 北京百度网讯科技有限公司 针对跨平台应用的软件更新方法、装置、设备和介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JALYNFONG: "Buildroot Package管理", 《HTTPS://WWW.JIANSHU.COM/P/1680B9967E7E?UTM_CAMPAIGN=MALESKINE&UTM_CONTENT=NOTE&UTM_MEDIUM=SEO_NOTES&UTM_SOURCE=RECOMMENDATION》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116301908A (zh) * 2023-05-24 2023-06-23 北京中科网威信息技术有限公司 基于申威架构的Buildroot本地编译方法及系统
CN116301908B (zh) * 2023-05-24 2023-08-22 北京中科网威信息技术有限公司 基于申威架构的Buildroot本地编译方法及系统

Also Published As

Publication number Publication date
CN113204351B (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
US8776047B2 (en) Apparatus and method for managing a plurality of software dependency maps and software installation using the same
US8185889B2 (en) Methods and systems for porting software packages from one format to another
CN102622241B (zh) 一种软件升级方法及装置
US20060161898A1 (en) Method and system for project library dependency management
CN104793946A (zh) 基于云计算平台的应用部署方法和系统
US7844734B2 (en) Dynamic addressing (DA) using a centralized DA manager
US20050204351A1 (en) Dynamic addressing (DA) using a centralized DA Manager
CN101645009A (zh) Web服务集成开发系统和方法
CN113204351B (zh) 一种嵌入式系统包管理方法及其使用方法
KR20140113685A (ko) 병행가능하고 신뢰성 있는 설치를 위한 설치 엔진 및 패키지 포맷
CN102768628A (zh) 一种预安装第三方应用的方法及装置
US20070028228A1 (en) Software upgrades with user advisement
CN115421765A (zh) 一种应用于国产化操作系统的大数据管理部署方法
CN117707543A (zh) 一种应用安装包制作和安装方法、计算设备及存储介质
CN116069366A (zh) 客户端应用程序更新方法及装置、存储介质及电子设备
WO2005074621A2 (en) Dynamic addressing (da) using a centralized da manager
WO2004088516A1 (en) Method and computer system for activation of source files
CN112947956B (zh) 一种应用软件升级方法
CN114860202A (zh) 项目运行方法、装置、服务器及存储介质
CN113220303A (zh) 一种内核模块的编译方法和系统
CN114595246B (zh) 一种语句生成方法、装置、设备及存储介质
CN117667157A (zh) 热更新方法和系统、客户端应用的更新方法、介质及设备
CN115061707A (zh) 一种跨网段应用部署方法及终端
CN117827237A (zh) 一种设备系统程序开发及ota升级方法和系统
CN117971312A (zh) Qt动态库的配置方法、装置、电子设备及存储介质

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