嵌入式Linux设备映像文件验证方法
【专利摘要】本发明提供一种嵌入式Linux设备映像文件验证方法,其包括以下步骤:a.计算一待验证映像文件的原始资料被完整覆盖需要的文件框架大小;b.获得所述文件框架内待验证映像文件的原始资料未占有空间的大小;c.将所述文件框架内所述未占空间填0补充完整,并计算所述文件框架内补充0后的映像文件的原始资料的校验和;d.取出所述Linux嵌入式设备的存储装置内的待验证映像文件并计算出所述映像文件的校验和;e.比对所述补充0后的待验证映像文件的原始资料的校验和与所述储存装置内的待验证映像文件的校验和是否相同,如果相同执行步骤f,如果不相同则执行步骤g;f.发出正确提醒信息;以及g.发出错误提醒信息。借由上述步骤,本发明可即时验证映像文件。
【专利说明】 嵌入式Linux设备映像文件验证方法
【【技术领域】】
[0001]本发明涉及一种嵌入式Linux设备映像文件验证方法。
【【背景技术】】
[0002]对于嵌入式Linux设备,通常当我们想知道系统信息、验证工厂或自己刻录正确与否、或是系统有BUG时,会想确认所述嵌入式Linux设备的存储装置(flash或SD/SMMC)内部映像文件(image)版本与校验和(checksum)。而一般欲确认刻录在所述储存装置内的映像文件,仅能在烧入前确定该映像文件的校验和,或事先将已知该映像文件的校验和填入某处,经比对后符合就显示先前填入的校验和,不符合即显示固定的错误讯息。由此可见,现有的映像文件的验证方法比较不灵活,需要事先做好准备工作,不方便用户即时验证。
[0003]有鉴于此,本发明提供一种嵌入式Linux设备映像文件验证方法,其可即时验证映像文件。
【
【发明内容】
】
[0004]本发明的主要目的在于提供一种嵌入式Linux设备映像文件验证方法,其可即时验证映像文件。
[0005]为达上述目的,本发明提供一种嵌入式Linux设备映像文件验证方法,其包含有以下步骤:
[0006]a.计算一待验证映像文件的原始资料可以被完整覆盖需要的文件框架大小,所述文件框架由特定大小的数据块构建而成;
[0007]b.计算该文件框架大小与所述待验证映像文件的原始资料大小的差值以获得所述文件框架内待验证映像文件的原始资料未占有空间的大小;
[0008]c.将所述文件框架内所述未占空间填O补充完整,并计算所述文件框架内补充O后的映像文件的原始资料的校验和;
[0009]d.以Linux嵌入式设备的储存装置内的待验证映像文件的起始端为起点,基于所述文件框架的大小,取出所述Linux嵌入式设备的存储装置内的待验证映像文件并计算出所述映像文件的校验和;
[0010]e.比对所述补充O后的待验证映像文件的原始资料的校验和与所述储存装置内的待验证映像文件的校验和是否相同,如果相同执行步骤f,如果不相同则执行步骤g ;
[0011]f.发出正确提醒信息,表明所述Linux嵌入式设备的存储装置内的待验证映像文件与所述待验证映像文件的原始资料相同;以及
[0012]g.发出错误提醒信息,表明所述Linux嵌入式设备的存储装置内的待验证映像文件信息与所述待验证映像文件的原始资料不相同。
[0013]优选地,所述数据块的大小为512bytes或256bytes。
[0014]优选地,所述存储装置为sd/emmc或flash。
[0015]优选地,当所述待验证映像文件的原始资料为U-boot时,在步骤I之前进一步包含有:将所述待验证映像文件的原始资料去掉开头填充部分(padding) Ikbytes的大小,使其转为非U-boot资料。
[0016]与现有技术相比较,本发明嵌入式Linux设备映像文件验证方法通过将计算处理过的待验证映像文件的原始资料的校验和与从存储装置内取出的待验证映像文件的校验和进行比对,进而可获知所述待验证的映像文件是否与原始资料相同,实现了即时验证映像文件的目的,改善了现有的映像文件校验和事先写死无法即时计算的问题。
【【专利附图】
【附图说明】】
[0017]图1为本发明发明一种嵌入式Linux设备映像文件验证方法的流程图。
【【具体实施方式】】
[0018]请参阅图1所示,本发明一种嵌入式Linux设备映像文件验证方法包含以下步骤:
[0019]步骤101:计算一待验证映像文件的原始资料可以被完整覆盖需要的文件框架大小,所述文件框架由特定大小的数据块(block size)构建而成,所述各数据块的大小可为512bytes 或 256bytes。
[0020]步骤102:计算该文件框架大小与所述待验证映像文件的原始资料大小的差值以获得所述文件框架内待验证映像文件的原始资料未占有空间的大小。
[0021]步骤103:将所述文件框架内所述未占空间填O补充完整,并计算所述文件框架内补充O后的待验证映像文件的原始资料的校验和(checksum)。
[0022]步骤104:以Linux嵌入式设备的储存装置内的待验证映像文件的起始端为起点,基于所述文件框架的大小,取出(dump)所述Linux嵌入式设备的存储装置内的待验证映像文件并计算出所述映像文件的校验和(checksum),所述存储装置可为sd/emmc或flash。
[0023]步骤105:比对所述补充O后的待验证映像文件的原始资料的校验和(checksum)与所述储存装置内的待验证映像文件的校验和是否相同,如果相同执行步骤106,如果不相同则执行步骤107 ;
[0024]步骤106:发出正确提醒信息,表明所述Linux嵌入式设备的存储装置内的待验证映像文件与所述待验证映像文件的原始资料相同;
[0025]步骤107:发出错误提醒信息,表明所述Linux嵌入式设备的存储装置内的待验证映像文件信息与所述待验证映像文件的原始资料不相同。
[0026]值得注意的是,当所述待验证映像文件的原始资料为U-boot时,所述嵌入式设备映像文件验证方法在步骤I之前进一步包含有:将所述待验证映像文件的原始资料去掉开头填充部分(padding) Ikbytes的大小,使其转为非U_boot资料。
[0027]举例说明上述方法步骤,例如当一待验证映像文件的原始资料的大小为350bytes,而所述文件框架采用的数据块的大小为512bytes,由此可计算出所述文件框架完整覆盖所述待验证映像文件的原始资料需要I个数据块,进而得知所述文件框架的大小为512bytes,接着计算出所述文件框架与所述待验证映像文件的原始资料大小的差值为162bytes,从而得知所述文件框架中有162byte的未占空间,将所述未占空间以O填满,在填满后,计算所述文件框架内补充O后的待验证映像文件的原始资料的校验和,接下来的步骤则参考步骤104至107,最终完成了所述待验证映像文件的验证。
【权利要求】
1.一种嵌入式Linux设备映像文件验证方法,其特征在于,包括以下步骤: a.计算一待验证映像文件的原始资料被完整覆盖需要的文件框架大小,所述文件框架由特定大小的数据块构建而成; b.计算该文件框架大小与所述待验证映像文件的原始资料大小的差值以获得所述文件框架内待验证映像文件的原始资料未占有空间的大小; c.将所述文件框架内所述未占空间填O补充完整,并计算所述文件框架内补充O后的映像文件的原始资料的校验和; d.以Linux嵌入式设备的储存装置内的待验证映像文件的起始端为起点,基于所述文件框架的大小,取出所述Linux嵌入式设备的存储装置内的待验证映像文件并计算出所述映像文件的校验和; e.比对所述补充O后的待验证映像文件的原始资料的校验和与所述储存装置内的待验证映像文件的校验和是否相同,如果相同执行步骤f,如果不相同则执行步骤g ; f.发出正确提醒信息,表明所述Linux嵌入式设备的存储装置内的待验证映像文件与所述待验证映像文件的原始资料相同;以及 g.发出错误提醒信息,表明所述Linux嵌入式设备的存储装置内的待验证映像文件信息与所述待验证映像文件的原始资料不相同。
2.根据权利要求1所述的嵌入式Linux设备映像文件验证方法,其特征在于,所述数据块的大小为512bytes或256bytes。
3.根据权利要求1所述的嵌入式Linux设备映像文件验证方法,其特征在于,所述存储装置为 sd/emmc 或 flash。
4.根据权利要求1所述的嵌入式Linux设备映像文件验证方法,其特征在于,当所述待验证映像文件的原始资料为U-boot时,在步骤I之前进一步包含有:将所述待验证映像文件的原始资料去掉开头填充部分(padding) !kbytes的大小,使其转为非U_boot资料。
【文档编号】G06F21/64GK104376276SQ201310357080
【公开日】2015年2月25日 申请日期:2013年8月16日 优先权日:2013年8月16日
【发明者】蔡政育 申请人:昆达电脑科技(昆山)有限公司, 神达电脑股份有限公司