本人小白一枚,前几天开始接触OPENWRT,在此之前就看过网上的有关(OPENWRT)OP的文章,关于OP的发展历程,可以查阅相关的资料。个人感觉OP是个十分强大的东西,有很多好玩的东西,奈何人生苦短,知识太多,学不过来,只好学多少用多少。
下面是个人在接触OP的一些曲折历程,各路大牛可以忽略,若有说错请指正。
OP编译过程可以参考wiki:https://wiki.openwrt.org/zh-cn/doc/howto/buildroot.exigence,网站上有对应的叙述。
本次的操作环境是64位的Ubuntu 14.04LTS,路由器是ZBT-WE826-B0,OP版本是CC。
注意事项:
1.在编译过程需要使用非root用户,在Ubuntu系统中默认是非root用户。
2.这里的所有编译指令都是在OpenWrt编译文件的根目录下运行(例如下载源码的解压后的文件夹是openwrt,那么编译目录就是openwrt/)
3.编译系统的绝对路径中不能含有空格。
4.如果是使用Root用户下载了源码,请把下载的源码所有者改为一个非root用户。(sudo chowm -R user user /openwrt/)
过程:
1.准备工作:安装编译所需的工具,在终端输入
sudo apt-get update
sudo apt-get install git-core build-essential libssl-dev libncurses5-dev unzip
sudo apt-get install subversion mercurial
sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev
2.下载源码:需要准备12GB左右的空间,源码体积百兆左右,但是编译过程会产生大量的文件,会使文件夹体积非常大
大部分SVN都是失效的,所以一些老的教程就不能作为参考了,这点要注意。
要是使用git来下载源码。
要下载那个版本可以参考wiki(上面的链接)以CC版本为例,在/home/文件夹下执行
git clone https://www.github.com/openwrt/openwrt
如果下载是否,挂上VPN重试,可能在下载和编译过程中遇到下载失败的问题,VPN是一个不错的解决方法。
3.下载完成后,安装可用的"feeds":上述步骤会产生一个名为openwrt的目录,在终端中输入
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
等待下载完成。
4.配置编译选项:
make menuconfig
用方向键、空格(选择,出现M代表编译但不编译到固件,*号表示编译进固件)、按两下esc返回等操作来配置选项,选择硬件平台、CPU型号等选项。ZBT-WE826-B0的配置如下:
选择Package the OpenWrt-base Toolchain是为了有搭建交叉编译环境方便,不是必选的。
此外,勾选LuCI(网页形式的控制台)还是非常必要的。要勾选(前面出现*号):
LuCI-->1.Collections-->luci
别忘记勾选中文:
LuCI-->2.Modules-->Translations-->Chinese(zh-cn)
最后Save,退出。
以上是基本的固件编译,如果需要其他功能,要再勾选或添加。
5.编译:执行命令
make V=s
make V=99
6.得到固件:
经过上述命令后没有错误提示就表示编译固件成功了,固件在bin目录下的target目录下。
如我的编译后的固件如下图所示,因为我编译过两次不同的flash大小的固件,所以会有两个固件,烧录固件只需要把对应的固件更新到路由器上即可,可以通过web方式和ssh等方法,目前我只用到过web和ssh方式。
7.烧录
通过web方式更新固件(注意第一次刷openwrt系统的步骤会复杂些,我的路由器拿到时就是OP系统的了,所以下面的方式可能不适合初次刷OP系统的朋友,慎重),通过web更新的固件的方式最简单和方便直接连接上路由器进入路由器管理页面,选择系统更新的选项即可。
然后选择Flash image就会进入一个确定界面选择proceed就可以开始升级OP固件,注意要是系统检测到格式不对是不允许进行升级的,所以不用担心刷错固件。
到此小白入门OP就是这样了。