1、安装Ubuntu14.04
2、安装编译Openwrt所需组件
sudo apt-get install g++ libncurses5-dev zlib1g-dev bison flex unzip autoconf gawk make gettext gcc binutils patch bzip2 libz-dev asciidoc subversion sphinxsearch libtool sphinx-common git
3、下载源代码
建立存放源代码的目录
mkdir Openwrt
sudo chmod 777 Openwrt
cd Openwrt
选择你想要的版本然后执行下载命令,下载结束会显示版本号:
Trunk版下载命令:
svn co svn://svn.openwrt.org/openwrt/trunk/
Backfire版下载命令:
svn co svn://svn.openwrt.org/openwrt/branches/backfire/
添加软件扩展包,将feeds.conf.default修改为feeds.conf:
cp feeds.conf.default feeds.conf
更新扩展,安装扩展:
scripts/feeds update -a
scripts/feeds install -a
4、配置
默认配置
make defconfig
配置菜单
make menuconfig
添加luci
LuCI--->Collections ---> <*> luci
添加luci的中文语言包
LuCI--->Translations ---> <*>luci-i18n-chinese
添加DDNS
LuCI--->Applications ---><*>luci-app-ddns.
添加硬盘休眠
LuCI--->Applications ---><*> luci-app-hd-idle
添加openvpn
LuCI--->Applications ---><*> luci-app-openvpn
添加打印服务器
LuCI--->Applications ---><*> luci-app-p910nd
添加QOS
LuCI--->Applications ---><*> luci-app-qos
添加samba
LuCI--->Applications ---><*> luci-app-samba
添加upnp
LuCI--->Applications ---><*> luci-app-upnp
添加网络唤醒
LuCI--->Applications ---><*> luci-app-wol
添加USB挂载
Base system ---><*>block-mount
添加硬盘格式支持
Kernel modules ---> Filesystems ---><*> kmod-fs-ext4
添加UTF8编码
Kernel modules ---> Native Language Support ---><*> kmod-nls-utf8
添加USB扩展支持
Kernel modules ---> USBSupport ---> <*> kmod-usb-storage-extras
添加打印驱动
Kernel modules ---> USBSupport ---> <*> kmod-usb-printer
添加格式化工具
Utilities --->Filesystem ---> <*> badblocks
添加复位键支持
Utilities ---> <*>restorefactory
添加transmission下载工具
Network --->BitTorrent ---> <*> transmission-daemon
Network --->BitTorrent ---> <*> transmission-remote
Network --->BitTorrent ---> <*> transmission-web
添加FTP
Network ---> FileTransfer ---> <*> vsftpd
Network ---> FileTransfer ---> <*> wget
添加blkid,可查看挂载硬盘UUID
Utilities ---> disc ---> <*> blkid
添加minidlna
Libraries ---> <*> libffmpeg-mini
LuCI--->Applications ---><*> luci-app-minidlna
5、编译
开始编译:
make
或者
make V=99
或者
make -j V=99
make是编译命令,V=99表示输出debug信息,V一定要大写,如果要让CPU全速编译,就加上 -j 参数,第一次编译最好不带-j参数。
编译过程保持联网(会从网上下载一些源码包),所以断网可能造成编译中断,编译所需时间与电脑CPU及网络环境有很大关系,第一次编译时间较久,快 则半小时长则2、3个小时,之后的编译所需时间较短。编译完成后会在源码文件目录出现bin文件夹(如trunk/bin/XXXX),如果你手里的路由 是原版固件需要刷OpenWrt需要选用XXX-factory.bin固件,如果路由已经刷了OpenWrt,选用升级固件XXXX- sysupgrade.bin升级用的,在升级界面升级即可。进到文件夹找到你需要的固件传出(通过邮箱、网盘、U盘等),开始刷机吧。
6、个性化设置
1.添加一键无线
在如下位置新建一个文件,文件名为01onoff
/target/linux/ar71xx/base-files/etc/hotplug.d/button/01onoff
内容如下:
#!/bin/sh
[ "$BUTTON" = "wps" ]&& [ "$ACTION" = "pressed" ] && {
SW=$(uci get wireless.@wifi-device[0].disabled)
[ $SW == '0' ] && uci setwireless.@wifi-device[0].disabled=1
[ $SW == '0' ] || uci setwireless.@wifi-device[0].disabled=0
wifi
}
保存后设置权限为0777
2.修改无线默认启动发射功率及加密
/package/kernel/mac80211/files/lib/wifi/mac80211.sh
修改内容:注意对齐,参考修改
在文件最后修改以下内容:
config wifi-device radio$devidx
optiontype mac80211
optionchannel ${channel}
optionmacaddr $(cat/sys/class/ieee80211/${dev}/macaddress)
optionhwmode 11${mode_11n}${mode_band}
$ht_capab
# REMOVETHIS LINE TO ENABLE WIFI:
optiondisabled 0
optiontxpower 17
option htmode HT40-
option noscan 1
option country CN
config wifi-iface
optiondevice radio$devidx
optionnetwork lan
optionmode ap
optionssid OpenWrt_$(cat/sys/class/ieee80211/${dev}/macaddress|tr "[a-z]""[A-Z]"|sed 's/://g'|cut -c7-12)
optionencryption psk2 --------------------加密方式
optionkey xxxxxxx ----------------------密码(8位)
EOF
devidx=$(($devidx + 1))
done
}
3.修改路由器名字和时区
/package/base-files/files/etc/config/system
修改内容:
config system
optionhostname OpenWrt
optionzonename Asia/Shanghai
optiontimezone CST-8
4.默认启动DHCP
/package/network/services/dnsmasq/files/dhcp.conf
config dhcp lan
optioninterface lan
option start 100
option limit 150
optionleasetime 12h
optionignore 0 -----------------添加这个
5、当前Openwrt固件版本有个Bug,就是往DLNA目录下添加文件,不能自动更新。经验证可以用下面方法解决:
修改/feeds/oldpackages/multimedia/minidlna/minidlna.init在minidlna启动时添加-R参数
start() {
……
service_start /usr/bin/minidlna -R -f "$MINIDLNA_CONFIG_FILE"
}
2、安装编译Openwrt所需组件
sudo apt-get install g++ libncurses5-dev zlib1g-dev bison flex unzip autoconf gawk make gettext gcc binutils patch bzip2 libz-dev asciidoc subversion sphinxsearch libtool sphinx-common git
3、下载源代码
建立存放源代码的目录
mkdir Openwrt
sudo chmod 777 Openwrt
cd Openwrt
选择你想要的版本然后执行下载命令,下载结束会显示版本号:
Trunk版下载命令:
svn co svn://svn.openwrt.org/openwrt/trunk/
Backfire版下载命令:
svn co svn://svn.openwrt.org/openwrt/branches/backfire/
添加软件扩展包,将feeds.conf.default修改为feeds.conf:
cp feeds.conf.default feeds.conf
更新扩展,安装扩展:
scripts/feeds update -a
scripts/feeds install -a
4、配置
默认配置
make defconfig
配置菜单
make menuconfig
添加luci
LuCI--->Collections ---> <*> luci
添加luci的中文语言包
LuCI--->Translations ---> <*>luci-i18n-chinese
添加DDNS
LuCI--->Applications
添加硬盘休眠
LuCI--->Applications
添加openvpn
LuCI--->Applications
添加打印服务器
LuCI--->Applications
添加QOS
LuCI--->Applications
添加samba
LuCI--->Applications
添加upnp
LuCI--->Applications
添加网络唤醒
LuCI--->Applications
添加USB挂载
Base system
添加硬盘格式支持
Kernel modules
添加UTF8编码
Kernel modules
添加USB扩展支持
Kernel modules
添加打印驱动
Kernel modules
添加格式化工具
Utilities
添加复位键支持
Utilities
添加transmission下载工具
Network
Network
Network
添加FTP
Network
Network
添加blkid,可查看挂载硬盘UUID
Utilities
添加minidlna
Libraries
LuCI--->Applications
5、编译
开始编译:
make
或者
make
或者
make -j V=99
编译过程保持联网(会从网上下载一些源码包),所以断网可能造成编译中断,编译所需时间与电脑CPU及网络环境有很大关系,第一次编译时间较久,快 则半小时长则2、3个小时,之后的编译所需时间较短。编译完成后会在源码文件目录出现bin文件夹(如trunk/bin/XXXX),如果你手里的路由 是原版固件需要刷OpenWrt需要选用XXX-factory.bin固件,如果路由已经刷了OpenWrt,选用升级固件XXXX- sysupgrade.bin升级用的,在升级界面升级即可。进到文件夹找到你需要的固件传出(通过邮箱、网盘、U盘等),开始刷机吧。
6、个性化设置
1.添加一键无线
在如下位置新建一个文件,文件名为01onoff
/target/linux/ar71xx/base-files/etc/hotplug.d/button/01onoff
内容如下:
#!/bin/sh
[ "$BUTTON" = "wps" ]&& [ "$ACTION" = "pressed" ] && {
SW=$(uci get wireless.@wifi-device[0].disabled)
[ $SW == '0' ] && uci setwireless.@wifi-device[0].disabled=1
[ $SW == '0' ] || uci setwireless.@wifi-device[0].disabled=0
wifi
}
保存后设置权限为0777
2.修改无线默认启动发射功率及加密
/package/kernel/mac80211/files/lib/wifi/mac80211.sh
修改内容:注意对齐,参考修改
在文件最后修改以下内容:
config wifi-device
$ht_capab
config wifi-iface
EOF
}
3.修改路由器名字和时区
/package/base-files/files/etc/config/system
修改内容:
config system
4.默认启动DHCP
/package/network/services/dnsmasq/files/dhcp.conf
config dhcp lan
5、当前Openwrt固件版本有个Bug,就是往DLNA目录下添加文件,不能自动更新。经验证可以用下面方法解决:
修改/feeds/oldpackages/multimedia/minidlna/minidlna.init在minidlna启动时添加-R参数
start() {
}