|
先下载解压和压缩工具的源代码,地址是:
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的文件,你可以看一下打包是否成功。
通过此功能,可以在现有的固件中加入自己喜欢的功能,或者修改程序的界面、文字等,达到定制的作用。 |
|