下载配置编译openwrt
环境:fedora7
1 安装相关工具和库
1.1 安装svn工具
安装svn工具,用于下载openwrt源码(要先保证可以上网):
#yum install subversion
1.2 安装git工具
#yum install git-core
1.3安装依赖的库文件
#yum install gcc g++ binutils patch bzip2 flex bison make autoconf gettexttexinfo unzip sharutils ncurses-termzlib1g-dev libncurses5-dev gawk
2下载openwrt源码
编译openwrt 首先需要下载源码,openwrt的源码是通过svn 下载,在/home/jiangxin目录下新建一个openwrt文件夹,使用svn下载源码。
# Cd /home/jiangxin
# Mkdir openwrt
# Cd openwrt/
# svn checkoutsvn://svn.openwrt.org/openwrt/trunk
等待下载即可,下载完成后如下图,取出版本44597
下载完openwrt 的源码后,为了使openwrt 支持更多的软件,需要更新和安装其他源上面的软件:
# cd trunk
# ./scripts/feeds update -a
#./scripts/feeds install -a
在输入./scripts/feeds update -a时提示如下错误:
在百度上搜索原因,后来在这个链接以下找到解决办法,
http://forums.rightscale.com/showthread.php?t=605
解决办法是把地址https://github.com/opscode/cookbooks.git改成
git://github.com/opscode/cookbooks.git
保存地址的文件在feeds.conf.default中,把其中https开头的链接都改为git开头,这样就可以解决上述问题。
一切就绪,开始编译,编译的时候需要注意,openwrt 默认是用非root 用户名来编译的,如果你是root
用户名需要在配置上面做点修改。需要修改include/prereq-build.mk
$ gedit include/prereq-build.mk
把第十六行的注释掉
define Require/non-root
# [ "$$(shell whoami)" != "root" ]
endef
3编译openwrt源码
编译的时候首先执行makemenuconfig,和配置内核的命令时一样,不出意外的话,它就进入了一个比较熟悉的界面,配置过内核的朋友应该不会陌生。
# make menuconfig
1、选择CPU 型号
Target System —> Ralink RT288x/RT3xxx
2、选择CPU 子型号
Subtarget —> RT3x5x/RT5350 based boards
3、选择具体路由器型号
Target profile —>HAME-MPR-A2
然后点击save 保存配置,这样一个配置就算完成了,当然这个是最简单的配置,我们首先是要在开发板
把程序系统跑起来,复杂的配置以后的课程会一点一点的教会大家。
最后执行make V=99,开始漫长的编译,编译时间由电脑配置决定,由于编译时需要的软件是从网络上
面下载,所以这里机子必须能够上网。V=99 意思显示所有信息。
$ make V=99
大概4、5 个小时编译就会完成,然后在源码目录bin 下面生成镜像。