一种基于linux嵌入式操作系统的程序校验装置制造方法及图纸

技术编号:8271255 阅读:165 留言:0更新日期:2013-01-31 03:26
本发明专利技术涉及嵌入式操作系统技术。本发明专利技术解决了现有技术中校验方式校验速度慢、不适用于可写文件系统的问题,提供了一种基于linux嵌入式操作系统的程序校验装置,其技术方案可概括为:基于linux嵌入式操作系统的程序校验装置,包括boot引导模块、kernel内核模块、rootfs根文件模块、loader装载模块、被检验模块、校验模块、启动脚本模块,校验模块和启动脚本模块保存在loader装载模块中,在boot引导模块、kernel内核模块、rootfs根文件模块启动运行后,由启动脚本模块调用校验模块对被检验模块进行校验。本发明专利技术的有益效果是,校验速度快,适用于基于linux嵌入式操作系统的嵌入式设备。

【技术实现步骤摘要】
本专利技术属于嵌入式操作系统
,具体涉及一种基于Iinux嵌入式操作系统的程序校验装置。
技术介绍
长期以来,一些使用Iinux嵌入式操作系统的产品,例如数字电视机顶盒产品,为保证系统主程序的安全性和完整性,会强制 要求采用loader装载程序+app主程序架构,由loader装载程序负责对app主程序进行自检校验、解压,如果自检通过、解压正确,才会真正跳转应用app主程序开始运行,否则跳转到指定的系统修复界面。随着Iinux嵌入式操作系统大flash存储设备的应用,例如使用512M 2G的flash存储设备,原有的loader装载程序中校验的校验机制存在校验时间长,效率不高的问题。这是由于,loader装载程序中为计算校验,已经将app主程序加载了一次内存,跳转app主程序运行时又要再加载一次内存,在app较大的场景,app加载内存耗时较多,校验耗时问题尤为突出,这样会延长系统开机的时间,造成用户的使用体验不佳。更为麻烦的是由于上述loader装载程序校验做法的校验码是预先通过工具写入的,写入后不会随着程序更改而自动更新,所以这种校验机制只能用于校验写入后不会被自身更改的app主程序,不能适用于基于可读写文件系统,例如yaffs可读写根文件系统,这是由于在基于这类可读写文件系统的应用运行过程中会自行产生和更改一些临时文件的应用场景。因此,随着Iinux嵌入式操作系统的广泛应用,传统的loader装载程序校验方式校验速度慢、不适用于可写文件系统的问题越发突出。
技术实现思路
本专利技术所要解决的技术问题是提出一种基于Iinux嵌入式操作系统的程序校验装置,实现对需要校验的程序模块的校验。解决传统技术中校验方式校验速度慢、不适用于可写文件系统的缺陷。本专利技术解决上述技术问题所采用的技术方案是—种基于Iinux嵌入式操作系统的程序校验装置,包括有boot引导模块、kernel内核模块、rootfs根文件模块、loader装载模块、被检验模块,另外还包括校验模块,该校验模块保存在loader装载模块中;启动脚本模块,该启动脚本模块保存在loader装载模块中,用于在boot引导模块、kernel内核模块、rootfs根文件模块启动运行后,调用校验模块对被检验模块进行校验。本专利技术的有益效果是本专利技术利用了 Iinux嵌入式操作系统本身的特点,将校验工作放到Iinux嵌入式操作系统启动后做,利用Iinux嵌入式操作系统启动后,文件系统内可以存在多个可执行的独立应用,并通过自动执行的脚本来调用这些应用。这样校验、执行工作在同一套操作系统中运行,校验完不需要退出操作系统,直接执行,可以避免因校验、执行的不同目的将程序重复载入内存;同时由于校验标的已经是应用程序的可执行文件而不是应用程序分区映像,对可写文件系统,分区映像虽然可能会随时改变,但应用的可执行文件/文件夹不会变化,这样就可以很好的规避可写文件系统创建临时文件、文件夹导致loader装载模块无法对分区映像校验的问题, 因此能够适用于可写文件系统。该校验装置是基于Iinux嵌入式操作系统开发的,可以固件化,具有通用性好,容易跨硬件平台移植的优点。附图说明图I是本专利技术的装置架构图。具体实施例方式下面结合附图和具体实施例对本专利技术作进一步说明。本实施例的技术方案主要适用于数字电视机顶盒产品,但也可以用于其他基于Iinux嵌入式操作系统的嵌入式设备的程序校验,并不局限于机顶盒。如图1,该基于Iinux嵌入式操作系统的程序校验装置,包括有boot引导模块、kernel内核模块、rootfs根文件模块、loader装载模块、被检验模块,另外还包括校验模块,该校验模块保存在loader装载模块中;启动脚本模块,该启动脚本模块保存在loader装载模块中,用于在boot引导模块、kernel内核模块、rootfs根文件模块启动运行后,调用校验模块对被检验模块进行校验。在检验模块中,包括参数接收模块、校验固件、标志模块,校验所需的参数例如解压方式和密钥,由参数接收模块进行接收,再由校验固件按照参数接收模块所接收的参数对被检验模块进行校验。校验的结果保存在标志模块中。基于Iinux操作系统的独立的校验固件和配套的启动脚本模块可独立制作,这样可移植性和稳定性更强校验部分的应用一旦做好,将不受平台和驱动程序状态影响,可以随意移植到同一个编译环境下的所有Iinux操作中去;如果是不同的编译环境,也只需要重新编译生成可执行文件即可移植。不同的硬件平台、不同的项目移植该模块只需要启动脚本模块做相应变化即可,这样可以实现将原来的开发模式改为固件调用模式;算法优良的固件也可以和配套的主程签名工具打包出售,用于主程序安全管理。被检验模块可以是loader装载程序模块,也可以是app应用程序模块。由于该固件底层驱动基于Iinux操作,移植、维护的工作量将大大减小,因此更加适用于一些嵌入式产品对不同厂家统一 loader装载程序模块校验方式、需要统一对app应用程序模块进行签名的要求。loader装载程序模块和app应用程序模块可以使用同一个的固件进行全套校验工具,不需要loader装载程序模块设计人员和app应用程序模块设计人员沟通交互,这样就不容易出错。如果需要节省flash存储设备空间,可以在Iinux嵌入式操作系统系统中使用脚本直接调用Iinux嵌入式操作系统下的第3方解压软件进行处理,也可以调用第3方防毒、防木马、防盗改的补丁;也可以直接将app应用程序模块执行文件做成自解压运行的格式。由于校验模块和启动脚本模块是基于Iinux嵌入式操作系统的可执行程序,因此在校验loader装载程序模块和app应用程序模块时,均可以通过mount挂载该校验模块和启动脚本模块所在的文件系统,然后直接在Iinux嵌入式操作系统下运行的方式来进行调用同一个模块。对于被检验模块为app应用程序模块的情形,还可按以下方式进行校验和签名。在校验装置中还包括加密模块,该加密模块用于按照mount挂载U盘的方式对所述app应用程序模块签名。在校验装置中,先判断校验固件是否存在,如果存在则运行该校验固件,根据app应用程序模块的压缩或加密或校验的方式不同,校验固件需传入的参数,例如解压方式和密钥,可能简单、可能复杂甚至需要传入一个独立的参数文件。如果app应用程序模块校验失败,则校验固件返回错误,由标志模块实现错误状态标志位的保存; 如果未发现校验固件、或校验固件输入的参数非法,或者校验固件中触发了需要重签名的后门,则跳转运行加密模块进行重签名。上述调用的逻辑关系容易用Iinux脚本实现,例如本文档来自技高网...

