CN104572140A - 一种操作系统移植的方法、装置及系统 - Google Patents
一种操作系统移植的方法、装置及系统 Download PDFInfo
- Publication number
- CN104572140A CN104572140A CN201310471330.4A CN201310471330A CN104572140A CN 104572140 A CN104572140 A CN 104572140A CN 201310471330 A CN201310471330 A CN 201310471330A CN 104572140 A CN104572140 A CN 104572140A
- Authority
- CN
- China
- Prior art keywords
- file
- operating system
- image file
- romfs
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明适用于移动终端技术领域,尤其涉及一种操作系统移植的方法、装置及系统,所述方法包括:获取操作系统的内核文件,并建立所述操作系统的根文件系统目录;根据所述操作系统的内核文件和所述根文件系统目录生成只读文件系统romfs格式的映像文件;将所述映像文件作为初始化数据挂接到所述操作系统的预设目录下。在本实施例中,解决了现有的现有操作系统中文件系统占据存储空间大的问题,此外,将所述映像文件作为初始化数据挂接到所述操作系统的预设目录下,后续可通过加载路径,加载该目录的映像文件,解决了现有操作系统中在引导操作系统时,耗时过长的问题,节省了引导时间,提高了引导操作系统的效率。
Description
技术领域
本发明属于移动终端技术领域,尤其涉及一种操作系统移植的方法、装置及系统。
背景技术
文件系统是操作系统的重要组成部分,Linux特性之一就是对多种文件系统的支持,除Ext2/3以外,在Linux发展过程中,设计人员比较早的考虑到了对其他类型文件系统的支持,要实现这一目的,需要将它们的操作和管理纳入统一的框架当中来,这个统一的、抽象的、虚拟的文件系统接口,被称为VFS(virtual FileSystem Switch),它主要包含一组标准的文件操作接口。Linux采用的VFS,支持如ntfs(windows NT的文件系统),msdos(dos的文件系统),isofs(光盘文件系统),nfs(网络文件系统),romfs、ramfs、ex2、jffs2、ms-dos、nfs等各种文件系统。
然而,现有操作系统中文件系统占据存储空间大,在引导操作系统时,耗时过长,便于说明,以实际应用为例,硬盘中的文件系统的数据占用很大存储空间,通过调用中文件系统的数据,引导操作系统,引导的时间较长,
发明内容
本发明实施例的目的在于提供一种操作系统移植方法,旨在解决现有的现有操作系统中文件系统占据存储空间大,在引导操作系统时,耗时过长的问题。
本发明实施例是这样实现的,一种操作系统移植方法,包括:
获取操作系统的内核文件,并建立所述操作系统的根文件系统目录;
根据所述操作系统的内核文件和所述根文件系统目录生成只读文件系统romfs格式的映像文件;
将所述映像文件作为初始化数据挂接到所述操作系统的预设目录下。
本发明实施例的另一目的在于提供一种操作系统移植装置,包括:
第一获取单元,用于获取操作系统的内核文件,并建立所述操作系统的根文件系统目录;
生成单元,用于根据所述操作系统的内核文件和所述根文件系统目录生成只读文件系统romfs格式的映像文件;
挂接单元,用于将所述映像文件作为初始化数据挂接到所述操作系统的预设目录下。
本发明实施例的另一目的在于提供一种操作系统移植系统,包括上述装置。
在本实施例中,由于romfs的组织结构占用系统资源比较小,因此遵循romfs的组织结构的文件,比普通文件节省存储空间,使得生成的映像文件也节省存储空间,解决了现有的现有操作系统中文件系统占据存储空间大的问题,此外,将所述映像文件作为初始化数据挂接到所述操作系统的预设目录下,后续可通过加载路径,加载该目录的映像文件,解决了现有操作系统中在引导操作系统时,耗时过长的问题,节省了引导时间,提高了引导操作系统的效率。
附图说明
图1是本发明实施例提供的引导操作系统方法的实现流程图;
图2是本发明实施例提供的腾操作系统内核文件的目录的较佳示意图;
图3是本发明实施例提供的引导操作系统方法在实际应用中较佳的实现流程图;
图4是本发明实施例提供的引导操作系统装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本实施例中,由于romfs的组织结构占用系统资源比较小,因此遵循romfs的组织结构的文件,比普通文件节省存储空间,使得生成的映像文件也节省存储空间,从而解决了现有的现有操作系统中文件系统占据存储空间大的问题,此外,将所述映像文件作为初始化数据挂接到所述操作系统的预设目录下,后续可通过加载路径,加载该目录的映像文件,解决了现有操作系统中在引导操作系统时,耗时过长的问题,节省了引导时间,提高了引导操作系统的效率。
图1示出了本发明实施例提供的一种操作系统移植方法的实现流程,详述如下:
在步骤S101中,获取操作系统的内核文件,并建立所述操作系统的根文件系统目录;
在本实施例中,获取操作系统的内核文件,可采用现有技术的任一种方式获取,如通过上网的方式获取,或通过本地数据库导入的方式获取。
在本实施例中,优选地,操作系统为飞腾操作系统。
参考图2,图2示出了飞腾操作系统内核文件的目录的较佳示意图。
在本实施例中,建立所述操作系统的根文件系统目录,具体地,在目录下建立一个文件夹,,并在目录下生成需要的根文件系统。例如,移植BusyBox,下载busybox的源码包,通过make命令编译busybox源码,通过make install命令安装busybox源码包。
作为本发明的一个优选实施例,在根目录下创建其他文件系统所需要的目录,修改与添加系统初始化脚本,例如,etc/inittab系统init进程配置文件,etc/init.d/rcS系统启动加载项文件,etc/fstab系统挂载文件系统列表文件,etc/profile用户环境配置文件。
在步骤S102中,根据所述操作系统的内核文件和所述根文件系统目录生成只读文件系统romfs格式的映像文件;
在本实施例中,利用genromfs工具,将操作系统的内核文件和所述根文件系统目录转换为只读文件系统(rom file system,romfs)的组织结构,再将转换成romfs的组织结构的内核文件和根文件系统目录,进行打包,生成只读文件系统romfs格式的映像文件。
在本实施例中,将操作系统的内核文件和所述根文件系统目录转换为romfs的组织结构,具体地,可通过操作指令,genromfs–v–V"ROMdisk"-f/romfs.img–romfs,即可将操作系统的内核文件和所述根文件系统目录转换为romfs的组织结构。
在步骤S103中,将所述映像文件作为初始化数据挂接到所述操作系统的预设目录下。
在本实施例中,将映像文件作为初始化数据挂接到所述操作系统的预设目录下,修改内核代码,将romfs.img作为初始化数据连接到Linux内核当中,用mount命令将romfs.img挂接到合适的目录下。
在本实施例中,由于romfs的组织结构占用系统资源比较小,因此遵循romfs的组织结构的文件,比普通文件节省存储空间,使得生成的映像文件也节省存储空间,解决了现有的现有操作系统中文件系统占据存储空间大的问题,此外,将所述映像文件作为初始化数据挂接到所述操作系统的预设目录下,后续可通过加载路径,加载该目录的映像文件,解决了现有操作系统中在引导操作系统时,耗时过长的问题,节省了引导时间,提高了引导操作系统的效率。
作为本发明的一个优选实施例,通过预设的指令,将所述romfs格式的映像文件合并为一个二进制bin文件,将合并生成的所述bin文件烧写到固件只读内存ROM中。
在本实施例中,利用shell脚本的指令将romfs格式的映像文件合并为一个bin文件,再将合并生成的所述bin文件烧写到固件只读内存(Read-OnlyMemory,ROM)中。
在本实施例中,利用shell脚本将固件和内核文件系统合并为一个bin文件,具体地,可通过下述指令,详述如下:
作为本发明的一个优选实施例,设置加载路径,并将述加载路径与所述bin文件建立对应关系,当启动所述操作系统时,加载固件只读内存ROM中所述bin文件的映像文件。
在本实施例中,加载路径为主板加载操作系统时的程序,加载路径可以为用户自设,也可以为系统默认。
例如,在OBP的OK界面输入boot vdisk,当启动操作系统时,可根据启加载路径,从/virtual-devices/disk1上加载烧写在固件ROM上的映像文件romfs.img。
作为本发明的一个优选实施例,主板获取存储在只读内存ROM中bin文件的映像文件;加载所述映像文件,进入所述操作系统的界面。
在本实施例中,固件ROM位于主板上,主板通过加载路径,获取存储在只读内存ROM中bin文件的映像文件,并加载所述映像文件,开始引导操作系统,引导完毕后,在主板上运行操作系统,进入操作系统的界面,相关人员可进行软件开发方面的调试、测试。
在本实施例中,主板获取存储在只读内存ROM中bin文件的映像文件,加载所述映像文件,进入所述操作系统的界面,避免了出现主板在生产调试测试时,需要通过调用硬盘中文件系统的数据,引导操作系统,才能进入到操作系统的界面,进行软件开发方面的调试、测试的情况,使得在主板生产调试测试之时,在没有硬盘的情况下。能够方便的进入到操作系统之中,进行软件开发方面的调试,测试,节省了用户的时间,并提高了板生产调试测试的效率。
参考图3,图3是本发明实施例在实际应用中的操作流程图,详述如下:
S301,建立根文件系统目录结构;
S302,使用工具将内核和建成的根文件系统目录转换为romfs的组织结构romfs.img;
S303,将内核文件系统文件作为初始化数据挂接到linux内核文件当中;
S304,通过shell脚本将固件内核文件系统合并为一个bin文件;
S305,用烧录器将bin文件烧到固件ROM上去;
S306,修改OPB中的启动参数让其启动虚拟磁盘即ROM上的文件系统。
图4示出了本发明实施例提供的一种操作系统移植装置的结构框图,为了便于说明,仅示出了与本实施例相关的部分。
参照图4,该操作系统移植装置,包括:
第一获取单元41,用于获取操作系统的内核文件,并建立所述操作系统的根文件系统目录;
生成单元42,用于根据所述操作系统的内核文件和所述根文件系统目录生成只读文件系统romfs格式的映像文件;
挂接单元43,用于将所述映像文件作为初始化数据挂接到所述操作系统的预设目录下。
进一步地,在该操作系统移植装置中,还包括:
合并单元,用于通过预设的指令,将所述romfs格式的映像文件合并为一个二进制bin文件;
烧写合并单元,用于将合并生成的所述bin文件烧写到固件只读内存ROM中。
进一步地,在该操作系统移植装置中,还包括:
设置单元,用于设置加载路径,并将述加载路径与所述bin文件建立对应关系;
第一加载单元,用于当启动所述操作系统时,加载固件只读内存ROM中所述bin文件的映像文件。
进一步地,在该操作系统移植装置中,还包括:
第二获取单元,用于主板获取存储在只读内存ROM中bin文件的映像文件;
第二加载单元,用于加载所述映像文件,进入所述操作系统的界面。
本发明实施例提供的装置可以应用在前述对应的方法实施例一、二中,详情参见上述实施例一、二的描述,在此不再赘述。
在本实施例中,由于romfs的组织结构占用系统资源比较小,因此遵循romfs的组织结构的文件,比普通文件节省存储空间,使得生成的映像文件也节省存储空间,解决了现有的现有操作系统中文件系统占据存储空间大的问题,此外,将所述映像文件作为初始化数据挂接到所述操作系统的预设目录下,后续可通过加载路径,加载该目录的映像文件,解决了现有操作系统中在引导操作系统时,耗时过长的问题,节省了引导时间,提高了引导操作系统的效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种操作系统移植方法,其特征在于,包括:
获取操作系统的内核文件,并建立所述操作系统的根文件系统目录;
根据所述操作系统的内核文件和所述根文件系统目录生成只读文件系统romfs格式的映像文件;
将所述映像文件作为初始化数据挂接到所述操作系统的预设目录下。
2.如权利要求1所述的方法,其特征在于,所述根据所述操作系统的内核文件和所述根文件系统目录生成只读文件系统romfs格式的映像文件,包括:
将操作系统的内核文件和所述根文件系统目录转换为romfs的组织结构,生成只读文件系统romfs格式的映像文件。
3.如权利要求1所述的方法,其特征在于,还包括:
通过预设的指令,将所述romfs格式的映像文件合并为一个二进制bin文件。
将合并生成的所述bin文件烧写到固件只读内存ROM中。
4.如权利要求3所述的方法,其特征在于,还包括:
设置加载路径,并将述加载路径与所述bin文件建立对应关系,
当启动所述操作系统时,加载固件只读内存ROM中所述bin文件的映像文件。
5.如权利要求4所述的方法,其特征在于,还包括:
主板获取存储在只读内存ROM中bin文件的映像文件;
加载所述映像文件,进入所述操作系统的界面。
6.一种操作系统移植装置,其特征在于,包括:
第一获取单元,用于获取操作系统的内核文件,并建立所述操作系统的根文件系统目录;
生成单元,用于根据所述操作系统的内核文件和所述根文件系统目录生成只读文件系统romfs格式的映像文件;
挂接单元,用于将所述映像文件作为初始化数据挂接到所述操作系统的预设目录下。
7.如权利要求6所述的装置,其特征在于,还包括:
合并单元,用于通过预设的指令,将所述romfs格式的映像文件合并为一个二进制bin文件;
烧写合并单元,用于将合并生成的所述bin文件烧写到固件只读内存ROM中。
8.如权利要求7所述的装置,其特征在于,还包括:
设置单元,用于设置加载路径,并将述加载路径与所述bin文件建立对应关系;
第一加载单元,用于当启动所述操作系统时,加载固件只读内存ROM中所述bin文件的映像文件。
9.如权利要求8所述的装置,其特征在于,还包括:
第二获取单元,用于主板获取存储在只读内存ROM中bin文件的映像文件;
第二加载单元,用于加载所述映像文件,进入所述操作系统的界面。
10.一种操作系统移植系统,其特征在于,包括权利要求6至9任意一项权利要求所述的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310471330.4A CN104572140B (zh) | 2013-10-10 | 2013-10-10 | 一种操作系统移植的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310471330.4A CN104572140B (zh) | 2013-10-10 | 2013-10-10 | 一种操作系统移植的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104572140A true CN104572140A (zh) | 2015-04-29 |
CN104572140B CN104572140B (zh) | 2018-11-27 |
Family
ID=53088305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310471330.4A Active CN104572140B (zh) | 2013-10-10 | 2013-10-10 | 一种操作系统移植的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572140B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866365A (zh) * | 2015-06-12 | 2015-08-26 | 联想(北京)有限公司 | 提升开机速度的方法、装置及电子设备 |
CN109840137A (zh) * | 2017-11-28 | 2019-06-04 | 大唐移动通信设备有限公司 | 一种操作系统移植方法和装置 |
CN110032542A (zh) * | 2019-04-19 | 2019-07-19 | 宁波三星医疗电气股份有限公司 | 一种cramfs文件系统管理方法、装置及电子设备 |
CN112328253A (zh) * | 2020-09-29 | 2021-02-05 | 武汉海微科技有限公司 | 基于单片机编译器的多文件自动生成合并方法 |
CN114443582A (zh) * | 2021-12-22 | 2022-05-06 | 科东(广州)软件科技有限公司 | 一种操作系统上文件系统挂载方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070043938A1 (en) * | 2003-08-01 | 2007-02-22 | Symbian Software Limited | Method of accessing data in a computing device |
CN101082677A (zh) * | 2007-07-06 | 2007-12-05 | 福州华虹智能科技开发有限公司 | 基于嵌入式Linux的矿井巷道超前探测仪软件体系结构的装置 |
CN101625647A (zh) * | 2009-08-06 | 2010-01-13 | 青岛海信电器股份有限公司 | 加快嵌入式软件系统启动速度的方法 |
CN101639782A (zh) * | 2009-07-14 | 2010-02-03 | 上海市共进通信技术有限公司 | 基于嵌入式操作系统的系统引导载入方法 |
CN102141923A (zh) * | 2010-09-28 | 2011-08-03 | 华为终端有限公司 | 内存文件系统加载方法及装置 |
-
2013
- 2013-10-10 CN CN201310471330.4A patent/CN104572140B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070043938A1 (en) * | 2003-08-01 | 2007-02-22 | Symbian Software Limited | Method of accessing data in a computing device |
CN101082677A (zh) * | 2007-07-06 | 2007-12-05 | 福州华虹智能科技开发有限公司 | 基于嵌入式Linux的矿井巷道超前探测仪软件体系结构的装置 |
CN101639782A (zh) * | 2009-07-14 | 2010-02-03 | 上海市共进通信技术有限公司 | 基于嵌入式操作系统的系统引导载入方法 |
CN101625647A (zh) * | 2009-08-06 | 2010-01-13 | 青岛海信电器股份有限公司 | 加快嵌入式软件系统启动速度的方法 |
CN102141923A (zh) * | 2010-09-28 | 2011-08-03 | 华为终端有限公司 | 内存文件系统加载方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866365A (zh) * | 2015-06-12 | 2015-08-26 | 联想(北京)有限公司 | 提升开机速度的方法、装置及电子设备 |
CN104866365B (zh) * | 2015-06-12 | 2019-04-26 | 联想(北京)有限公司 | 提升开机速度的方法、装置及电子设备 |
CN109840137A (zh) * | 2017-11-28 | 2019-06-04 | 大唐移动通信设备有限公司 | 一种操作系统移植方法和装置 |
CN109840137B (zh) * | 2017-11-28 | 2021-01-22 | 大唐移动通信设备有限公司 | 一种跨核调度方法和装置 |
CN110032542A (zh) * | 2019-04-19 | 2019-07-19 | 宁波三星医疗电气股份有限公司 | 一种cramfs文件系统管理方法、装置及电子设备 |
CN110032542B (zh) * | 2019-04-19 | 2021-04-27 | 宁波三星医疗电气股份有限公司 | 一种cramfs文件系统管理方法、装置及电子设备 |
CN112328253A (zh) * | 2020-09-29 | 2021-02-05 | 武汉海微科技有限公司 | 基于单片机编译器的多文件自动生成合并方法 |
CN114443582A (zh) * | 2021-12-22 | 2022-05-06 | 科东(广州)软件科技有限公司 | 一种操作系统上文件系统挂载方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104572140B (zh) | 2018-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102053831B (zh) | 一种Linux操作系统的定制方法及系统 | |
CN101706725B (zh) | 一种可重定位程序的加载及调试方法及系统 | |
CN104572140A (zh) | 一种操作系统移植的方法、装置及系统 | |
CN105468362A (zh) | 应用部署方法和云计算系统 | |
US20150186161A1 (en) | Platform system, method for changing support hardware configuration of universal extensible firmware interface basic input output system and computer program product | |
CN103577212A (zh) | 系统启动预加载方法及装置 | |
CN104866324A (zh) | 一种便携操作系统构建方法及便携存储器 | |
CN101169729A (zh) | 嵌入式系统及其更新应用程序的方法 | |
CN103324474A (zh) | 基于Linux操作系统跨体系构造ISO的方法及模块 | |
WO2021115177A1 (zh) | 应用安装方法、装置、终端设备、服务器及存储介质 | |
CN102567058A (zh) | 一种制备用于安装linux操作系统的镜像文件的方法 | |
CN103092660A (zh) | 一种嵌入式设备出厂配置与生产配置的安全快速切换方法 | |
CN101634965B (zh) | 一种Linux内核级单元测试的方法 | |
CN108182103A (zh) | 一种在升级模式下生成用户界面的方法 | |
Hu et al. | Research transplanting method of embedded linux kernel based on ARM platform | |
CN102135923A (zh) | 将操作系统集成到bios芯片的方法及启动该操作系统的方法 | |
KR102141749B1 (ko) | App 프로그램 실행 방법 및 장치 | |
CN106980516B (zh) | 信息处理装置及资源管理方法 | |
Yanpeng et al. | Linux transplantation based on the processor S3C2440 | |
CN105550339A (zh) | 一种在线预览文档的方法、装置和系统 | |
CN114385507A (zh) | 软件测试用例生成方法 | |
CN109271179B (zh) | 虚拟机应用程序管理方法、装置、设备及可读存储介质 | |
JP2016515243A (ja) | アンドロイドアプリケーションのタイゼン導入可能パッケージ自動変換方法及びこのためのコンピュータ読み取り可能な記録媒体 | |
CN102902554A (zh) | 一种龙芯平台的linux操作系统安装方法 | |
CN105511918A (zh) | 一种智能电能表的数据存储格式自动维护方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |