<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="OpenWrt编译方法">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2010-12-24 12:47<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
OpenWrt编译方法


编译环境准备（安装linux发行版和软件包）


1.安装好ubuntu 或者fedora，建议在VMWARE虚拟机上安装。


以非root用户登陆，打开&ldquo;应用程序----附件----终端&rdquo;。如果您已经安装好linux, 那么此步骤请略去。


2.如果您选择ubuntu, 那么ubuntu开发环境需要的软件有：

sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev




 


然后

sudo apt-get update


如您选择安装fedora，那么fedora开发环境需要的软件有：

# yum install autoconf binutils bison bzip2 flex gawk gcc gcc-c++ gettext make ncurses-devel patch unzip wget zlib-devel

由于fedora 安装包本来就很全面，所以需另外安装的东西较少。所以一般情况下，推荐安装fedora 11以上版本。


这里有更详细权威的说明：

http://wiki.openwrt.org/doc/howto/buildroot，


OpenWrt英文论坛2006年文章：Building OpenWrt Kamikaze from source

https://forum.openwrt.org/viewtopic.php?id=9180


3.获取OpenWrt源代码和安装包，更新


1. svn checkout svn://svn.openwrt.org/openwrt/trunk

2. cd trunk

3. ./scripts/feeds update -a

4. ./scripts/feeds install -a


4.配置编译选项

make menuconfig


默认就是brcm-2.4平台，模块前面选项有3种：

*：表示该模块直接编译到核心中

M：该模块以被核心支持，可以后再安装

空白：不支持该模块

具体模块的起什么作用需要多google.


5.编译选项配置保存后，开始编译，

make V=99


V=99表示输出详细的debug信息


make world表示编译所有


如您的PC是多核CPU，那么加j=2 选项理论上能加快编译速度。如make -j 2 V=99可加快编译速度（不推荐使用）


如您只想清除/编译某个模块，您可以做如下类似操作：

make package/qos/clean

make package/qos/compile

make package/qos/install


第一次编译要2到3小时，bin目录下会有编译好的文件。


6. 打补丁举例，当然在有必要的时候

a、重新打补丁

svn revert target/linux/brcm63xx/image/Makefile

打补丁：patch -p0 -i imagetag.patch

编译：make V=99

b、16M flash补丁放入openwrt

patch文件下载地址 http://www.openwrt.org.cn/bbs/viewthread.php?tid=19&amp;extra=

打补丁：patch -p0 -i imagetag.patch

编译：make V=99
</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
