System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于QNX hypervisor的多系统分区方法以及架构技术方案_技高网

基于QNX hypervisor的多系统分区方法以及架构技术方案

技术编号:40079150 阅读:5 留言:0更新日期:2024-01-17 02:13
本发明专利技术提供一种基于QNX hypervisor的多系统分区方法和系统架构,包括:设备上电启动IPL程序,IPL程序从第一存储介质中读取第一存储介质分区信息;若分区信息不存在,IPL程序到第二存储介质中读取QNX镜像文件并加载在内存中,读取第一次启动对应的分区脚本,解析并执行分区脚本;创建QNX系统所需分区至少包括:第一分区,用于调用驱动接口直接读写,用于保存分区信息;当分区完成后,将第一分区的内容重置为空,重启系统并进入正常启动流程。本申请技术方案中,存储空间由QNX Host掌握,所有系统的分区由Host系统中启动完成,Host控制整个存储空间,根据需求,修改分区脚本内容,并重启系统就能完成分区大小的调整、系统升级,能够充分、高效的利用存储空间。

【技术实现步骤摘要】

本专利技术涉及车载多系统领域,具体涉及qnx hypervisor的多系统分区方法以及架构。


技术介绍

1、当代汽车朝着智能化的方向发展,由于汽车涉及安全问题,涉及安全相关的仪表显示、动力系统、底盘系统,这些系统需要封闭权限,不能对用户开放,但是用户需要安装娱乐软件,如收听音乐、广播,副驾乘客观赏影片等,由此,采取两个独立的操作系统,甚至是更多的操作系统,使得互不影响。但传统的多系统共用一个磁盘的方案都是事先将磁盘分区固定好,然后分别将每个系统安装到指定分区,被安装的系统只能看到和管理自己所属磁盘的某个分区的空间,各个系统之间相互独立,所以不会存在某个系统能够管理整个磁盘,从而完成所有系统的分区、调整分区大小及升级功能。这种方式会导致在后续多系统在系统升级以及分区容量调整等较为繁琐,不利于oem厂商的维护。


技术实现思路

1、基于现有技术存在的缺陷之一,本专利技术提供一种基于qnx hypervisor的多系统分区方法,至少包括:

2、设备上电启动ipl程序,ipl程序从第一存储介质中读取第一存储介质分区信息;

3、若分区信息不存在,ipl程序到第二存储介质中读取qnx镜像文件并加载在内存中,读取第一次启动对应的分区脚本,解析并执行分区脚本;

4、其中,所述分区脚本的执行具体包括:

5、初始化第一存储介质;创建qnx系统所需分区;创建android系统所需分区;拷贝qnx系统镜像文件到对应分区;拷贝android系统镜像文件到对应分区

6、所述创建qnx系统所需分区至少包括:第一分区,名称为recovery,类型为ldmd,其中,第一分区需要调用驱动接口直接读写,用于保存分区信息;

7、当分区完成后,将第一分区的内容重置为空,重启系统并进入正常启动流程;

8、若分区信息存在并且第一分区信息显示为空,系统进入正常启动流程。

9、一种基于qnx hypervisor的多系统分区方法,进一步可选地,qnx启动hypervisorqvm进程,然后由qvm进程通过加载qvm.config文件初始化android系统启动环境,其中包括linux内核镜像文件的加载,最后完成android系统的启动。

10、一种基于qnx hypervisor的多系统分区方法,进一步可选地,所述qnx系统所需分区至少还包括:第二分区,名称为boot,分区类型为ms;

11、所述第二分区用于存储qnx系统内核镜像文件和系统库文件,在创建第二分区时需要增加boot标志,ipl程序通过寻找boot标志获取qnx内核镜像文件,从而执行镜像文件对应的指令完成qnx系统的启动。

12、一种基于qnx hypervisor的多系统分区方法,进一步可选地,所述qnx系统所需分区至少还包括:

13、第三分区,名称data,类型为qnx6;

14、所述第三分区存储qnx系统用户数据以及程序运行时产生的临时文件。

15、一种基于qnx hypervisor的多系统分区方法,进一步可选地,所述创建android系统所需分区包括:

16、第四分区,名称为vbmeta,类型为qnx6;

17、第五分区,名称为super,类型为qnx6;

18、第六分区,名称为userdata,类型为qnx6。

19、其中,所述第四分区用于存储校验android系统镜像文件完整性的程序。

20、一种基于qnx hypervisor的多系统分区方法,进一步可选地,所述第六分区用来存储android系统用户数据以及程序运行时产生的临时文件。

21、一种基于qnx hypervisor的多系统分区方法,进一步可选地,所述第五分区用于存储整个android系统除linux内核之外的镜像文件;

22、linux内核镜像文件存储在qnx系统指定的文件夹中,在qnx系统通过qvm启动android系统时,qvm从qvm.config文件中获取镜像文件的地址,然后加载到android系统能够识别的内存地址空间。

23、一种基于qnx hypervisor的多系统分区方法,进一步可选地,若获取第一存储介质的第一分区信息的内容指示需要系统升级,则升级方法包括:

24、在第一分区中读取系统升级对应的升级脚本;

