Linux系统启动加速方法、装置及可读存储介质制造方法及图纸

技术编号:31163757 阅读:17 留言:0更新日期:2021-12-04 10:36
本发明专利技术涉及一种Linux系统启动加速方法、装置及可读介质的技术方案,包括:执行Linux内核的编译,得到压缩Linux内核,压缩Linux内核包括自解压程序及Linux内核压缩包;将压缩Linux内核及Linux内核压缩包的物理信息烧写至存储介质;从存储介质读取压缩Linux内核,以及,通过自解压程序执行解压;将解压后的压缩Linux内核跳转至内核接口并进行运行。本发明专利技术的有益效果为:获取压缩版Linux内核时,直接读到不重叠的位置,避免了内核重定位的拷贝操作;其次,自解压过程通过硬件引擎来加速,大大提升了解压效率。解压完成后,跳转到Linux内核直接运行,提高了Linux系统的启动速度。提高了Linux系统的启动速度。提高了Linux系统的启动速度。

【技术实现步骤摘要】
Linux系统启动加速方法、装置及可读存储介质


[0001]本专利技术涉及计算机操作系统领域,具体涉及了一种Linux系统启动加速方法、装置及可读存储介质。

技术介绍

[0002]Linux操作系统被广泛应用于各类嵌入式应用领域,比如智能硬件、行车监控等。在这些产品领域,启动速度是一项重要指标,影响着整体用户体验。如何提升产品的启动速度,是各个芯片和方案厂商需要解决的问题。
[0003]参考图1,传统方法中,与Linux启动相关的步骤分为:编译阶段、烧写阶段、uboot阶段、Linux运行阶段,其中,编译阶段对原始Linux内核进行压缩,生成压缩版Linux内核;烧写阶段将压缩版Linux内核烧写到存储介质;uboot阶段从存储介质上读取压缩版Linux内核,跳转到内核入口地址运行;Linux运行阶段首先执行自解压程序,得到原始Linux内核,然后执行内核。
[0004]参考图2,其中的自解压程序包括两个步骤:首先进行内核重定位,将内核压缩包、自解压程序拷贝到内存中靠后的区域,以免与解压后的内核区域重叠;然后运行自解压程序,通过CPU将内核压缩包解压到Linux内核的起始运行地址。
[0005]传统方法Linux内核自解压过程中,其内存数据分布如图3。对于内核重定位阶段,将自解压代码和内核压缩包拷贝到start_addr2位置,以免与解压后的原始Linux内核区域重叠;然后执行自解压程序,将内核压缩包解压到start_addr位置。
[0006]传统方法Linux内核解压过程完全由CPU执行,由于数据运算量大,所以比较耗时;另外内核重定位需要进行数据拷贝,也会消耗一定的时间。

技术实现思路

