openwrt使用image builder实例

openwrt image builder官网地址:
https://wiki.openwrt.org/zh-cn/doc/howto/obtain.firmware.generate
使用说明
make image命令会创建一个只包含必不可少包文件的最小化镜像,这个命令可以通过三个传递过去的参数控制:
make image PROFILE="xxx" - 指定要编译的目标镜像的配置,xxx由第二步第三步可知
make image PACKAGES="ipk" - 要嵌入镜像的包文件的列表,可以添加额外包由第四步可知
make image FILES="" - 要包含进去的自定义文件的目录,由第五步可知
在make命令结束后,生成的镜像会被放到bin目录中。
第一步 系统编译生成 image builder
make menuconfig
第二步 (配置)Profiles
运行make info来获得一个预定义配置的列表
第三步 增加/修改配置
针对预编译包文件brcm47xx-for-Linux-i686的配置被放在target/linux/brcm47xx/profiles中。
记住,要添加一个新的配置,你只需要将一个新的配置文件放入profiles目录中。
这里描述了profiles/100-Broadcom-b43.mk配置文件看起来什么样
define Profile/Broadcom-b43
NAME:=Broadcom BCM43xx WiFi (default)
PACKAGES:=kmod-b43 kmod-b43legacyendefdefine
Profile/Broadcom-b43/DescriptionPackage
set compatible with hardware using Broadcom BCM43xx cardsendef
$(eval $(call Profile,Broadcom-b43))
第四步 (包文件)Packages
当编译一个镜像的时候PACKAGES变量指定了一个要被包含进去的包文件的列表。如果一个包文件的名字前面有一个前缀-,那么这个文件会被从镜像中排除出去。
make image PROFILE=WL500GP PACKAGES="nano open -ppp -ppp-mod-pppoe"
小提示:现在在你路由器上面已经安装的包文件可以通过下面的命令来获得:
echo `opkg list_installed | awk '{ print $1 }'`
小提示:官方镜像中包含的包文件列表可以通过下面的命令获得(在一台Linux主机上面)
echo `wget -qO - http://backfire.openwrt.org/10.03/brcm-2.4/OpenWrt.config | sed -ne 's/^CONFIG_PACKAGE_\([a-z0-9-]*\)=y/\1/ip'`
小提示:如果你想要移除一些默认包文件(例如你不需要pppoe相关的包),修改inclide/target.mk文件中的DEFAULT_PACKAGES and DEFAULT_PACKAGES.router区块。
第五步 文件
一个包含自定义文件的想要加入的目录可以通过使用FILES变量来指定,如果有必要的话自定义文件会替换掉默认已经存在的文件。
mkdir -p files/etc/config
scp [email protected]:/etc/config/network files/etc/config/
scp [email protected]:/etc/config/wireless files/etc/config/
scp [email protected]:/etc/config/firewall files/etc/config/
make image PROFILE=WL500GP PACKAGES="nano open -ppp -ppp-mod-pppoe" FILES=files/
 第六步 清理
想要清理临时编译文件和生成的镜像,使用make clean命令。


你可能感兴趣的:(openwrt_高级开发)