首先说明一下我的环境是ubuntu16.04版本的,建议用本教程的改成16.04,当然不改能编译成功的更好,本人没试过其他版本能不能编译成功。
1. 打开ubuntu命令终端输入以下命令更新一下。
sudo apt-get update
2. 升级
sudo apt-get upgrade
3. 配置编译环境,安装编译所需要的一些工具。
sudo apt-get install 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
4. 新建一个目录用于存储openwrt源代码,这里我新建project目录并设置为可读可写可执行。
mkdir project
sudo chmod 777 project
5. 进入到project目录下并下载openwrt源码。
cd project
git clone https://git.lede-project.org/source.git lede
(以下更换源不是必须的)如果下载代码的速度很慢的话可以考虑换源,在ubuntu中找到软件和更新然后点击,在弹出款中的Download from下拉框中选择other ,最后在新的弹出窗口中点击Slect Best Server。
6. 当我们下载好源码后输入以下两条命令:
./scripts/feeds update -a
./scripts/feeds install -a
7. 接下来执行下面这条命令来选择系统的一些参数,我们配置前面三个就可以了,如下图所示。如何有其他需要都可以在这个配置界面做相应的选择,然后退出保存。(注意:上下左右键是用来移动光标,空格键是用来选定,当某项前面是*或者x的时候就说明是选定了。)
make menuconfig
8. 编译(第一次编译不要加-j这些参数,之后编译的话可以视你的虚拟机处理器数而定,添加相应的参数以提高编译的速度。通常在这条命令后面加-j2、-j4。)
make V=99
另外:在我们编译过程中很有可能出现某些包无法下载或等了很久都没有下好,如下图情况时,我们可以复制箭头所指的那个链接粘贴到浏览器地址栏然后回车。然后就会弹出下载对话框,当下载好之后我们可以先暂停此时的编译用ctrl+c组合件。接着我们把刚才下载好的压缩包拷贝到源码的dl文件夹下,这时我们可以用make V=99再次编译。