25、解析并执行升级脚本实现系统升级,待升级完成并将第一分区内容重置为空;

26、重启系统并进入正常启动流程。

27、一种基于qnx hypervisor的多系统分区方法,进一步可选地,若获取的第一存储介质的第一分区信息指示需要调整分区容量,分区容量的调整方式包括:

28、读取调整分区容量对应的调整分区容量脚本;

29、解析并执行调整分区容量脚本实现分区容量调整;

30、调整完成后并将第一分区内容重置为空;

31、重启系统并进入正常启动流程。

32、一种基于qnx hypervisor的多系统分区方法,进一步可选地,所述创建qnx系统所需分区和android系统所需分区是基于通过qnx系统实现;

33、在qnx系统中,通过dd命令直接将第四分区以及第五分区所需的镜像文件复制到对应的第四分区和第五分区中;

34、获取外置的第三存储介质,在linux创建与第六分区大小一致的且格式化为ext4的分区,并且分区内容为空;

35、将第三存储介质接入qnx系统并通过qnx系统读取第三存储介质的分区信息,通过dd命令将第三存储介质对应分区复制到第一存储介质对应的第六分区,从而完成了第六分区的格式化。

36、一种基于qnx hypervisor的多系统架构,进一步可选地,至少包括:

37、硬件层,bsp驱动层,bsp驱动层位于硬件层之上;

38、qnx运行在qnx hypervisor端作为host系统,android系统由作为host的qnx系统启动,运行在guest端;

39、qnx系统与android共用第一存储介质,第一存储介质的管理由qnx系统负责并采用如上述一种基于qnx hypervisor的多系统分区方法。

40、有益效果:

41、本申请提供的技术方案中,整个磁盘空间由host系统掌控,所有系统的分区流程都可以在一个host系统中启动完成,而传统非hypervisor方案中各个系统相互独立,彼此之间没有联系,所以无法由某个系统同一管理分区方案,因此本文的多系统分区方案相比之下显得更加高效、便捷、灵活。此外,由于host系统可以控制整个磁盘的使用情况,所以后期可以根据磁盘空间需要,修改分区脚本内容,并重启系统就能完成分区大小的调整,能够充分、高效的利用磁盘空间。

42、通过修改分区脚本文件,拷贝升级后的镜像文件到对应的分区,只本文档来自技高网...

【技术保护点】

1.一种基于QNX hypervisor的多系统分区方法,其特征在于,至少包括:

2.如权利要求1所述一种基于QNX hypervisor的多系统分区方法,其特征在于,QNX启动Hypervisor QVM进程,然后由QVM进程通过加载qvm.config文件初始化Android系统启动环境,其中包括Linux内核镜像文件的加载,最后完成Android系统的启动。

3.如权利要求1所述一种基于QNX hypervisor的多系统分区方法,其特征在于,所述QNX系统所需分区至少还包括:第二分区,名称为boot,分区类型为ms;

4.如权利要求1所述一种基于QNX hypervisor的多系统分区方法,其特征在于,所述QNX系统所需分区至少还包括:

5.如权利要求1所述一种基于QNX hypervisor的多系统分区方法,其特征在于,所述创建Android系统所需分区包括:

6.如权利要求5所述一种基于QNX hypervisor的多系统分区方法,其特征在于,所述第六分区用来存储Android系统用户数据以及程序运行时产生的临时文件。

7.如权利要求5所述一种基于QNX hypervisor的多系统分区方法,其特征在于,所述第五分区用于存储整个Android系统除Linux内核之外的镜像文件;

8.如权利要求1所述一种基于QNX hypervisor的多系统分区方法,其特征在于,若获取第一存储介质的第一分区信息的内容指示需要系统升级,则升级方法包括:

9.如权利要求1所述一种基于QNX hypervisor的多系统分区方法,其特征在于,若获取的第一存储介质分区信息指示需要调整分区容量,分区容量的调整方式包括:

10.如权利要求5所述一种基于QNX hypervisor的多系统分区方法,其特征在于,所述创建QNX系统所需分区和Android系统所需分区是基于QNX系统实现;

11.一种基于QNX hypervisor的多系统架构,其特征在于,至少包括:

...

【技术特征摘要】

1.一种基于qnx hypervisor的多系统分区方法,其特征在于,至少包括:

2.如权利要求1所述一种基于qnx hypervisor的多系统分区方法,其特征在于,qnx启动hypervisor qvm进程,然后由qvm进程通过加载qvm.config文件初始化android系统启动环境,其中包括linux内核镜像文件的加载,最后完成android系统的启动。

3.如权利要求1所述一种基于qnx hypervisor的多系统分区方法,其特征在于,所述qnx系统所需分区至少还包括:第二分区,名称为boot,分区类型为ms;

4.如权利要求1所述一种基于qnx hypervisor的多系统分区方法,其特征在于,所述qnx系统所需分区至少还包括:

5.如权利要求1所述一种基于qnx hypervisor的多系统分区方法,其特征在于,所述创建android系统所需分区包括:

6.如权利要求5所述一种基于qnx hypervisor...

【专利技术属性】
技术研发人员:肖文平刘进朝
申请(专利权)人:上海赫千电子科技有限公司
类型:发明
国别省市:

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

1