一种基于ROM的双域手机系统的构建方法与流程

文档序号:14410378阅读:1026来源:国知局
一种基于ROM的双域手机系统的构建方法与流程

本发明涉及手机系统,尤其涉及一种基于rom的双域手机系统的构建方法。



背景技术:

随着智能手机深入到人们生活的方方面面,人们通过智能手机聊天、购物、游戏、办公、看电影,给生活带来极大的便利,但随着今年来不断出现隐私泄露以及层出不穷的诈骗事件,都在不断提醒人们关注智能终端的安全性。如何在不影响用户体验的基础上定制一套能满足移动办公、安全支付、隐私保护需求的安全手机方案将一台智能终端隔离成适用于不同安全等级的运行环境。

而针对目前移动终端的安全威胁,在行业中研究机构或人员提出了很多解决方案,《移动虚拟化技术与android安全》一文中就提到了采用linux容器来构建android双域系统的方法。但这种类似的技术文献,只考虑到双域本身实现架构,并没有考虑到双域系统在实际中的研发与应用问题。现有技术文献都基于一种假设,双域系统研发团队有全套android系统源码,从系统应用、体系到内核。这种假设导致双域系统的研发对手机厂商的依赖非常大,如果第三方安全团队有自己的双域产品,想在实际的手机上应用,必须要手机厂商开放全套源码。但手机厂商为保护自身利益,完全开放源码的可能性很小,这种情况就对双域系统的发展带来了障碍。



技术实现要素:

针对上述现有技术存在的不足,本发明的目的是提供了一种基于rom的双域手机系统的构建方法,不仅可以降低双域系统对手机厂商的耦合度,而且还保护手机厂商自身利益的同时让第三方手机安全解决方案提供商能够研发、应用自己的双域系统。

为了实现上述目的,本发明所采用的技术方案如下:

一种基于rom的双域手机系统的构建方法,其中,所述双域手机系统包括基于手机内核的主域、从域和域管理程序,该方法具体包括:

步骤一:在手机原内核中增加支持双域功能的代码,并编译生成新的内核二进制文件;

步骤二:修改主域boot.img映像文件,用于将新的内核二进制文件替换手机原内核二进制文件;

步骤三:再修改主域和从域的system.img映像文件,以增加域管理程序;

步骤四:分别将主域boot.img映像文件、system.img映像文件和从域system.img映像文件烧录于手机相应flash分区,完成双域手机系统构建。

作为优选的,所述步骤一之前还包括先解锁手机的bootloader并获得系统管理员root权限。

作为优选的,所述步骤二的具体步骤包括如下:

用解压工具解压主域boot.img映像文件;

修改主域boot.img映像文件中原内核二进制文件;

修改用于初始化双域手机系统的系统资源的双域服务配置文件;

重新生成主域boot.img映像文件。

作为优选的,所述步骤三中修改从域system.img映像文件的具体包括如下:

根据从域system.img映像文件的不同存放位置,修改在域管理程序中不同路径,以使域管理程序能正确启动从域。

作为进一步优选的,所述从域system.img映像文件的存放位置的存在方式包括:与主域system.img映像文件共存于手机system分区、存放于手机userdata分区和存放于其他独立的手机flash分区。

作为优选的,所述步骤三中修改主域system.img映像文件的具体包括如下:

当从域system.img映像文件与主域system.img映像文件共存或者域管理程序需保存在主system.img映像文件中时,需要修改主域system.img映像文件,其中修改修改主域system.img映像文件的具体包括为:利用mount命令挂载获取主域system.img映像文件,在主域system.img映像文件中增加文件,然后再利用make_ext4fs命令重新生成新的主域system.img映像文件。

作为进一步优选的,所述修改主域boot.img映像文件中原内核二进制文件具体方法为:将所述新生成的内核二进制文件替换所述主域boot.img映像文件中原内核二进制文件。

作为进一步优选的,所述修改用于初始化双域手机系统的系统资源的双域服务配置文件的具体方法为:若双域服务配置文件存放在ramdisk文件中,需用gunzip解压ramdisk文件,按照双域设计方案修改后,再用mkbootfs命令重新生成ramdisk文件;若双域系统设计时将服务配置文件保存在了其它位置,需做出相应修改。

作为进一步优选的,所述解压工具为unpackbootimg工具或split_bootimg.pl工具。

作为进一步优选的,所述重新生成boot.img工具为mkbootimg工具。

采用上述技术方案后本发明与现有技术相比所具有的优点是:该构建方法主要通过修改手机厂商提供的内核、主域boot.img映像文件、主域和从域的system.img映像文件等技术手段,从而能实现双域管理,也即是能在手机厂商仅开放内核源码的情况下实现双域系统,同时这样能降低第三方团队在双域系统的研发过程中对手机厂商的依赖度,有利于手机安全的发展。

附图说明

下列结合附图和实施例对本发明进一步说明:

图1是本发明实施例所述基于rom的双域手机系统的构建方法的基本流程图;

图2是图1中所述步骤s2的具体流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

