[发明专利]基于Linux操作系统的内存文件系统制备方法及单元有效
| 申请号: | 201310199601.5 | 申请日: | 2013-05-24 |
| 公开(公告)号: | CN103309706A | 公开(公告)日: | 2013-09-18 |
| 发明(设计)人: | 李占兵 | 申请(专利权)人: | 中标软件有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445 |
| 代理公司: | 北京聿宏知识产权代理有限公司 11372 | 代理人: | 吴大建;钟日红 |
| 地址: | 200030 上海*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 linux 操作系统 内存 文件系统 制备 方法 单元 | ||
技术领域
本发明涉及嵌入式领域和定制系统领域,尤其涉及一种基于Linux操作系统的内存文件系统制备方法及单元。
背景技术
内存文件系统是系统启动后在内存中运行的微小型操作系统,其用于开启特殊功能并提供服务。由于其启动速度快,系统体积小、系统文件可被保护,因此在嵌入式领域和定制系统方面获得广泛应用。
内存文件系统包含了基本的Linux内核和initrd.img映像文件,生成的内核是通过配置文件生成,主要特殊功能在initrd.img中实现,initrd.img中包含了需要的内核模块、配置文件、动态链接库、需要的定制的功能程序。把定制的功能放入initrd.img中,以gzip压缩方式解压缩。在很多开发过程中都是手动完成开发内存文件系统,而且内存文件系统功能不统一,例如快速启动功能、硬件支持全面、内存文件系统支持图形化、模块加载顺序等等,内存文件系统文件依赖紧密、复杂、生成版本周期时间长,生产成本高,后期维护复杂困难。
现有的内存文件系统制作方法都无法支持多版本的内存文件系统定制,绝大部分都是手工完成整个生成,无法支持指定的Linux内核版本中自动化编译依赖的驱动。核心系统环境共安装103个deb包组成的Linux系统的系统环境,提供了基本安装工具,bash环境。内核版本号不一致导致编译的模块无法正常加载,initrd.img使用gzip解压方式,在系统启动是解压速度时间较长。
因此,亟需一种解决方案以解决上述问题,实现多版本内存文件系统定制,优化内存文件系统启动时间,解决多种Linux不同的格式包格式如deb包、tar包、tar.gz包、内核包、驱动包编译的问题。
发明内容
本发明所要解决的技术问题之一是需要提供一种能够实现多版本内存文件系统定制的基于Linux操作系统的内存文件系统制备单元。
为了解决上述技术问题,本发明提供了一种基于Linux操作系统的内存文件系统制备单元,该单元包括:环境创建模块,其创建并配置所述内存文件系统制备单元的运行环境;软件包创建模块,其检测待编译的软件包是否全部编译完成,若检测结果为否,则将未编译的软件包按照设定包格式进行编译,然后将所有编译完成的软件包存储至软件源目录中;软件包仓库创建模块,其基于所述软件源目录创建软件包仓库;核心文件系统创建模块,其根据指定要制作的内存文件系统版本,从所述软件包仓库中获取相应的安装文件、配置文件和内核以制备核心文件系统;内存文件系统创建模块,其基于核心文件系统来创建内存文件系统。
在一个实施例中,所述环境创建模块,进一步用于执行以下操作:步骤10,检查当前运行的用户识别码是否是权限用户,若是则进入步骤20中,否则,退出运行并提示用户使用权限识别码来运行;步骤20,获取部署运行环境的软件包;步骤30,检查所需的配置文件是否存在,若存在,则将所述配置文件移至对应的目录中,不存在则退出运行并提示缺少的文件;步骤40,检查运行环境的软件包是否已全部被安装,若未全部安装,则退出运行并提示缺少的软件包和安装的方法。
在一个实施例中,所述软件包创建模块进一步用于:通过设定方式来统一待编译的不同类型软件包的格式,在检测出待编译的软件包未全部编译完成时,将未编译的软件包编译成deb包格式的软件包,其中,软件包的类型包括dsc包、源码包、二进制包、内核包和驱动包。
在一个实施例中,所述软件包仓库创建模块进一步用于检测所述软件源目录是否为一个有效源,若检测结果为是,则将其生成一软件包仓库。
在一个实施例中,所述软件包仓库创建模块利用关于信息摘要算法的工具遍历所述软件源目录下的每个软件包,并生成检测值列表文件,其中,
如果存在之前生成的检测值列表文件且与当前生成的检测值列表文件相同,则确定该软件源目录为一个有效软件源,然后将其生成一软件包仓库;
如果不存在之前生成的检测值列表文件或当前生成的检测值列表文件与之前生成的检测值列表文件不相同,则确定该软件源目录为一个无效软件源。
在一个实施例中,在确定该软件源目录为一个无效软件源时,所述软件包仓库创建模块进一步保存当前生成的检测值列表文件,并使用制作deb包的软件源目录的命令重新生成一软件源目录。
在一个实施例中,所述内存文件系统创建模块进一步使用lzop压缩工具来压缩所述内存文件系统的initrd.img文件。
在一个实施例中,在制备另一内存文件系统时,仅运行所述核心文件系统创建模块和所述内存文件系统创建模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中标软件有限公司,未经中标软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310199601.5/2.html,转载请声明来源钻瓜专利网。





