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 编译
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 编译
相关文章推荐
- hadoop 及hbase zookeeper 经常出现问题
- mysql5.6 linux下安装笔记
- linux配置虚拟ip
- adb shell 常用命令
- centos下源码安装mysql
- nginx高可用负载均衡配置
- [Java] Java执行Shell命令
- JAVA 必会的Linux 命令
- Linux ALSA 声卡驱动之一:ALSA架构简介
- Linux C获取系统的运行时间
- 全陷阱破解:在Linux环境下的Jenkins中持续集成Androidproject
- Hadoop伪分布式部署
- Docker网络详解
- Linux 动态库剖析
- centos 7 下安装php-sqlite
- cvCanny() 边缘检测
- [置顶] apache+linux+php安装
- Hadoop 2.0 – HA功能中ZKFC对NN状态的控制
- OpenCV中CascadeClassifier类实现多尺度检测源码解析
- 逆向推演:交互设计说明文档+信息架构