1. host

32位主机



~$uname -a
Linux yuxi-T530 3.13.0-66-generic #108-Ubuntu SMP Wed Oct 7 15:21:40 UTC 2015 i686 i686 i686 GNU/Linux
~$lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty


2. 基础软件安装

这些软件是openwrt编译成功或正常使用的前提,可能部分软件已安装成功。



sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip



sudo apt-get install gettext ocaml-nox ocaml-findlib sharutils mtd-utils u-boot-tools device-tree-compiler


 

3. 下载openwrt源码

github:​​https://github.com/openwrt/openwrt​



git clone https://github.com/openwrt/openwrt.git



git clone -b chaos_calmer git://github.com/openwrt/openwrt.git


4. 下载安装可用feeds



cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a


传统的linux操作系统在编译某一个软件的时候,会检查其依赖软件及头文件是否存在,如果没有安装,则会报缺少头文件或缺少链接库的错误,编译将退出。

feeds是openwrt开发所需要的软件包套件的工具及更新地址集合,这些软件包通过一个统一的接口地址进行访问。这样用户可以不用关心扩展包的存储位置,可以减少扩展软件包和核心代码部分的耦合。它由两部分组成,即扩展包位置配置文件feeds.conf或feeds.conf.default和脚本工具feeds。

update:下载在feeds.conf或feeds.conf.default文件中的软件包列表并创建索引。-a表示更新所有软件包。只有更新后才能进行后面的操作。

install:安装软件包以及它所依赖的软件包,从feeds目录安装到package目录,即在package/feeds目录创建软件包的软链接。只有安装之后,在后面执行make menuconfig时,才可以对相关软件包是否编译进行选择。

编译扩展安装过程就是将feeds目录下的软件包衔接到package/feeds对应目录下。

feeds.conf由3部分组成,方法,名字和源。支持的feeds方法有3种:

》src-cpy通过从数据源路径复制数据;

》src-git通过使用git从代码仓库地址下载代码数据;

》src-svn通过使用svn从代码仓库地址下载代码数据。

5. build

openwrt自动化编译平台:​​http://buildbot.openwrt.org:8010/​