Cisco/Linksys在2003年发布了WRT54G这款无线路由器,同年有人发现它的IOS是基于Linux的,然而Linux是基于GPL许可证发布的,按照该许可证Cisco应该把WRT54G 的IOS的源代码公开。2003年3月, Cisco迫于公众压力公开了WRT54G的源代码。此后就有了一些基于Cisco源码的第三方路由器固件,OpenWrt就是其中的一个。
OpenWrt的特点:
- 可扩展性好,可以在线安装您所需要的功能,目前有1000多个功能包可选;
- 是一台完整的Linux工作站,文件系统可读可写,便于开发者学习和实践;
现在有越来越多的Maker开始折腾OpenWrt,但作为一个Maker新手来讲,在网上还是很难找到一份系统的入门级资料。查找资料很辛苦,而且OpenWrt的门槛相对较高,希望这篇文章所提供的从零开始学OpenWrt编译 + 刷机 + 使用教程能降低新手们的入门难度,当然,编译过程非必须,一般的路由都可找到可用的稳定固件直接刷机。
第一部分:搭建编译环境
1、安装Ubuntu(编译需要Linux环境),到其官网下载,版本根据自己所需选择即可。可以选择安装到虚拟机或者物理机,图形化安装而且是中文版,连安装都搞不定的,可以关闭本页面了;
2、切记不要改动软件源,同时按住Ctrl + Alt + T,调出终端;
3、逐条输入下列命令(及时验证是否安装成功):
- 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源码并编译
OpenWrt源码分两种,一种是最新但不是最稳定的Trunk开发版,一种是最稳定的Backfire版,建议下载官方源码。下载前先在本地创建文件夹:
- mkdir openwrt
- sudo chmod 777 openwrt
- cd openwrt
svn co svn://svn.openwrt.org/openwrt/trunk/
svn co svn://svn.openwrt.org/openwrt/branches/backfire/
cp feeds.conf.default feeds.conf
- ./scripts/feeds update -a
- ./scripts/feeds install -a
make defconfig
make menuconfig
make
make V=99
make -j V=99
make是编译命令,V=99表示输出debug信息,V一定要大写,如果要让CPU全速编译,就加上 -j 参数,第一次编译最好不带-j参数。
- Web上传固件更新
- PFTP上传固件更新
- 编程器写入固件
- SSH登录通过命令行控制
- Web登录通过Web界面设置
- ssh –l root 192.168.1.1 //Linux
- ssh root@192.168.1.1 //Mac
- opkg update //更新软件包列表
- opkg install //在线安装软件包
- opkg remove //移除软件包