博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Openwrt源码下载与编译
阅读量:4137 次
发布时间:2019-05-25

本文共 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/

你可能感兴趣的文章
iWatch报错: Authorizationsession time out
查看>>
X-code7 beta error: warning: Is a directory
查看>>
Error: An App ID with identifier "*****" is not avaliable. Please enter a different string.
查看>>
X-code beta 开发iWatch项目,运行没有错误,但是某些操作一点就崩,而且找不错误的原因场景一
查看>>
Xcode 报错: Extra argument in call
查看>>
iTunes Connect 上传APP报错: Communication error. please use diagnostic mode to check connectivity.
查看>>
#import <Cocoa/Cocoa.h> 报错 Lexical or Preprocessor Issue 'Cocoa/Cocoa.h' file not found
查看>>
`MQTTClient (~> 0.2.6)` required by `Podfile`
查看>>
X-Code 报错 ld: library not found for -lAFNetworking
查看>>
Bitcode
查看>>
If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
查看>>
3.5 YOLO9000: Better,Faster,Stronger(YOLO9000:更好,更快,更强)
查看>>
iOS菜鸟学习--如何避免两个按钮同时响应
查看>>
How to access the keys in dictionary in object-c
查看>>
iOS菜鸟学习—— NSSortDescriptor的使用
查看>>
hdu 3787 hdoj 3787
查看>>
hdu 3790 hdoj 3790
查看>>
hdu 3789 hdoj 3789
查看>>
hdu 3788 hdoj 3788
查看>>
zju 1003 zoj 1003
查看>>