一种基于安卓设备的ARM容器运行环境构建方法技术

技术编号:16700532 阅读:69 留言:0更新日期:2017-12-02 12:49
本发明专利技术公开了一种基于安卓设备的ARM容器运行环境构建方法,具体地:基于ARM架构上的安卓操作系统,定制安卓内核,加入容器运行所必需的cgroup和namespace等机制;定制运行于ARM架构上的可运行容器;实现运行于安卓系统上的容器管理工具,方便容器的运行和管理;将编译后的安卓内核替换至安卓设备中,并将x86下创建的可运行容器移植至安卓设备,利用容器管理工具实现容器在安卓设备上的成功和稳定运行。本发明专利技术针对容器运行所需的条件,重新定制和编译安卓内核,定制ARM架构下的可运行容器,以支持在安卓设备上实现操作系统级虚拟化。

A method of building ARM container running environment based on Android equipment

The invention discloses a method for constructing and running environment of ARM container based on Android equipment specifically: Android ARM operating system architecture based on the custom Android kernel, add necessary container operation of the CGroup and namespace mechanism; customization running on the ARM structure of the container can be run; implementation of the container management tools run on the Android system the operation and management of convenient containers; will be compiled to replace Android kernel of Android devices, and x86 will be created in the running container transplanted to the Android equipment, Android in the success of the container equipment and stable operation using container management tools. Aiming at the conditions needed for the operation of the container, it recustomize and compile Android kernel, and customize the running container under the ARM architecture to support operation system level virtualization on Android devices.

