您的位置:首页 > 运维架构

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

2016-01-26 17:55 351 查看
openwrt 是一个开源的路由器操作系统由linux改造而来源代码开放,一般的开发方法是用linux操作系统来搭建环境开发

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

在开始编译Openwrt之前需要您做些准备工作;与其他编译过程一样,类似的编译工具和编译环境是必不可少的:

一个构建OpenWrt映像的系统平台,简单说就是准备一个操作系统(比如Ubuntu、Debian等);

确保安装了所需的依赖关系库。

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, 是OpenWrt的project中用来控制版本的系统,它非常类似的 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默认的GUI(WEB管理界面), 及

'Xwrt' - 其他的GUI。
一般情况,你至少需要含 'packages' 和 'LuCI'两个Feeds。
下载完feeds之后, (为编译OpenWrt的recipies额外的预定义包) 您可以检查哪些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 编译
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: