[发明专利]一种实现操作系统内核引导的方法、系统及装置有效
| 申请号: | 201010579776.5 | 申请日: | 2010-12-08 |
| 公开(公告)号: | CN102541572A | 公开(公告)日: | 2012-07-04 |
| 发明(设计)人: | 王忠波;曹厚华;胡小龙;冯威 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445 |
| 代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 解婷婷;龙洪 |
| 地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 实现 操作系统 内核 引导 方法 系统 装置 | ||
技术领域
本发明涉及无线通信产品中嵌入式linux系统内核引导方法,尤其涉及实现操作系统内核引导的方法、系统及装置。
背景技术
随着移动通信技术的发展,多种无线通信制式共享硬件及软件平台,从而更大幅度地降低成本,由此实现多种无线制式之间的平滑切换与演进,已经成为一种趋势。
在无线基站的软件开发中,linux操作系统得到越来越广泛地应用。由德国工程师Woldgang Denk主导开发的开源U-boot引导加载程序(以下简称U-boot),是目前在嵌入式系统中比较通用地用来引导linux操作系统内核的程序。该U-boot支持多种体系结构的处理器,已经被诸多的嵌入式软件开发人员和硬件厂商所采用,以服务于他们的项目开发。
U-boot在引导linux操作系统内核时,内核启动参数是从环境变量bootargs中提取传给内核的,Linux内核获得并解析启动参数,根据解析出的启动参数加载所需要的模块等。
在U-boot中,环境变量表现为一个全局的且被初始化了的字符型数组。当U-boot在FLASH中被执行时,该环境变量不可以被改变;U-boot在启动的后半阶段,将环境变量拷贝到内存的堆空间,这时便可以对环境变量进行修改和添加。
目前在嵌入式系统开发过程中,一般是在调试(debug)运行阶段,通过在串口的用户交互接口(shell)中执行设置环境变量的命令来改变环境变量的值,使内核以不同的启动参数启动。当调试完毕,确定了一组正确的内核启动参数后,便将代表环境变量的全局字符型数组中的bootargs环境变量设置为这组启动参数,编译生成的boot版本就可以用来对嵌入式系统进行realease启动引导了。
目前,这种在boot编译阶段确定内核启动参数的方法有一个明显的不足,那就是每当需要修改内核启动参数时都要对boot进行重新编译;当多种无线制式的产品或者一种制式产品的多个版本需要不同的内核启动参数时,boot版本无法做到统一,由此增加了产品维护的成本。
发明内容
本发明所要解决的技术问题是提供一种实现操作系统内核引导的方法、系统及装置,能够使用统一的boot版本引导各种无线制式产品操作系统内核。
为了解决上述技术问题,本发明提供了一种实现操作系统内核引导的方法,用于多制式无线基站系统中,该方法包括:
将内核启动参数写入编写的配置文件中,将该配置文件随操作系统内核一起封装为版本包,存放于无线基站系统的版本机中;
无线基站系统上电后,引导加载程序从版本机下载的版本包中解析出配置文件,并依据该配置文件设置环境变量,将从环境变量的值域中提取的内核启动参数写入内存区域。
进一步地,该方法还包括:
引导加载程序将写入内核启动参数的所述内存区域的地址写入指定的寄存器,然后跳转到操作系统内核的程序入口开始执行,从而引导操作系统内核。
进一步地,
配置文件是写有一条或多条命令的文本文件,其中每一条命令包含有命令名、环境变量名和环境变量的值中的一个或多个域、域分割符以及命令分割符,其中:
命令名,用于写入一条命令的名称;
环境变量名,用于写入环境变量的名称;
环境变量的值,用于写入要向操作系统内核传递的一个或多个内核启动参数;
域分割符,用于分割命令中各个域以及环境变量的值中的内核启动参数;
命令分割符,用于表示一条命令内容的结束。
进一步地,
版本包包括版本头、内核版本长度、内核版本内容、内存文件系统长度、内存文件系统内容、配置文件长度以及配置文件内容中的部分域或全部域。
为了解决上述技术问题,本发明提供了一种实现操作系统内核引导的装置,用于多制式无线基站系统中,该装置包括依次连接的配置文件模块、版本包封装模块、版本机模块、引导加载模块以及存储模块,其中:
配置文件模块,用于通过用户接口供用户编写载入内核启动参数的配置文件,将用户编写的配置文件输出给版本包封装模块;
版本包封装模块,用于将配置文件随操作系统内核一起封装为版本包,存放于版本机模块;
版本机模块,用于保存版本包封装模块封装的版本包;
引导加载模块,用于在无线基站系统上电后从版本机模块下载的版本包中解析出配置文件,并依据该配置文件设置环境变量,将从环境变量的值域中提取的内核启动参数写入存储模块相应的参数区域;
存储模块,用于在相应的参数区域存储所述内核启动参数。
进一步地,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010579776.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:业务连续性实现方法和系统
- 下一篇:集成话音命令模态的用户界面





