Openwrt源码下载与编译

来源:互联网 发布:淘宝信用值怎么增加 编辑:程序博客网 时间:2024/05/02 01:36

硬件配置:MT7620N    64M  DDR     16M   FlASH

软件环境:Ubuntu  14.04

一、   源码下载

Openwrt源码由svn管理,可用用svn下载trunk(开发板)和稳定版(如:

BarrierBreaker)。做产品开发当然要用稳定版了。

1、安装svn工具

#sudo apt-get  update

#sudo apt-get install  subversion

2、检出源码

svn由很多命令可以用,list(ls)查看目录、checkout(co)检出目录。

---进入工作目录

#cd …/work

---查看当前可用版本

#svn ls svn://svn.openwrt.org/openwrt/branches/

---检出所选版本

#svn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker/

 

由于openwrt一直在维护,代码会随之被改动,所以可以用svn up命令更新当前目录。

#cd  …/work/barrier_breaker/

#svn  up

二、   更新软件包

Feeds即为包含到你的OpenWrt环境中的额外软件包的索引之类的。最主要的Feeds有以下三个:

 'packages' - 路由的基本功能,

 'LuCI' - OpenWrt默认的GUI(WEB管理界面), 及

 'Xwrt' - 其他的GUI。

 一般情况,你至少需要含 'packages' 和 'LuCI'两个Feeds。

 下载完feeds之后, (为编译OpenWrt的recipies额外的预定义包) 您可以检查哪些feeds要包括在内。编辑在你的编译环境的根目录下的'feeds.conf.default'文件。

 

然后使用下列命令开始下载

#cd  …/work/barrier_breaker

# ./scripts/feeds update –a

在此之后,下载的软件包需要安装。亦即指的下边的命令啦。若路过下边的install命令则后续make menuconfig将无法成功执行!(注:可能你需要先运行cd BarrierBreaker进入BarrierBreaker目录才能成功执行下列命令):

#cd  …/work/barrier_breaker

# ./scripts/feeds install -a

 

(注意:这些软件包会被安装到你的openwrt源码中,但如果没有在make menuconfig中配置是不会被编译的)

三、   搭建编译环境

安装 git 工具

$ sudo apt-get install git-core

安装依赖的库文件

$ sudo apt-get install gcc g++ binutilspatch bzip2 flex bison make autoconf gettext texinfo unzip sharutils ncurses-termzlib1g-dev libncurses5-dev gawk

四、   配置源码

下一步是检查编译环境,若可进行编译则生成默认配置:

# make defconfig

若defconfig回显提示缺少软件包或编译库等依赖,则按提示安装所缺软件包或库等即可。

 

menuconfig是一个基于文本的工具,它处理选择的目标(需要还是不需要)、编译生成软件包(openwrt下是IPKG格式)以及内核选项(编译成模块还是内核)等等。

# make menuconfig

(这里我们配置为MT7620N平台)

TargetSystem --->

(X)RalinkRT288x/RT3xxx

Subtarget--->

(X)MT7620nbased boards

保存退出,这样就配制出了MT7620N平台的模式。

五、   编译

使用make进行编译,-j选项用于设置编译所用的处理器内核数量,后面加所需处理器数量+1,比如我们是双核且两个都用于编译,所以填3(一般第一次编译是不用),后面的V=99表示显示所有编译过程,这个一定要加上。

#make -j 3  V=99

(注意:编译过程中可能会从网上自动下载源码包,有时因为网络不稳定等问题而导致找不到源码包的错误,这是可以根据编译信息在网上下载对应的源码包放在dl/目录下重新编译即可。)

 

 

 

 

0 0