这个环境搭建网上有很多的教程,但是没有一个教程是能100%搭建成功的。于是我自己从零开始重新搭建了数次。我使用的是Ubuntu1404,之前也尝试使用过Ubuntu1804。 但是1804这个版本千万别使用,太坑了。1804里面的程序太新了,需要把版本降下来才能编译openwrt。坑爹的。
1、首先更换软件下载源。我选择是国内的,速度快一点。
这个一定要改,默认的是美国的服务器,下载非常慢。换成国内比如阿里云的服务器,速度真不是几倍的提升,而是十几倍的提升。
在 设置--软件更新里面就可以改。。。。。
2、刷新列表
安装前先刷新一下apt-get列表,这里在替换不同的软件下载源之后都要刷新一次。不替换也要刷新一次。
sudo apt-get update
sudo apt-get install
3、接着可以进行正常搭建环境了。(确保都 安装成功)
可以一起安装,这个有点多,但是可以保证编译的过程中不会有问题。
sudo apt-get install git gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils libncurses5-dev ncurses-term zlib1g-dev gawk asciidoc libz-dev git-core uuid-dev libacl1-dev liblzo2-dev pkg-config libc6-dev curl libxml-parser-perl ocaml-nox
也可以分开安装
sudo apt-get install git
sudo apt-get install vim-gtk
sudo apt-get install python
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install binutils
sudo apt-get install patch
sudo apt-get install bzip2
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install make
sudo apt-get install autoconf
sudo apt-get install gettext
sudo apt-get install texinfo
sudo apt-get install unzip
sudo apt-get install sharutils
sudo apt-get install subversion
sudo apt-get install libncurses5-dev
sudo apt-get install ncurses-term
sudo apt-get install zlib1g-dev
sudo apt-get install gawk
sudo apt-get install asciidoc
sudo apt-get install libz-dev
sudo apt-get install git-core
sudo apt-get install uuid-dev
sudo apt-get install livacl1-dev
sudo apt-get install liblzo2-dev
sudo apt-get install pkg-config
sudo apt-get install libc6-dev
sudo apt-get install cuel
sudo apt-get install libtool
sudo apt-get install libssl-dev
sudo apt-get install libssl0.9.8
sudo apt-get install xz-utils
4、这个环境的下载需要一点时间,当下载好之后,就可下载openwrt的源码了。
2018年,OpenWrt和LEDE宣布合并了,openwrt的下载发生了改变,之前git clone git://git.openwrt.org/15.05/openwrt.git这种下载方式已经不能用。
2019目前下载的方法如下(不要在root账户下下载,不然后面编译会出问题,权限不行啊,环境缺失之类的,具体原因不知道,我也是在学习中,出问题之后我删除了root下载的openwrt,然后重新下载了一次,编译就没问题了):
git clone git://github.com/openwrt/openwrt.git
或者
git clone https://git.lede-project.org/source.git lede
文件大概400多M
(私人笔记:git clone https://github.com/Yfi-Simpool/openwrt)
5、更新第三方的包,非官方维护的包,都放在feeds目录里面
这个是爱好者搞得包,比如luci。。package里面是官方的包。这个是歪国人的习惯,版权问题等,把feeds和package分开了。
./scripts/feeds update -a
./scripts/feeds install -a
6、检查编译环境是否安装成功
make deconfig
如果没有成功会提示没有成功,基本上3里面的某个东西没有安装好,找到相应的安装就可以了。如果只有提示make -j1 V=s ,先忽略,执行下一步。
如果安装好了会进入config界面。
下次直接使用
make menuconfig
就可以了
7、接下来准备编译openwrt
因为openwrt是需要在硬件上运行的,因此这里的编译有点像单片机一样。因为openwrt只是一个操作系统,那么操作系统肯定支持的硬件,我们需要根据自己的硬件编译相应的代码。我使用的mt7688,因此后面都会围绕mt7688来编译。
在make menuconfig里面我们设置如下。
配置好之后保存退出。
最后运行
make V=99
然后就是等待3小时的编译过程。之所以需要这么久的编译,是因为大部分的时间系统都在下载文件到dl文件夹中(编译前文件400M左右,编译结束后文件8G,大部分时间都在下载这几G的东西),这个文件夹的东西也可以去官网下载,复制进去,这样编译就快一点了。