本帖最后由 99010 于 2012-4-11 17:18 编辑
其实单纯编译openwrt固件很简单,没什么技术含量,除了做SDK,其他的基本属于体力活。
很多初学者弄不明白组件要怎么选择,这里给出一个简单的方法:
以backfire版本的openwrt x86为例(注:x86不需要考虑固件大小,其他路由型号请按照flash大小自行减少组件数量)
1。首先搭建好编译环境,SVN源码并更新到最新。
2。打开源码目录,打开/backfire/target/linux/x86/generic/profiles/000-Generic.mk
默认内容如下:
- #
- # Copyright (C) 2006-2009 OpenWrt.org
- #
- # This is free software, licensed under the GNU General Public License v2.
- # See /LICENSE for more information.
- #
- define Profile/Generic
- NAME:=Generic
- PACKAGES:=kmod-3c59x kmod-e100 kmod-e1000 kmod-natsemi kmod-ne2k-pci \
- kmod-pcnet32 kmod-8139too kmod-r8169 kmod-sis900 kmod-tg3 \
- kmod-via-rhine kmod-via-velocity
- endef
- define Profile/Generic/Description
- Generic Profile
- endef
- $(eval $(call Profile,Generic))
复制代码
直接在PACKAGES:=那里增加组件名字,就像下面的:
- #
- # Copyright (C) 2006-2009 OpenWrt.org
- #
- # This is free software, licensed under the GNU General Public License v2.
- # See /LICENSE for more information.
- #
- define Profile/Generic
- NAME:=Generic
- PACKAGES:=kmod-3c59x kmod-e100 kmod-e1000 kmod-e1000e kmod-natsemi kmod-ne2k-pci \
- kmod-pcnet32 kmod-8139too kmod-r8169 kmod-sis900 kmod-tg3 kmod-r8101 \
- kmod-via-rhine kmod-via-velocity kmod-ide-core kmod-scsi-generic \
- kmod-usb-core kmod-usb-uhci kmod-usb-storage kmod-usb-storage-extras kmod-usb2 \
- kmod-p54-usb kmod-ath9k kmod-ath5k kmod-ath9k-htc wpad \
- kmod-b43 kmod-rtl8180 kmod-rtl8187 kmod-rt73-usb \
- kmod-ata-nvidia-sata kmod-ata-via-sata \
- block-hotplug block-mount badblocks blkid \
- kmod-fs-ext3 kmod-fs-ext4 kmod-fs-ntfs kmod-fs-vfat ntfs-3g \
- kmod-nls-utf8 kmod-nls-cp437 kmod-nls-iso8859-1 \
- luci luci-i18n-chinese luci-app-ddns luci-app-samba luci-app-ushare luci-app-upnp luci-app-wol \
- luci-app-qos vsftpd luci-app-openvirtual** luci-app-p910nd kmod-usb-printer \
- luci-app-hd-idle luci-app-tinyproxy \
- transmission-daemon transmission-remote transmission-web usbutils nano pciutils fdisk \
- iptables-mod-conntrack iptables-mod-conntrack-extra iptables-mod-nat iptables-mod-nat-extra iptables-utils iptables-mod-hashlimit \
- lighttpd lighttpd-mod-fastcgi lighttpd-mod-access lighttpd-mod-alias lighttpd-mod-rewrite lighttpd-mod-redirect \
- mysql-server libncurses libreadline uclibcxx zlib \
- php5 php5-mod-mysql php5-fastcgi php5-mod-ctype php5-mod-session php5-mod-tokenizer php5-mod-mbstring \
- php5-mod-mcrypt php5-mod-pdo-mysql php5-mod-sockets php5-mod-xml php5-mod-gd
- endef
- define Profile/Generic/Description
- Generic Profile
- endef
- $(eval $(call Profile,Generic))
复制代码
3。make menuconfig目录里面选择到x86的时候,就会发现组件都已经全部选上了,退出并保存,make V=99
后记:trunk版本可能会有问题,请自行研究。
请不要胡乱输入以及粘贴、复制等方式灌水
请尊重作者、并共同维护网站的正常阅读,否则账户将会被限制发帖、回帖,并且积分可能会被清零,站内短信以及阅读权限等都会受到影响,谢谢。
具体限制方式:https://www.right.com.cn/forum/thread-8307840-1-1.html
|