【技术实现步骤摘要】
一种基于安卓设备的ARM容器运行环境构建方法
本专利技术属于虚拟化领域,更具体地,涉及一种基于安卓设备的ARM容器运行环境构建方法。
技术介绍
虚拟化技术已经成为一种被大家广泛认可的服务器资源共享方式,它可以在按需构建操作系统实例的过程当中为系统管理员提供极大的灵活性。由于虚拟机管理器(Hypervisor)虚拟化技术仍然存在一些性能和资源使用效率方面的问题,因此出现了一种称为容器(Container)的新型虚拟化技术来帮助解决这些问题。容器技术作为一种操作系统级虚拟化方案(OS-LevelVirtualization),不同于传统的虚拟化方案,操作系统级虚拟化不需要通过虚拟机管理器层,而是通过系统内核本身提供的命名空间(Namespace)和cgroup来实现多个环境的物理资源隔离。操作系统级虚拟化具有许多优点:首先,在操作系统级虚拟化中,不同的容器和宿主操作系统共享一个内核,容器内部的执行单元对底层内核功能请求时将不必通过虚拟机管理器层;其次,容器的启动时间一般在秒级之内完成启动,而虚拟机则在几十秒甚至分钟级完成,尤其是在公有云环境中虚拟机实例的启动开销更大;再次,容器资源利用率更高,在相同的物理资源条件下,同时运行的容器数量往往是虚拟机的十倍甚至百倍;最后,容器虚拟化技术可以带来支持跨节点部署、方便软件系统的分发和共享、易于维护等优点。然而,对于目前采用安卓系统的手机而言,其无法直接运行容器,因此用户无法在安卓手机上获得操作系统级虚拟化所能带来的诸多优点。
技术实现思路
本专利技术的目的是提供一种基于安卓设备的ARM容器运行环境构建方法,其目的在于,解决目前安卓手机上无法直接运行容器,导致用户无法在安卓手机上获得操作系统级虚拟化所能带来的诸多优点的技术问题。为实现上述目的,本专利技术提供了一种基于安卓设备的ARM容器运行环境构建方法,包括以下步骤:(1)从安卓设备获取内核编译选项文件;(2)基于获取的内核编译选项文件对安卓系统的内核进行重新编译;(3)提取安卓设备中的根文件系统及其配置文件,并根据提取的该根文件系统及其配置文件定制运行在安卓系统上的容器镜像;(4)接收来自用户的输入参数,并根据该输入参数实现安卓系统运行的容器管理工具:(5)使用步骤(2)中重新编译后的安卓系统的内核替换安卓设备中原有的内核,基于步骤(3)生成的容器镜像,使用步骤(4)得到的容器管理工具进行容器的创建、运行、关闭、停止,从而实现ARM容器运行环境的构建。优选地,步骤(1)具体包括以下子步骤:(1-1)检测已有的安卓设备中是否保存有安卓内核编译选项文件,若存在则转入步骤(1-2),否则转入步骤(1-3);(1-2)保存该内核编译选项文件,过程结束;(1-3)获取设备厂商公开的系统源码;(1-4)基于获得的设备厂商的公开源码,使用编译工具对系统源码进行完整编译,以生成内核编译选项文件和完整的安卓系统;(1-5)将步骤(1-4)中生成的安卓系统刷入安卓设备中,并检验安卓系统是否在该安卓设备中运行正常,若运行正常则转入步骤(1-6),否则转入步骤(1-7);(1-6)保存步骤(1-4)中生成的内核编译选项文件,过程结束;(1-7)重新获取该公开源码或获取第三方安卓系统源码,并返回上述步骤(1-3)。优选地,步骤(2)具体包括以下子步骤:(2-1)基于内核编译选项文件,定制安卓内核,并在该安卓内核中加入cgroup和namespace机制;(2-2)将定制的安卓内核刷入安卓设备中,检验安卓系统是否在该安卓设备中运行正常,若运行正常则过程结束,若运行异常,则转入步骤(2-3);(2-3)获取安卓设备厂商公开的完整系统源码以及内核源码,并使用编译工具对获得的系统源码和内核源码进行完整编译;(2-4)将编译获得的结果一次性刷入安卓设备中,并检验安卓设备是否运行正常,若运行正常,则返回步骤(2-1),若运行异常,则说明安卓设备厂商公开的完整系统源码有误,过程结束。优选地,步骤(3)具体为,提取安卓设备中的根文件系统及其配置文件,在该根文件系统中添加Unix精简工具集,并将初始化相关文件夹软链接到该Unix精简工具集中,以修改该配置文件的启动进程的配置参数,并将修改后的根文件系统及其配置文件打包为可运行在安卓系统上的容器镜像。优选地,步骤(4)具体为,首先,读取用户的输入参数。若用户输入参数为查,,则统计出当前系统中存在的容器并显示出来;若用户输入参数为创建,则创建容器对应的文件夹,文件夹名称由用户输入的容器名指定,然后在该文件夹下创建描述一个容器的各项命名空间配置文件,文件中内容由用户输入的各项参数决定;若用户输入参数为启动,则使用用户传入的容器名查找相应的容器文件夹,然后创建容器运行相应的独立进程,最后使用容器文件夹中各项文件的内容配置该独立进程的运行环境;若用户输入参数为关闭,则根据用户输入参数指定的容器名称从数据库中查询对应的进程,杀死该进程并释放其所占的系统资源;若用户输入参数为删除,则找到指定的容器,删除容器对应的根文件系统和配置信息。按照本专利技术的另一方面,提供了一种基于安卓设备的ARM容器运行环境构建系统,包括:第一模块,用于从安卓设备获取内核编译选项文件;第二模块,用于基于获取的内核编译选项文件对安卓系统的内核进行重新编译;第三模块,用于提取安卓设备中的根文件系统及其配置文件,并根据提取的该根文件系统及其配置文件定制运行在安卓系统上的容器镜像;第四模块,用于接收来自用户的输入参数,并根据该输入参数实现安卓系统运行的容器管理工具:第五模块,用于使用第二模块中重新编译后的安卓系统的内核替换安卓设备中原有的内核,基于第三模块生成的容器镜像,使用第四模块得到的容器管理工具进行容器的创建、运行、关闭、停止,从而实现ARM容器运行环境的构建。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,能够取得下列有益效果:(1)本专利技术通过采用步骤(1)和步骤(2),其基于获取到的内核编译选项重新编译安卓内核,使得安卓系统支持资源限制和命名空间隔离功能;(2)本专利技术能够解决安卓设备上无法直接运行容器的技术问题:通过采用步骤(3),其提取安卓设备中的根文件系统和配置文件并作相关修改,得到可在安卓设备上运行的容器镜像;通过采用步骤(4),其解析用户的输入,创建或杀死相应的进程,实现对容器的运行和管理操作;(3)本专利技术能够为移动应用提供更独立的运行环境和可移植的软件镜像,从而为移动卸载等技术提供可能的支撑。附图说明图1是本专利技术具体的设计框架图;图2是本专利技术基于安卓设备的ARM容器运行环境构建方法的流程图;图3是本专利技术方法中步骤(1)的细化流程图;图4是本专利技术方法中步骤(2)的细化流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。如图1所示,是本专利技术基于安卓设备的ARM容器运行环境构建方法的设计框架图。整个专利技术基于安卓设备进行,在安卓系统中运行定制的安卓内核。在原有安卓系统库文件的基础上,新增容器运行所需的库文件(如本文档来自技高网...
一种基于安卓设备的ARM容器运行环境构建方法

【技术保护点】
一种基于安卓设备的ARM容器运行环境构建方法,其特征在于,包括以下步骤:(1)从安卓设备获取内核编译选项文件;(2)基于获取的内核编译选项文件对安卓系统的内核进行重新编译;(3)提取安卓设备中的根文件系统及其配置文件,并根据提取的该根文件系统及其配置文件定制运行在安卓系统上的容器镜像;(4)接收来自用户的输入参数,并根据该输入参数实现安卓系统运行的容器管理工具:(5)使用步骤(2)中重新编译后的安卓系统的内核替换安卓设备中原有的内核,基于步骤(3)生成的容器镜像,使用步骤(4)得到的容器管理工具进行容器的创建、运行、关闭、停止,从而实现ARM容器运行环境的构建。

【技术特征摘要】
1.一种基于安卓设备的ARM容器运行环境构建方法,其特征在于,包括以下步骤:(1)从安卓设备获取内核编译选项文件;(2)基于获取的内核编译选项文件对安卓系统的内核进行重新编译;(3)提取安卓设备中的根文件系统及其配置文件,并根据提取的该根文件系统及其配置文件定制运行在安卓系统上的容器镜像;(4)接收来自用户的输入参数,并根据该输入参数实现安卓系统运行的容器管理工具:(5)使用步骤(2)中重新编译后的安卓系统的内核替换安卓设备中原有的内核,基于步骤(3)生成的容器镜像,使用步骤(4)得到的容器管理工具进行容器的创建、运行、关闭、停止,从而实现ARM容器运行环境的构建。2.根据权利要求1所述的ARM容器运行环境构建方法,其特征在于,步骤(1)具体包括以下子步骤:(1-1)检测已有的安卓设备中是否保存有安卓内核编译选项文件,若存在则转入步骤(1-2),否则转入步骤(1-3);(1-2)保存该内核编译选项文件,过程结束;(1-3)获取设备厂商公开的系统源码;(1-4)基于获得的设备厂商的公开源码,使用编译工具对系统源码进行完整编译,以生成内核编译选项文件和完整的安卓系统;(1-5)将步骤(1-4)中生成的安卓系统刷入安卓设备中,并检验安卓系统是否在该安卓设备中运行正常,若运行正常则转入步骤(1-6),否则转入步骤(1-7);(1-6)保存步骤(1-4)中生成的内核编译选项文件,过程结束;(1-7)重新获取该公开源码或获取第三方安卓系统源码,并返回上述步骤(1-3)。3.根据权利要求2所述的ARM容器运行环境构建方法,其特征在于,步骤(2)具体包括以下子步骤:(2-1)基于内核编译选项文件,定制安卓内核,并在该安卓内核中加入cgroup和namespace机制;(2-2)将定制的安卓内核刷入安卓设备中,检验安卓系统是否在该安卓设备中运行正常,若运行正常则过程结束,若运行异常,则转入步骤(2-3);(2-3)获取安卓设备厂商公开的完整系统源码以及内核源码,并使用编译工具对获得的系统源码和内核源码进行完整编译;(2-4)将编译获得的结果一...

【专利技术属性】
技术研发人员:吴松金海戴小海
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北,42

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

1