在Ubuntu中编译openwrt(全过程)

在Ubuntu中编译openwrt(全过程)

广西.河池学院

广西重点高校重点实验室培训基地

系统控制与信息处理重点实验室

本片博文来自于河池学院:OpenWRT无线路由组

在Ubuntu系统中搭建OpenWRT开发环境。这是每一个想要学习OpenWRT的学者必须要经历的一个过程,也是会不断重复的过程。编译OpenWRT是真正应用OpenWRT必须经历的一步。下面我就和大家简单介绍一下Ubuntu中编译OpenWRT的方法。

一、搭建OpenWRT前的准备工作

首先,我们打开虚拟机中的Ubuntu,输入密码进入主界面:

 在Ubuntu中编译openwrt(全过程)

接着,点击虚拟机,选择安装VMware Tools(虚拟机增强工具):

在Ubuntu中编译openwrt(全过程)

将画圈的压缩包复制到桌面并解压(解压选项为——提取到此处):

在Ubuntu中编译openwrt(全过程)

在Ubuntu中编译openwrt(全过程)

打开解压后的文件夹,并在其中打开终端。

在Ubuntu中编译openwrt(全过程)

在打开的终端输入ls,回车之后在输入sudo ./vmware-install.pl,然后再回车,输入密码:

在Ubuntu中编译openwrt(全过程)

在停顿时输入yes,直到出现命令端。

在Ubuntu中编译openwrt(全过程)

在进行到这一步后,VMware Tools便安装完成了,当VMware Tools安装完成后,就可以从主机复制代码(小文件)过去,不可以复制大的文件,同时全屏时虚拟机就可以填充屏幕了。

接下来还需要进行换源,换源的原因是可以加快下载速度,节约时间,不换对OpenWRT的搭建也没有什么影响。

  在Ubuntu中编译openwrt(全过程)

在Ubuntu中编译openwrt(全过程)

在Ubuntu中编译openwrt(全过程)

并不强求这个网络,只是这个网络我感觉比较快,但是不强求。

在Ubuntu中编译openwrt(全过程)

在Ubuntu中编译openwrt(全过程)

 二、搭建OpenWRT开发环境

之后回到终端,输入执行 sudo apt-get update(检查软件包的更新):

在Ubuntu中编译openwrt(全过程)

 完成后执行   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        (ubuntu 16.04版本)

下载的版本和Ubuntu有关,需要下载Ubuntu版本的OpenWRT开发环境。

 sudo apt-get install subversion build-essential libncurses5-dev zlib1g-dev gawk git ccache gettext libssl-dev xsltproc zip       (ubuntu 18.04版本)

 三、下载OpenWRT源码

下载完毕后关闭终端,在桌面创建一个新的名为OpenWRT的文件夹,在其中打开终端输入   下载openwrt源码git clone https://git.lede-project.org/source.git lede

OpenWRT的源码版本不同可能会导致编译OpenWRT时出现问题。

git clone -b openwrt-18.06 在Ubuntu中编译openwrt(全过程)https://github.com/openwrt/openwrt.git 这一行代码可以调用下载18.06版本的OpenWRT源码。

或者去官网找所需要的版本。

ps:这里作者有一个小问题。创建的OpenWRT目录最好是放在用户的根目录下(主要是不能放在中文路径下,放在中文路径的目录下没有问题,但是后期偶尔会出现错误)。

在Ubuntu中编译openwrt(全过程)

四、编译OpenWRT

首先,在OpenWRT文件夹中的lede文件夹中打开终端。

 在Ubuntu中编译openwrt(全过程)

接着,在终端输入 ls ,检查其中有没有scripts目录(没有就从重新下载源码开始),输入 cd scripts/,进入目录scripts:

 在Ubuntu中编译openwrt(全过程)

接着,输入  ./feeds update -a  更新feeds.conf中列出的所有包,否则将更新所指定的包(这一步很重要,而且容易出问题,会导致接下来OpenWRT编译时缺少依赖)。更新完成后再输入  ./feeds install -a  使用-p 选项从所有包或从指定包中安装所有包。

待安装完毕后,输入 cd.. 返回上一层。(如果安装这一步出现问题,可以看看我的其他博文,可能可以解决)

在终端输入 make menuconfig 进入页面选择接下来你所使用的设备的机型(下面的例子为树莓派3B型):

在Ubuntu中编译openwrt(全过程)

现在是选择好的情况,和初次进入此页面的有一定差异。

然后更改选项Target system项、Subtarget项 以及 Target Profile项(回车进入,上下移动,后面不再重复),根据你所选用的设备来进行更改。

更改luci选项设置(空格键确认)。进入下面第三个图界面需连按俩下空格直至括号内变成 * 号。

在Ubuntu中编译openwrt(全过程)

在Ubuntu中编译openwrt(全过程)

在Ubuntu中编译openwrt(全过程)

改完后移动至Exit退出,选择yes保存选择。

最后,再终端输入  make V=99  进行openwrt的第一次编译。在Ubuntu中编译openwrt(全过程)

 (V=99中的V是大写的V)

第一次编译会下载很多东西,且因为是在下载国外的一些文件耗时很长(快的话5,6个小时是常见的),建议各位选择好一点的网络进行下载。

第一次编译完成后,以后再进行编译就会很快了。

ps:这里作者有一个小问题。