欢迎来到天天文库
浏览记录
ID:9091112
大小:26.50 KB
页数:2页
时间:2018-04-17
《路由器固件的解包与打包》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、路由器固件的解包与打包一、概述当前大学生都被校园网的客户端困扰,然而南京工程学院公布了Linux客户度解决方案,或者Mentohust解决方案,可以在Ubuntu系统的计算机上运行了。但进一步的工作就是如何令其在路由器上工作,以达到真正的路由功能。假定笔者已经把电脑上完美运行的客户端进行了交叉编译,生成了要在路由上运行的拨号程序(假定为Client),且笔者的路由器有合适的固件(假定为firm.bin)。那么要在路由器上运行Client有三种方法:1.可以把Client上传到路由器的/jffs目录下。(本文不讨论这种情形)2.刷写dd后,由于剩余容量太小导致无法加载jffs,那么每次启
2、动路由后,可以将程序Client上传到刷写了firm.bin路由的/tmp目录下,然后令其运行。简单的说,就是在内存里运行Client。其缺点就是每次路由断电,你必须重新上传。(本文不讨论这种情形)3.当路由器无法加载jffs时,可以考虑将Client程序增添至固件,并且在自启动命令里输入正确的命令方式,以达到每次路由插上电,都可以自动运行拨号程序的完美效果。以下讨论的为如何将Client固化至固件的方法。所需软件为firmware-mod-kit,大致步骤为:1.先用解包软件解包路由器固件将会得到固件核心文件。2.再把Client复制到固件的某个文件夹内,且注意赋予可执行的权限。3.
3、用build-ng.sh进行最终的封包,生成新的固件。操作环境:Ubuntu11.04版参考资料:http://code.google.com/p/mentohust-wrt/http://code.google.com/p/firmware-mod-kit/FirmwareModificationKit并感谢第一个项目的作者给我的指导和帮助。我只是把他没有写明白的步骤,以我自己的理解方式重述而已。二、详细步骤1.首先下载firmware-mod-kit封包软件,并进行编译,将会得到所需文件。1.1下载firmware-mod-kit封包软件并在终端窗口里输入以下命令:svncheck
4、outhttp://firmware-mod-kit.googlecode.com/svn/firmware-mod-kit-read-only耐心的等待之后,会在你的本地硬盘上生成一个目录firmware-mod-kit-read-only,其中包含branches,tags,trunk,wiki四个文件夹。特别地,进入到trunk文件夹中会看到src文件夹和build-ng.sh和extract-ng.sh等等文件。1.2编译firmware-mod-kit软件,在终端窗口里进入到/firmware-mod-kit-read-only/trunk/src目录,并且输入命令./con
5、figure,一切正常后,请继续输入命令make,耐心等待其编译成功。特别地,如果./configure失败,说明你的Ubuntu系统里缺少某些东西,请参看http://code.google.com/p/firmware-mod-kit/wiki/Documentation?tm=6ForUbuntu:$sudoapt-getinstallsubversionbuild-essentialzlib1g-devliblzma-dev2.将原始固件firm.bin复制到/firmware-mod-kit-read-only/trunk/目录下,或者另外建个文件夹(假定为/firmware
6、-mod-kit-read-only/trunk/firm,以下以此种情形讲解)。现在,原始固件firm.bin已经在目录/firmware-mod-kit-read-only/trunk/firm/下了。3.在终端窗口里进入到/firmware-mod-kit-read-only/trunk/目录。输入./extract-ng.sh./firm/firm.bin来解包原始固件。耐心的等待之后,会在/firmware-mod-kit-read-only/trunk/下生成一个新目录fmk/特别地,因为需要管理员权限,可能运行中间需要你输入管理员密码进入/fmk/目录里将会看到三个文件夹
7、image_parts,logs,rootfs.继续进入rootfs目录,这里为路由器的根部目录。4.将已经通过了交叉编译的认证客户端程序Client复制到/firmware-mod-kit-read-only/trunk/fmk/rootfs/usr/sbin目录当中,当然也可复制到firmware-mod-kit-read-only/trunk/fmk/rootfs/的其他位置也行。注意,需要管理员权限,并且赋予Client可执行的权限。5
此文档下载收益归作者所有