【技术保护点】
一种基于linux嵌入式操作系统的程序校验装置,包括有boot引导模块、kernel内核模块、rootfs根文件模块、loader装载模块、被检验模块,其特征在于,还包括:校验模块,该校验模块保存在loader装载模块中;启动脚本模块,该启动脚本模块保存在loader装载模块中,用于在boot引导模块、kernel内核模块、rootfs根文件模块启动运行后,调用校验模块对被检验模块进行校验。

【技术特征摘要】
1.一种基于Iinux嵌入式操作系统的程序校验装置,包括有boot引导模块、kernel内核模块、rootfs根文件模块、loader装载模块、被检验模块,其特征在于,还包括 校验模块,该校验模块保存在loader装载模块中; 启动脚本模块,该启动脚本模块保存在loader装载模块中,用于在boot引导模块、kernel内核模块、rootfs根文件模块启动运行后,调用校验模块对被检验模块进行校验。2.根据权利要求I所述的一种基于Iinux嵌入式操作系统的程序校验装置,其特征在于,所述校验模块包括 参数接收模块,用于接收所述进行校验所需的参数; 校验固件,按照参数接收模块所接收的参数对被检验模块进行校验。3.根据权利要求2所述的一种基于Iinux嵌入式操作系统的...

【专利技术属性】
技术研发人员:罗健丰熊建勇王伟军
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:

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

1