使用ImageBuilder进行OpenWRT Image定制的Tips

1.首先确保使用SDK编译的情况下生成packages以及openwrt-XXX-generic-combined-ext4.img.gz文件 2.确保使用openwrt-XXX-generic-combined-ext4.img能顺利安装系统,安装需要的所有软件包,配置后,所有软件正常运作 3.使用SDK编译生成ImageBuilder 4.在OpenWrt-ImageBuilder-x86_generic-for-linux-i486/target/linux/x86/generic/profiles/下复制000-general.mk --> younamehere.mk 5.修改younamehere.mk中的Generic以及删除不需要的网卡驱动,保留需要的软件包 6.在ImageBuilder根目录下新建ExtraFiles目录,以ExtraFiles为根目录,放置各种配置文件(这些配置文件将会覆盖系统包自动产生的配置文件) 7.需要软链接的情况:在编译的机器上新建相关目录,放置你需要Link的文件,然后在ExtraFiles目录下的相应目录新建Link,然后根据需要赋予其权限(W R X etc) 8.需要删除原始配置文件的情况:在imageBuilder根目录新建文件files_remove,一行一个文件路径(绝对) eg: /lib/modules/3.10.49/ts_bm.ko 修改Makefile,增加+号部分

ifneq ($(USER_FILES),)
$(MAKE) copy_files
endif
+
+ifneq ($(FILES_REMOVE),)
+ @echo
+ @echo Remove useless files
+
+ while read filename; do
+ rm -rfv "$(TARGET_DIR)$$filename";
+ done < $(FILES_REMOVE);
+endif
+
$(MAKE) package_postinst
$(MAKE) build_image

9.make image PROFILE="younamehere" PACKAGES="pkg1 pkg2 pkg3 -pkg4 -pkg5 -pkg6" FILES="ExtraFiles" BIN_DIR="目标目录" FILES_REMOVE="files_remove" 10.查看OpenWRT已经安装软件包:echo $(opkg list_installed | awk '{ print $1 }')