[发明专利]一种Squashfs只读根文件系统的远程升级方法及系统有效
申请号: | 201510247413.4 | 申请日: | 2015-05-14 |
公开(公告)号: | CN104834547B | 公开(公告)日: | 2018-02-16 |
发明(设计)人: | 刘勇刚;陈俊强;田运朴;彭正非 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京捷诚信通专利事务所(普通合伙)11221 | 代理人: | 王卫东 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 squashfs 只读 文件系统 远程 升级 方法 系统 | ||
技术领域
本发明涉及嵌入式Linux操作系统的根文件系统,具体是涉及一种Squashfs(南瓜文件系统)只读根文件系统的远程升级方法及系统。
背景技术
在嵌入式Linux系统的应用中,系统启动后都会加载根文件系统(root filesystem),并通过根文件系统启动各种后台服务程序、加载应用程序、提供用户操作界面。在实际产品中,如果根文件系统被损害,不仅系统服务和应用程序无法正常加载和运行,而且会造成系统无法正常启动的严重后果,根文件系统被损害导致的上述后果,对于对产品可靠性要求很高通信系统的影响更为严重。
在一些要求高可靠性的系统中,为了保证Linux系统的稳定可靠,Linux系统的根文件系统会以只读的方式存放在系统的存储设备(如NOR FLASH,NAND FLASH等非易失闪存设备)中,将根文件系统设置为只读不可修改,这样就可以防止和避免意外操作造成根文件系统损坏,保证系统启动时根文件系统能正常被挂载,增强系统的可靠性。而由于Squashfs具备压缩只读的特点,所以在目前产品开发中常常使用Squashfs作为根文件系统,不仅可以增强Linux系统可靠性,而且可以节省硬件成本。
采用只读的Squashfs根文件系统虽然可以提高Linux系统可靠性,但其只可读而不可修改的属性,在实际应用中,也导致了根文件系统不能进行远程在线升级的缺陷,使得采用只读的Squashfs根文件系统的Linux系统软件模块远程更新具有很大局限性,即只可以对除根文件系统以外的软件模块进行在线升级(如应用程序、内核、驱动、应用库或者启动代码等);而对于通信系统多个基站离散分布、基站分布可能位偏远山区的特点而言,上述缺陷将增加根文件系统软件升级、维护的成本和难度。
发明内容
本发明所要解决的技术问题是Linux系统中的只读Squashfs根文件系统不能进行远程在线升级的问题。
为了解决上述技术问题,本发明所采用的技术方案是提供一种Squashfs只读根文件系统的远程升级方法,包括以下步骤:
在Linux系统存储设备的不同区域,为Linux系统配备两个可挂载根文件系统,分别为Squashfs只读根文件系统和存储Squashfs只读根文件系统升级方法的内存文件系统,且Squashfs只读根文件系统和内存文件系统分别对应于标识Squashfs只读根文件系统的存储区为只读的第一设备树描述文件和标识Squashfs只读根文件系统的存储区为可读写的第二设备树描述文件;
通过系统BOOT多重启动技术控制解析不同的设备树描述文件和启动与解析的设备树描述文件对应的可挂载根文件系统;
挂载内存文件系统为根文件系统,实现Squashfs只读根文件系统的远程在线升级。
在上述方法中,通过系统BOOT多重启动技术控制远程解析不同的设备树描述文件和启动与解析的设备树描述文件对应的可挂载文件系统具体包括以下步骤:
步骤S101、检测启动标志位;
步骤S102、判断启动标志位是否为1,如果为1,则执行步骤S105,否则,执行步骤S103;
步骤S103、判断启动标志位是否为2,如果为2,则执行步骤S107,否则执行步骤S104;
步骤S104、根据标志位挂载其他文件系统为根文件系统,然后执行步骤S109;
步骤S105、解析第一设备树描述文件,执行步骤S106;
步骤S106、挂载Squashfs只读根文件系统为根文件系统,然后执行步骤S109;
步骤S107、解析第二设备树描述文件,执行步骤S108;
步骤S108、挂载内存文件系统为根文件系统,然后执行步骤S109;
步骤S109、系统正常启动。
在上述方法中,挂载内存文件系统为根文件系统,实现Squashfs只读根文件系统的远程在线升级具体包括以下步骤:
步骤S201、将根文件系统升级文件复制到远程目标设备系统的外部存储设备中;
步骤S202、修改启动标志位,设置远程目标设备系统状态为升级状态,重启系统;
步骤S203、解析第二设备树描述文件;
步骤S204、挂载内存文件系统为根文件系统;
步骤S205、检测目标设备系统的外部存储设备上是否存在根文件系统升级文件,如果存在,执行步骤S206;否则执行步骤S212;
步骤S206、检测外部存储设备上的根文件系统升级文件校验码是否有误,如果校验码无误,执行步骤S207;否则,执行步骤S212;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510247413.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:调用功能模块的方法、相关装置及装置修复方法
- 下一篇:启动终端的方法及装置