本文共 1436 字,大约阅读时间需要 4 分钟。
硬件配置:设备 WRTnode 2R MT7688AN DDR 256M FLASH 32M
软件环境:Ubuntu 18.04
一、 源码下载
Openwrt源码由git管理,使用git下载openwrt源码
1、安装相关工具
$ sudo apt-get update
$ sudo apt-get install build-essential libncurses5-dev zlib1g-dev gawk git gettext libssl-dev xsltproc wget unzip python
$ sudo apt-get install subversion mercurial
2、检出源码
$ mkdir openwrt
$ cd openwrt
$ git clone https://git.openwrt.org/openwrt/openwrt.git/
3、更新源码
openwrt源码库一直在更新,因此在每次使用源码前执行下面语句,保证源码更新到最新版本:
$ git pull
二、 更新软件包
Feeds即为包含到你的OpenWrt环境中的额外软件包的索引之类的。最主要的Feeds有以下三个:
'packages' - 路由的基本功能,
'LuCI' - OpenWrt默认的GUI(WEB管理界面), 及
'Xwrt' - 其他的GUI。
一般情况,你至少需要含 'packages' 和 'LuCI'两个Feeds。
下载完feeds之后, (为编译OpenWrt的recipies额外的预定义包) 您可以检查哪些feeds要包括在内。编辑在你的编译环境的根目录下的'feeds.conf.default'文件。
然后使用下列命令开始下载
$ cd openwrt/
$ ./scripts/feeds update –a
在此之后,下载的软件包需要安装。亦即指的下边的命令啦。若路过下边的install命令则后续make menuconfig将无法成功执行!
$ ./scripts/feeds install -a
(注意:这些软件包会被安装到你的openwrt源码中,但如果没有在make menuconfig中配置是不会被编译的)
四、 配置源码
menuconfig是一个基于文本的工具,它处理选择的目标(需要还是不需要)、编译生成软件包(openwrt下是IPKG格式)以及内核选项(编译成模块还是内核)等等。
$ make menuconfig
(这里我们配置为MT7688AN平台)
TargetSystem --->
(X)MediaTek Ralink MIPS
Subtarget--->
(X)MT76x8 based boards
Target Profile (WRTnode 2R)--->
保存退出,
这样就配制出了WRTnode 2R平台的模式。
五、 编译
使用make进行编译,后面的V=s表示显示所有编译过程,这个一定要加上。
$ make V=s
-j选项用于设置编译所用的处理器内核数量,后面加所需处理器数量+1,比如我们是双核且两个都用于编译,所以填3(首次编译不建议使用)
$ make -j 3 V=s
(注意:编译过程中可能会从网上自动下载源码包,有时因为网络不稳定等问题而导致找不到源码包的错误,这是可以根据编译信息在网上下载对应的源码包放在dl/目录下重新编译即可。)
转载地址:http://igqvi.baihongyu.com/