找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 42782|回复: 27

自己解压修改dd-wrt的固件

[复制链接]
发表于 2006-12-22 16:31:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
先下载解压和压缩工具的源代码,地址是:
http://www.bitsum.com/files/firmware_mod_tools.tar.gz
在linux下解开后,进入它的src目录,然后make,会自动编译这个工具,编译好以后,可以执行以下的步骤。

解压 firmware (extract_firmware.sh)

只需要简单的运行extract_firmware.sh和两个参数。

$ ./extract_firmware.sh firmware.bin working_directory/

firmware.bin  
                 需要解开的固件文件名

working_directory  
                 文件解开后保存的目录
It doesn't matter which firmware image you supply, i.e. for a WRT54G or an ASUS WL-500G. These images are usually all the same and differ only in the header format. The rebuilding process will create images for the various models.
An extraction log is created as extract.log.


修改  firmware (手动或者用 ipkg_install.sh脚本)

解开后的全部文件保存在先前指定的目录中,进入目录,可以看到两个目录,一个是rootfs,一个是image_parts。




  • rootfs/
      • 这个目录中保存的是固件中的文件,可以修改这里
  • image_parts/
      • 其中保存的是固件的引导内核
你可以直接在rootfs目录中添加和删除文件。

也可以使用ipkg_install.sh脚本来安装一个你所需要的软件包到rootfs中。
更多的软件包可以看后面的网址 (不一定会全部工作), http://ftp.selfnet.de/pub/openwrt/backports/rc5/ . 命令如下e:
$ ./ipkg_install.sh some_package-1.2.5.ipk working_directory/

some_package-1.2.5.ipkg  
                你所要安装的软件包名
working_directory  
                执行extract_firmware.sh 时指定的目录


重新打包 firmware (使用build_firmware.sh)

重新打包仍然简单,直接运行  build_firmware.sh 和参数就行了。

$ ./build_firmware.sh output_directory/ working_directory/

output_directory  
                       修改后的固件文件保存目录。
working_directory
                       是执行extract_firmware.sh时指定的目录

打包会建立一个叫 build.log的文件,你可以看一下打包是否成功。


通过此功能,可以在现有的固件中加入自己喜欢的功能,或者修改程序的界面、文字等,达到定制的作用。
routeros
发表于 2006-12-25 12:10:51 | 显示全部楼层
需然我不懂...但是还要顶!!!!!!!!!!!!!!
routeros
回复

使用道具 举报

发表于 2007-1-12 17:54:47 | 显示全部楼层
哈哈,太美厉害,这个要看看了,最近路由器就是刷了V24,感觉还不错,界面做的比较好
routeros
回复

使用道具 举报

发表于 2007-1-24 22:46:22 | 显示全部楼层
嗯,用你的工具试了试解压西红柿的Firmware, 没成功,和dd-wrt一样的硬件支持,居然不是统一的文件结构?
routeros
回复

使用道具 举报

发表于 2007-3-8 13:01:46 | 显示全部楼层
iabin@jiabin-desktop:~/Desktop/firmware/src$ make
gcc -I. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2   -c -o asustrx.o asustrx .c
gcc asustrx.o -lz -o asustrx
/usr/bin/ld:找不到 -lz
collect2: ld 返回 1
make: *** [asustrx] 错误 1

编译不成功?????
routeros
回复

使用道具 举报

发表于 2007-3-9 20:14:08 | 显示全部楼层
少了一个库晕!加了就好了!
routeros
回复

使用道具 举报

发表于 2007-3-20 16:09:52 | 显示全部楼层
我也遇到你的问题。少了那个库呀!能告诉我吗?
routeros
回复

使用道具 举报

发表于 2007-4-24 06:22:09 | 显示全部楼层
routeros
回复

使用道具 举报

发表于 2007-7-18 21:44:37 | 显示全部楼层
routeros
回复

使用道具 举报

发表于 2007-9-23 23:02:56 | 显示全部楼层

zlib

zlib,zlib
routeros
回复

使用道具 举报

发表于 2008-4-28 11:06:08 | 显示全部楼层

dd-wrt固件修改问题

版主您好:
    我是一个无线发烧友,对使用方面没有问题,但是想要研究研究内部结构以及自己想在自己家里的router上修改成自己做的页面,不知道
怎么样才能实现呢?
    我看了您的文章,非常好,但是不知道   
* rootfs/
          o
                + 这个目录中保存的是固件中的文件,可以修改这里
    * image_parts/
          o
                + 其中保存的是固件的引导内核
rootfs/image_parts里写什么内容,我用asp写的小程序怎么样才能被调用呢?
我看dd-wrt源码有很多都是用asp写的,所以我就修改了几个文件,但是就是找不到存放的位置
也不知道怎么样才能把我修改的asp文件加载到设备里面呢?
我用的是netcore nw618设备
请高手们多多指点
routeros
回复

使用道具 举报

发表于 2008-5-5 09:32:02 | 显示全部楼层
先支持下
在慢慢看
不晓得看不看的懂
routeros
回复

使用道具 举报

发表于 2008-6-2 15:08:01 | 显示全部楼层
牛B
routeros
回复

使用道具 举报

发表于 2008-7-18 18:03:31 | 显示全部楼层
慢慢学习,还不敢自己修改。。。。。。。。
routeros
回复

使用道具 举报

发表于 2008-7-27 07:10:38 | 显示全部楼层
不是很懂,太复杂了,简单点好,最好有做好的,发来共享
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-3-28 18:52 , Processed in 0.157537 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表