OpenWrt 自学笔记(1)----源码下载

openwrt 是一个开源的路由器操作系统由linux改造而来源代码开放,一般的开发方法是用linux操作系统来搭建环境开发

openwrt有两种版本一个是测试版俗称 trunk,二是稳定版俗称 backfire

 在开始编译Openwrt之前需要您做些准备工作;与其他编译过程一样,类似的编译工具和编译环境是必不可少的: 
  
一个构建OpenWrt映像的系统平台,简单说就是准备一个操作系统(比如UbuntuDebian等);
  
确保安装了所需的依赖关系库。


1安装依赖包

 升级组件包

 sudo apt-get update

 安装编译需要的组件

 sudo apt-get install gcc

 sudo apt-get install g++

 sudo apt-get install binutils

 sudo apt-get install patch

 sudo apt-get install bzip2

 sudo apt-get install flex

 sudo apt-get install bison

 sudo apt-get install make

 sudo apt-get install autoconf

 sudo apt-get install gettext

 sudo apt-get install texinfo

 sudo apt-get install unzip

 sudo apt-get install sharutils

 sudo apt-get install subversion

 sudo apt-get install libncurses5-dev

 sudo apt-get install ncurses-term

 sudo apt-get install zlib1g-dev

 sudo apt-get install subversion

 sudo apt-get install git

 sudo apt-get install gawk

 sudo apt-get install asciidoc

 sudo apt-get install libz-dev

 sudo apt-get install libssl-dev


2下载源码

下载源码的途径有二,一是通过 svn ,一是通过 git,建议使用 svn ,因为Openwrt主要以 svn 来维护Openwrt系统的版本。另外,请注意Openwrt中不同的分支版本

(1)通过SVN获得源码

若想通过svn下载源代码需安装 Subversion,Subversion,或称SVN, OpenWrtproject中用来控制版本的系统,它非常类似的 CVS的界面和使用条款。执行下述命令即可安装SVN 
# apt-get install subversion

(2)通过git获得源码

下载git工具:sudo apt-get install git


在home文件夹下新建OpenWrt

 mkdir OpenWrt/
 cd OpenWrt/
 svn co svn://svn.openwrt.org/openwrt/branches/backfire

git clone git://git.openwrt.org/15.05/openwrt.git

获得源码

(3)跟新SVN工具(如果用git此步可不做)

# cd OpenWrt/backfire/
# svn up

 'svn up' 命令用于更新SVN上更新了,但本地尚未更新的这部分源代码(本人实践证明此命令会将本地源码与SVN上的源码先比较,若SVN有更新才会下载更新的部分,很实用的一个命令)。如果未指定目标路径,则此命令将更新当前目录及当前目录的子目录内的源码。 

(4)Feeds下载

Feeds下载

 Feeds即为包含到你的OpenWrt环境中的额外软件包的索引之类的,最主要的Feeds有以下三个: 
 'packages' - 
路由的基本功能,
 'LuCI' - OpenWrt
默认的GUIWEB管理界面), 
 'Xwrt' - 
其他的GUI

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

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

 然后使用下列命令开始下载(注:可能你需要先运行cd trunk进入trunk目录才能成功执行下列命令): 
# ./scripts/feeds update -a
 

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


更新后的文件列表如下


(5)下载编译

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

 defconfig回显提示缺少软件包或编译库等依赖,则按提示安装所缺软件包或库等即可,不难的,细心点就行。 
Menuconfig

# make menuconfig

'menuconfig' 用来配置openwrt 需要你指定何种目标平台,要包含的package软件包和内核模块等均需要你指定,配置标准的过程中会包括修改: 

 目标平台(即路由器何种架构,BCM呢还是AR均可选择)
 
选择要包含的package软件包
 
构建系统设置
 
内核模块

如若出现配置凌乱的现象可以删除顶层.config文件,然后重新make defconfig

  在你离开并保存配置文件(默认都是 .config )后,将自动配置依赖关系,可以着手编译更新的固件。

#make 编译















  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值