下载此文档

openwrt升级功能流程简介.docx


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
文档说明:
本文档简述了openwrt sdk的升级功能流程,从页面传入升级文件到升级文件检测,再到调用升级脚本进行升级,升级完成后,进行系统重启。最后简述了如何添加升级文件标识,标识包括自己定义的字段,以及升级软件的md5值。达到防止用户用其他openwrt sdk编译出来的固件刷新我们的系统,以及防止升级软件被破坏。
文档需要用到的文件及在sdk中的路径(某些文件路径可能随项目的不同而改动):
./package/ralink/ui/luci-mtk/src/modules/admin-full/luasrc/controller/admin/
./target/linux/ramips/image/ Makefile
./package/base-files/files/lib/
./package/base-files/files/lib/
./package/base-files/files/sbin/sysupgrade
./target/linux/ramips/base-files/lib/
./target/linux/ramips/base-files/lib/upgrade/
文档正文:

作为整个流程的开始,。
这是一个lua文件,很容易在function index函数中找到系统升级功能的入口函数:action_flashops。在这个函数中首先通过fp = (image_tmp, "w")打开升级临时文件:/tmp/,打开后通过fp:write(chunk)写入页面传进来的升级文件。到这里,接受升级文件完成。


在函数image_supported()中进行检测,这个函数通过image magic number来检测升级文件是否合法。函数image_supported(),
,获取board name,ramips_board_name函数从文件/tmp/sysinfo/board_name 中获取board name,若没有则为unknown,并返回给调用者,我用的板是ralink-soc。,用以获取升级文件magic,就是升级文件前4位。,其实就是cat /tmp/. 获取到的内容,通过dd bs=4 count=1,来获取前4位,最后通过hexdump -v -n 4 -e '1/1 "%02x"'处理以十六进制编码返回调用者。获取到的升级文件magic,在platform_check_image函数中与27051956做对比,这个值是在固件编译的时候已经定好了的。如果

openwrt升级功能流程简介 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人1485173816
  • 文件大小18 KB
  • 时间2019-01-10
最近更新