从源码编译OPENWRT

OpenWrt官方站点(链接

要编译OpenWrt首先要搞清楚它复杂的版本命名规则,可以看官方文档(链接)。从文档中,我们可以了解到目前的最新稳定版是Attitude Adjustment,SVN版本号为36088,发布于2013年中,而上一个稳定版是backfire 10.03.1,发布于2011年底。

选好版本后,可以按照官方文档Easy Build中的步骤操作:

1. 安装需要的库

2. 下载源代码,选择最新稳定版Attitude Adjustment

3. 获取并编辑编译配置文件(注意,这个文件是和平台版本相关的,例如想编译x86平台,下载的配置文件在这里,文件名config.x86_generic,配置文件定义了组件开关,因此可以去掉不需要的组件)。也可以通过图形界面配置生成,参考这里的Image Configuration小节。

4. 安装feeds

5. 运行configure(这里可能需要安装各种缺失的包)。如果通过图形界面生成配置则不需要运行这步。

6. make(对于64bit系统需要安装32bit的库),编译时需要联网,官网文档make V=99和make V=s作用一样,都是输出编译信息

错误1:gets编译错误:

error: ‘gets’ undeclared here (not in a function)

则需要找到相应的stdio.in.h文件,删除

_GL_WARN_ON_USE (gets, “gets is a security hole – use fgets instead”)

然后重新编译即可

错误2:hotplug2无法从svn拉取

原因是hotplug2的svn地址已经失效,新地址在googlecode(被墙),还好官网有其源码。修改package/hotplug2 目录下的makefile文件:

PKG_NAME:=hotplug2
PKG_REV:=201
PKG_VERSION:=$(PKG_REV)
PKG_RELEASE:=4
 
#PKG_SOURCE_PROTO:=svn
#PKG_SOURCE_VERSION:=$(PKG_REV)
#PKG_SOURCE_SUBDIR:=hotplug2-$(PKG_VERSION)
#PKG_SOURCE_URL:=http://svn.nomi.cz/svn/isteve/hotplug2
#PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
#PKG_SOURCE_URL:=http://isteve.bofh.cz/~isteve/hotplug2
#PKG_MD5SUM:=ea2c01d027b4002e4e6b0ff266f51a51
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://downloads.openwrt.org/sources/
PKG_MD5SUM:=7bab8ba67555a8400424f3c92ec67579
 
7. 编译成功后,在bin目录下会生成bin固件vmdk等文件
 
参考资料:
posted @ 2015-11-08 18:02  lych2e  阅读(919)  评论(0编辑  收藏  举报