[0007]本专利技术的目的在于至少解决现有技术中存在的技术问题之一,提供了一种Linux系统启动加速方法、装置及可读存储介质提升了,Linux内核解压运行效率,提高了Linux系统启动速度。
[0008]本专利技术的技术方案包括一种Linux系统启动加速方法,其特征在于,包括以下步骤:S100,执行Linux内核的编译,得到压缩Linux内核,所述压缩Linux内核包括自解压程序及Linux内核压缩包;S200,将所述压缩Linux内核及所述Linux内核压缩包的物理信息烧写至存储介质;S300,从所述存储介质读取所述压缩Linux内核,以及,通过所述自解压程序执行解压;S400,将解压后的所述压缩Linux内核跳转至内核接口并进行运行。
[0009]根据所述的Linux系统启动加速方法,其中物理信息包括所述压缩Linux内核的偏移、大小及第一起始运行地址。
[0010]根据所述的Linux系统启动加速方法,其中S300包括:S310,从所述存储介质读取所述压缩Linux内核,获取所述压缩Linux内核的偏移、大小及第一起始运行地址;S320,从第二起始位置读取所述压缩Linux内核的数据,并将所述压缩Linux内核解压至第一起始位
置。
[0011]根据所述的Linux系统启动加速方法,其中第一起始位置与所述第二起始位置不重叠且相隔距离超过设置阈值。
[0012]根据所述的Linux系统启动加速方法,其中该方法还包括:调用硬件引擎对所述压缩Linux内核进行解压。
[0013]根据所述的Linux系统启动加速方法,其中S400包括:在Linux运行阶段,直接执行解压后的原始Linux内核,所述原始Linux内核通过所述压缩Linux内核解压得到。
[0014]本专利技术的技术方案包括一种Linux系统启动加速装置,该装置包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现任一所述的方法步骤。
[0015]本专利技术的技术方案包括一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现任一所述的方法步骤。
[0016]本专利技术的有益效果为:获取取压缩版Linux内核时,直接读到不重叠的位置,避免了内核重定位的拷贝操作;其次,自解压过程通过硬件引擎来加速,大大提升了解压效率。解压完成后,跳转到Linux内核直接运行,提高了Linux系统的启动速度。
附图说明
[0017]下面结合附图和实施例对本专利技术进一步地说明;
[0018]图1所示为现有方法的Linux启动流程图。
[0019]图2所示为现有方法Linux内核自解压流程。
[0020]图3所示为现有方法Linux自解压过程中的内存数据分布。
[0021]图4所示为根据本专利技术实施方式的流程图。
[0022]图5所示为根据本专利技术实施方式的Linux启动的各阶段流程图。
[0023]图6所示为根据本专利技术实施方式的装置图。
具体实施方式
[0024]本部分将详细描述本专利技术的具体实施例,本专利技术之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本专利技术的每个技术特征和整体技术方案,但其不能理解为对本专利技术保护范围的限制。
[0025]在本专利技术的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
[0026]在本专利技术的描述中,对方法步骤的连续标号是为了方便审查和理解,结合本专利技术的整体技术方案以及各个步骤之间的逻辑关系,调整步骤之间的实施顺序并不会影响本专利技术技术方案所达到的技术效果。
[0027]本专利技术的描述中,除非另有明确的限定,设置等词语应做广义理解,所属
技术人员可以结合技术方案的具体内容合理确定上述词语在本专利技术中的具体含义。
[0028]术语解释:
[0029]offset,偏移;
[0030]start_addr1及start_addr2,第一起始地址及第二起始地址;
[0031]size,内核大小。
[0032]图4所示为根据本专利技术实施方式的流程图。该流程包括:S100,执行Linux内核的编译,得到压缩Linux内核,压缩Linux内核包括自解压程序及Linux内核压缩包;S200,将压缩Linux内核及Linux内核压缩包的物理信息烧写至存储介质;S300,从存储介质读取压缩Linux内核,以及,通过自解压程序执行解压;S400,将解压后的压缩Linux内核跳转至内核接口并进行运行。
[0033]图5所示为根据本专利技术实施方式的Linux启动的各阶段流程图。其包括:
[0034]在固件烧写阶段,将压缩版Linux内核烧写到存储介质,同时将内核压缩包的偏移(offset)和大小(size)、以及内核的起始运行地址(start_addr)等信息也烧写到存储介质。
[0035]在uboot阶段,从存储介质读取压缩版Linux内核到物理内存靠后的区域(起始地址记为start_addr2),使之与Linux原本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Linux系统启动加速方法,其特征在于,包括以下步骤:S100,执行Linux内核的编译,得到压缩Linux内核,所述压缩Linux内核包括自解压程序及Linux内核压缩包;S200,将所述压缩Linux内核及所述Linux内核压缩包的物理信息烧写至存储介质;S300,从所述存储介质读取所述压缩Linux内核,以及,通过所述自解压程序执行解压;S400,将解压后的所述压缩Linux内核跳转至内核接口并进行运行。2.根据权利要求1所述的Linux系统启动加速方法,其特征在于,所述物理信息包括所述压缩Linux内核的偏移、大小及第一起始运行地址。3.根据权利要求2所述的Linux系统启动加速方法,其特征在于,所述S300包括:S310,从所述存储介质读取所述压缩Linux内核,获取所述压缩Linux内核的偏移、大小及第一起始运行地址;S320,从第二起始位置读取所述压缩Linux内核的数据,并将所述压缩Linux内核解压至第一起始位置。4.根...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:珠海亿智电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1