一、安装虚拟机(实体机)
安装虚拟机或者实体机都可以,刚上手建议安装虚拟机,选择16.04版本或者18.04版本都OK,其openwrt开发环境的搭建过程大同小异,看自身情况选择即可。安装教程请参考其他资料,此处不再记录。因之前接触过一些Linux程序,故博主本人采用的是Ubuntu 18.04实体机。
二、换源
为避免后续遇到一些包的下载路径受网络环境限制的困难,故我们首先进行换源操作: ①打开“软件和更新”; ②将原来的“中国的服务器”更改为“mirrors.aliyun.com”; ③输入密码; ④换源完成,返回终端;
三、Ubuntu系统相关配置
1、打开终端,输入指令进行系统更新:
代码语言:javascript复制sudo apt-get update
2、输入指令安装一些库及必备程序: ①Ubuntu 16.04版本
代码语言:javascript复制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 18.04版本
代码语言:javascript复制sudo apt-get install subversion build-essential libncurses5-dev zlib1g-dev gawk git ccache gettext libssl-dev xsltproc zip
四、openwrt源码下载及编译
1、新建一个命名为“openwrt”的文件夹,并cd到该文件夹下运行获取OpenWRT源码指令(此步骤运行时间跟网速有关,多则几小时甚至跑崩,少则几分钟):
代码语言:javascript复制git clone https://git.lede-project.org/source.git lede
2、接上一步运行获取OpenWRT源码完成后,可以看到“openwrt”文件夹里自动生成名为“lede”的文件夹,我们cd到该文件夹,使用“ls”指令查看运行OpenWRT源码后下载回来的资源;
3、 cd到“scripts”脚本目录,下载feeds工具:
代码语言:javascript复制cd openwrt/lede/scripts
代码语言:javascript复制./feeds update -a
代码语言:javascript复制./feeds install -a
4、返回到上一层目录,运行指令进入定制页面:
代码语言:javascript复制 make menuconfig
5、接上一步,进入定制界面后,按空格键选择相应的型号,本次开发使用的硬件为Raspberry Pi 3B(简称树莓派 3B),因此:
①Target System(目标系统)选择Broadcom BCM27XX系列; ②Subtarget(主控芯片)选择BCM2710 boards(64 bit); ③Target Profile(目标配置文件)选择Raspberry Pi 2B-1.2/3B/38 /3CM; ④向右选择“exit”并回车,在跳出的框图中选择“YES”;
6、接下来执行编译指令,两句指令都是对里面的包进行全局编译并展示详细编译信息,然后经过比第三步更冗长的等待,下载内容大概几个G:
代码语言:javascript复制make V=99 或者 make -j1 V=s
7、对上一点补充,编译过程也是资源包下载过程,有许多包的下载链接是直接挂到外网的,我们下载的时候就会受到一些限制,所以经常会遇到加载许久都未能下载完成的情况,这时我们可以进行如下操作: ①按住“Ctrl”键的同时点击资源包链接,该链接就会自动在浏览器中打开,并开始下载资源包;此时,我们就可以按“Ctrl” “C”中断终端的编译进程;
②找到下载完成的资源包并将其复制到“openwrt/lede/dl”目录下;
③进入终端,重新开始输入指令进行编译;如果再遇到相同问题进行同上操作解决问题;
8、编译结束,OpenWRT环境搭建完成。