以下所述本发明实施例中,所述主域为厂商手机原配的android系统,所述从域为第三方android系统。以下所述主域boot.img映像文件用于引导手机系统,初始化系统相关服务,其中主域boot.img映像文件包括双域系统所需的二进制文件和用于初始化双域服务配置文件。以下所述主域system.img映像文件和从域system.img映像文件用于加载启动上层android系统。

如图1和图2所示,本发明实施例提供了一种基于rom的双域手机系统的构建方法,其中,所述双域手机系统包括基于手机内核的主域、从域和域管理程序,该方法具体包括:

步骤一:在手机原内核中增加支持双域功能的代码,并编译生成新的内核二进制文件。在本发明实施例中,所述双域功能的代码是指内核增加的用于构建双域运行环境的全部代码;另外,内核源码本身集成编译脚本,该脚本通过调用gcc工具链提供的命令编译生成内核二进制文件,其中在编译时只需通过make命令调用编译脚本即可编译出内核二进制文件。

步骤二:修改主域boot.img映像文件,用于将新的内核二进制文件替换手机原内核二进制文件。由于在替换内核二进制文件的情况下,因为内核代码中增加有支持双域的相关代码,所以须将原来的内核二进制文件替换为第三方或自身编译生成的二进制文件。由于厂商、android的版本不同,boot.img映像文件的解压工具可能有所不同,需根据实际情况选择合适的工具。在本发明实施例中,所述步骤二的具体步骤包括如下:

用unpackbootimg工具或split_bootimg.pl工具解压主域boot.img映像文件;

修改主域boot.img映像文件中原内核二进制文件,具体方法为将所述新生成的内核二进制文件替换所述主域boot.img映像文件中原内核二进制文件,由于手机厂商、android版本的不同,解压、重生成ramdisk文件的工具可能有所变化,需根据实际情况选择合适的工具;

修改用于初始化双域手机系统的系统资源的双域服务配置文件,其中系统资源主要是指服务配置文件启动的系统进程,而具体方法为:

若双域服务配置文件存放在ramdisk文件(虚拟内存盘)中,则通过gunzip解压ramdisk文件,并按照双域系统设计修改双域服务配置文件的内容后,再用mkbootfs命令重新生成ramdisk文件;

若在双域系统设计时将服务配置文件保存在了其它位置,则需做出相应修改,而在本发明实施例中除了在ramdisk文件中存放用于启动管理域服务配置文件,其它域相对于管理域更改的配置文件当前放置在system/etc目录下,另外由于厂商、android版本不同,所以重新生成boot.img的工具及其参数均有所不同;

用mkbootimg工具重新生成新的主域boot.img映像文件。

步骤三:再修改主域和从域的system.img映像文件,以增加域管理程序。在本发明实施例中,所述步骤三中修改从域system.img映像文件的具体包括如下:

根据从域system.img映像文件的不同存放位置,修改在域管理程序中不同路径,以使域管理程序能正确启动从域;

完成域管理程序的修改后,将域管理程序保存在合适的位置,可以是主域system.img映像文件中,也可以是按照双域系统设计要求的其它位置。

在本发明具体实施例中,对于从域运行的android系统,不再需要单独的系统引导boot.img映像文件,可直接利用主域的boot.img映像启动手机,然后利用域管理程序直接启动从域。不同的双域系统设计、实现方式不一样,域管理程序所完成的具体功能也有所区别,但从域android的启动都由域管理程序完成。从域android系统system.img映像可以有多种存在方式:与主域system.img映像文件共存于手机system分区、存放于手机userdata分区、存放于其它独立的手机flash分区。

在本发明实施例中,所述步骤三中修改主域system.img映像文件的具体包括如下:当从域system.img映像文件与主域system.img映像文件共存或者域管理程序需保存在主system.img映像文件中时,需要修改主域system.img映像文件,其中修改主域system.img映像文件的具体包括为:利用mount命令挂载获取主域system.img映像文件,在主域的system.img映像文件中增加文件,然后再利用make_ext4fs命令重新生成新的主域system.img映像文件。在本发明实施例中,所述主域的system映像文件中增加文件可以为在主域的system.img映像文件中增加从域的system.img镜像文件或者域管理程序。另外,所述make_ext4fs就是用来制作ext4文件系统格式镜像的工具。

步骤四:分别将主域boot.img映像文件、system.img映像文件和从域ystem.img映像文件烧录于手机相应flash分区,完成双域手机系统构建。在本发明实施例中所述相应flash分区以android系统为例,所述android系统一般包括boot、system、data、recovery、cache分区,其中boot.img镜像对应boot分区、system.img镜像对应system分区,userdata.img镜像对应data分区。

在本发明实施例中,所述步骤一之前还包括先解锁手机的bootloader并获得系统管理员root权限。其中所述系统管理员root权限是指linux和unix系统中的超级管理员用户帐户,而该帐户拥有对整个系统的所有对象可操作性权限。

上述技术方案主要通过修改手机厂商提供的内核、主域boot.img映像文件、主域和从域的system.img映像文件等技术手段,从而能实现双域管理,也即是能在手机厂商仅开放内核源码的情况下实现双域系统,同时这样能降低第三方团队在双域系统的研发过程中对手机厂商的依赖度。

最后,还需要说明的是,在本文中,诸如术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种基于rom的双域手机系统的构建方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1