本次搭载编译所需要的环境 -->本机使用的ContOS6.2
1.在linux用户下下载安装git
yum install git*必须使用非root用户进行操作
2.添加一个普通用户
addueser openwrt
passwd openwrt ******
su openwrt
//注意:如果使用root进行操作的话,会提示检查失败:Checking 'non-root'... failed
3.进入新添加用户后,下载源代码:
git clone git://git.openwrt.org/14.07/openwrt.git
此源代码为14.07版本(下载较慢,请耐心等待)下载完成后,就会出现名为openwrt的文件夹,这就是将来我们的工作目录。
如果已经有了以前的版本库,需要按照下面的命令更新
// 必须进入工作目录才能更新
cd openwrt/
git pull
4.更新和安装feeds
Feeds是OpenWrt环境所需要的软件包套件。最重要的feeds有:
‘packages’一些额外的基础路由器特性软件
‘LuCI’OpenWrt默认的GUI
‘Xwrt’另一种可选的GUI界面, 需要能够连接互联网。
在下载之前可以通过查看’feeds.conf.default’文件,来检查哪些文件需要包含在环境中。
开始下载,使用:
./scripts/feeds update -a
安装feeds包,只有安装之后,在后面的make menuconfig时,才可以对相关配置进行勾选。
./scripts/feeds install -a
如果更新了feeds的配置文件,需要添加新的软件包用于生成系统。只需进行重复操作:
./scripts/feeds update -a
./scripts/feeds install -a
在进行编译前还需要安装一些包
yum install autoconf binutils bison bzip2 flex gawk gcc gcc-c++
gettext make ncurses-devel patch unzip wget zlib-devel curl curl-devel
openssl-devel perl perl-devel cpio expat-devel gettext-devel xz openssh-clients subversion cmake libtool
5.接下配置编译信息
make defconfig
make prereq
make menuconfig
通过文本对话框进行选项配置,最主要的配置项有:
(http://blog.csdn.net/xingyuzhe/article/details/48976501)此链接中有详细配置项
Target system(目标系统类型)
Package selection(软件包选择)
Build system settings (编译系统设置)
Kernel modules (内核模块)
[*]表示:这个包裹选中编译,并安装在firmware中;
[M]表示:这个软件包选中编译,但并不安装在firmware中。
在退出Menuconfig的时,会提示是否保存配置。
在此我只对target system进行了选择;
勾选了Advanced configuration option和Build the OpenWrt SDK选项
6.编译
为了显示出在编译过程中显示出详细的调试信息:
一般情况,进行全部编译时使用一个简单的命令,因为编译过程会下载很多文件,
目前许多项目的repo都迁移到GitHub上了
make V=99
编译一个单独的软件包(例如cups软件包)
make package/cups/compile V=99
如果特殊原因需要分析编译报错信息:
make V=99 2>&1 |tee build.log |grep -i error
则将编译的所有输出信息保存在build.log中,将error信息打印在屏幕上。
然后进行编译
make
编译的速度和网速还有处理器速度有关编译时候会出现某些包无法下载的情况,重试可以通过的话是网速的问题,通过不了的话可以去网站上下载下来包
把包放在 /home/openwrt/openwrt/dl 下就可以通过
编译成功 镜像文件储存在 /home/openwrt/openwrt/bin/bcm2708