Chinaunix首页 | 论坛 | 博客
  • 博客访问: 404405
  • 博文数量: 96
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 415
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-22 09:08
个人简介

最近的研究方向:Nginx

文章分类
文章存档

2017年(2)

2016年(59)

2015年(35)

我的朋友

分类: 嵌入式

2016-02-17 16:49:44

本文转自:http://blog.csdn.net/linux_xuxiyang/article/details/50589015

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 编译

阅读(2360) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~