使用Ubuntu14.04,路由器是Netgear WNDR3800,Openwrt版本是barrier_breaker
一、获取Openwrt源码
Openwrt项目地址:
下载barrier_breaker源码
svn checkout svn://svn.openwrt.org/openwrt/branches/barrier_breaker
进入barrier_breaker文件夹更新扩展
cd barrier_breaker
./scripts/feeds update -a
./scripts/feeds install -a
二、Openwrt准备
确定Ubuntu中已经安装了以下库
sudo apt-get install g++
sudo apt-get install libncurses5-dev
sudo apt-get install zlib1g-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install unzip
sudo apt-get install autoconf
sudo apt-get install gawk
sudo apt-get install make
sudo apt-get install gettext
sudo apt-get install gcc
sudo apt-get install binutils
sudo apt-get install patch
sudo apt-get install bzip2
sudo apt-get install libz-dev
sudo apt-get install asciidoc
sudo apt-get install subversion
sudo apt-get install sphinxsearch
sudo apt-get install libtool
sudo apt-get install sphinx-common
三、Openwrt系统修改
1、修改hostname
找到文件
/barrier_breaker/package/base-files/files/etc/config
修改为:
config system
option hostname your hostname
option timezone UTC
2、修改设备型号
找到文件
/barrier_breaker/feeds/luci/modules/base/luasrc/sys.lua
修改为:
local model = "your model"
--luci.util.pcdata(fs.readfile("/tmp/sysinfo/model")) or
--cpuinfo:match("machine\t+: ([^\n]+)") or
--cpuinfo:match("Hardware\t+: ([^\n]+)") or
--luci.util.pcdata(fs.readfile("/proc/diag/model")) or
--nixio.uname().machine or
--system
3、修改ssid
找到文件
/barrier_breaker/package/kernel/mac80211/files/lib/wifi/mac80211.sh
修改为:
config wifi-iface
option device radio$devidx
option network lan
option mode ap
option ssid your ssid
option encryption none
四、Openwrt编译
进入图形配置界面
make menuconfig
进行一些必要的配置:
Target System→你的芯片
Target Profile→你的设备
Luci→Translations→chinese
Luci→Themes→bootstrap
保存后
make V=s
V=s是打印编译log。编译过程中会继续下载相关库,如果网络不稳定会出现错误,通过log可以看到错误原因。
第一次编译需要2~3小时,在此基础上的编译大概10分钟左右。所以切记,谨慎使用make clean命令!
在之后的使用中,经常需要重新编译固件,在barrier_breaker这个版本中已经提供了很多插件,在menuconfig中就可以选择并在编译时进行集成,好处很多:第一opkg因为网络原因不稳定,经常无法获取软件列表;第二、集成编译的系统大小会比单独安装更小!