linux web server 固件 更新,remote firmware upgrade / update【1】
【Mr.Right出品必属精品:blog.csdn.net/lanmanck】
对于嵌入式Linux系统来讲,固件更新是个必备功能。google,貌似讲的不多,有知道的XDJM请留言,我会更新进来。
现在谈一下更新思路,后面会接着更新本文。
1、首先要搭好系统架构,例如分区作用,举个nandflash的layout例子:
1)bootloader
2)Kernel
3)Ramfs
4)rootfs
解析一下,boot和kernel就不讲了,Ramfs是专门用来升级用的,例如启动的时候,我按了电路板上的一个按钮,bootloader呢就把ramfs拷贝到RAM中,然后让内核去挂载成ramdisk。最后在ramdisk里运行升级程序把其他的全部升级掉。
2、升级方式,可通过SD卡、USB、网络等,现在先谈谈网络,即webserver升级。
用过路由器的都知道,登录路由器后有一个更新固件功能,就是通过webserver实现的,具体是怎么做的呢?
首先要一个Wevserver,然后要一个UI,即HTML界面,最后还需要一个程序来分析你的固件,例如CGI。简单点可以用如下表达式解决: