镜像文件、镜像文件的制作方法及多系统的启动引导方法技术方案

技术编号:7898054 阅读:300 留言:0更新日期:2012-10-23 04:18
本发明专利技术公开了一种多系统的镜像文件的制作方法、镜像文件和多系统的启动引导方法。该制作方法包括:S11、制作一bootloader,并将该bootloader写入一目标文件;S12、为该多系统的多个操作系统中还未建立对应的全局结构体的一个操作系统建立一对应的全局结构体;S13、将S12中建立的该全局结构体以及该全局结构体所对应的操作系统的根文件系统和内核写入该目标文件;S14、判断各操作系统是否均已建立有对应的全局结构体,若是则将该目标文件作为该镜像文件并结束流程,若否则再次执行S12。本发明专利技术能够实现系统的智能化启动引导,从而能够显著地提高系统的稳定性以及可维护性。

【技术实现步骤摘要】

本专利技术涉及一种多系统的启动引导方法,特别是涉及ー种多系统的镜像文件的制作方法、一种由该制作方法制作而得的镜像文件以及ー种利用该镜像文件实现的多系统的启动引导方法。
技术介绍
目前,嵌入式设备广泛地应用于各行各业。而在目前的嵌入式设备中,大多只存在单一系统。因此,当嵌入式设备由于各种可能的原因而导致系统无法正常启动时,用户便很难解决这类系统崩溃的问题,只能寄希望于相应的维修人员来处理。然而,对于一些采用了双系统的嵌入式设备来说,情况也并不尽如人意。 在bootloader (引导程序)引导第一个系统镜像失败以后,这时候用户需要借助于串ロ工具来进行干预,例如告知bootloader系统中的第二个系统镜像的位置以及是否启动第二个系统镜像等信息,即通过串ロ向bootloader传入相应參数。这就要求用户一方面对串ロ的使用比较了解,或者说对系统的调试接ロ比较了解;其次要求用户对系统的分区也要了解,否则很难成功引导第二个系统镜像;除此之外,并非所有的设备都留有调试接ロ。以上种种均导致了维护过程繁琐且容易出错。这些都是现有双系统的局限性。
技术实现思路
本专利技术要解决的技术问题是为了克服现有技术中的双系统在启动引导时过程繁琐且容易出错的缺陷,提供ー种能够实现系统的智能化启动引导,从而能够显著地提高系统的稳定性以及可维护性的多系统的镜像文件的制作方法、一种由该制作方法制作而得的镜像文件以及ー种利用该镜像文件实现的多系统的启动引导方法。本专利技术是通过下述技术方案来解决上述技术问题的一种多系统的镜像文件的制作方法,其特点在于,该制作方法包括S11、制作一 bootloader,并将该 bootloader 写入一目标文件;S12、为该多系统的多个操作系统中还未建立对应的全局结构体的ー个操作系统建立一对应的全局结构体,该全局结构体中存储有该bootloader、该全局结构体所对应的操作系统的根文件系统和内核的起始地址以及长度,该全局结构体还存储有该全局结构体所对应的操作系统的根文件系统和内核与该多个操作系统中的其余各操作系统的根文件系统和内核之间的长度差,该全局结构体具有一与已经建立的全局结构体的优先级均不相同的优先级;S13、将S12中建立的该全局结构体以及该全局结构体所对应的操作系统的根文件系统和内核写入该目标文件;S14、判断各操作系统是否均已建立有对应的全局结构体,若是则将该目标文件作为该镜像文件并结束流程,若否则再次执行S12。本专利技术中的“多系统”是指设备中的操作系统的数量为两个或两个以上。较佳地,S11为制作该bootloader,然后对该bootloader以及各操作系统的根文件系统和内核进行长度校验,并保存校验值,然后将该bootloader写入该目标文件;S12中建立的该全局结构体中还存储有该bootloader以及该全局结构体所对应的操作系统的根文件系统和内核的校验值。其中,各操作系统的根文件系统和内核各不相同、部分相同或全部相同。较佳地,该多系统为嵌入式多系统。本专利技术还提供了 ー种由上述的制作方法制作而得的镜像文件。该镜像文件中包括有该bootloader以及针对各个操作系统的系统镜像,而针对每个操作系统的系统镜像中又包括有一用于记录该系统镜像的详细信息的全局结构体以·及该操作系统的根文件系统和内核。姆个全局结构体中记录有该bootloader的起始地址和长度、其所对应的操作系统的根文件系统的起始地址和长度以及其所对应的操作系统的内核的起始地址和长度。除此之外,每个全局结构体中还记录有这个全局结构体所对应的操作系统的根文件系统与其它各个操作系统的根文件系统之间的长度差,以及这个全局结构体所对应的操作系统的内核与其它各个操作系统的内核之间的长度差,这些长度差在利用不为空的全局结构体所存储的信息自动填充为空的全局结构体时将会被用于计算该为空的全局结构体所对应的操作系统的根文件系统和内核的长度。当然,若是两个操作系统的根文件系统和内核相同,则此时它们的各个文件长度均相同,因此该长度差便将归为O。另外,每个全局结构体均具有一优先级,这样的优先级在实际应用时可以体现为一启动序号值,例如第一个系统镜像中的全局结构体的启动序号值为“ I ”,第二个系统镜像中的全局结构体的启动序号值为“2”等等,以此类推,而在系统启动引导时,则可以按照启动序号值由小到大的顺序来弓I导各个系统镜像。本专利技术将每个系统镜像的详细信息分别存储于每个系统镜像的全局结构体中,这样就可以通过读取第一个全局结构体启动第一个系统镜像,通过读取第二个全局结构体启动第二个系统镜像,以此类推,在此过程中用户无需进行任何操作,由此便实现了系统的自动化的启动引导。本专利技术还提供了ー种利用上述的镜像文件实现的多系统的启动引导方法,其特点在于,该启动引导方法包括S21、执行该 bootloader ;S22、判断该镜像文件中的各全局结构体是否均为空,若均不为空则执行S25,若均为空则执行S23,若部分为空则执行S24 ;S23、停留在该bootloader的界面,并结束流程;S24、针对每个为空的全局结构体执行S241.将不为空的全局结构体中存储的该bootloader的起始地址和长度填入该为空的全局结构体;S242.将该为空的全局结构体所对应的操作系统的根文件系统和内核的起始地址填入该为空的全局结构体;S243.根据该不为空的全局结构体所对应的操作系统的根文件系统和内核与该为空的全局结构体所对应的操作系统的根文件系统和内核之间的长度差以及该不为空的全局结构体所对应的操作系统的根文件系统和内核的长度,计算该为空的全局结构体所对应的操作系统的根文件系统和内核的长度并填入该为空的全局结构体;S244.为该为空的全局结构体设置一与不为空的各全局结构体的优先级均不相同的优先级;s245.将经过S241、S242 , S243和S244处理的该全局结构体以及该全局结构体所对应的操作系统的根文件系统和内核写入该镜像文件;S25、确定优先级最高的全局结构体;S26、跳转至S25中确定的该全局结构体所对应的操作系统的内核入口处执行,并结束流程。该启动引导方法能够智能化地自动运行,即使某个系统镜像引导失败,其也能够智能化地自动修复这个发生异常的系统镜像,期间完全无需用户通过串ロ工具进行任何干预,因此将能够极大地提高系统的稳定性与可维护性。 较佳地,该启动引导方法中设有ー初始值为O的失败次数,在S25与S26之间还包括S251、判断该失败次数的值是否小于一次数阈值,若是则执行S252,若否则执行S23 ;S252、对该bootloader以及S25中确定的该全局结构体所对应的操作系统的根文件系统和内核进行校验,若校验成功则执行S26,若校验失败则执行S253 ;S253、从该镜像文件中擦除S25中确定的该全局结构体以及该全局结构体所对应的操作系统的根文件系统和内核,并将该失败次数的值加1,然后执行S22。其中,各操作系统的根文件系统和内核各不相同、部分相同或全部相同。本专利技术的积极进步效果在于本专利技术使得系统的启动引导能够智能化地自动运行,即使某个系统镜像引导失败,其也能够智能化地自动修复这个系统镜像,期间完全无需用户通过串ロ工具进行任何干预,因此将能够极大地提高系统的稳定性与可维本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:周明明
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:

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

1