JIANGXIN04211的专栏

下载配置编译openwrt

环境:fedora 7

SOC:RT5350

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时提示如下错误:

在百度上搜索原因,后来在这个链接以下找到解决办法,

?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

编译的时候遇到一个问题

根据上面的描述,在truck/build_dir/host/patch-2.7.1中没有发现Makefile文件,其实进入这个目录可以发现这个目录是空的。这个目录中的文件是应该从trunk/dl/patch-2.7.1.tar.xz

究其原因是因为系统中没有安装解压xz格式的工具(xz的安装就不在这里说明,会在其他文档中具体介绍的)。安装xz工具后可以正常编译。

大概4、5 个小时编译就会完成,然后在源码目录bin 下面生成镜像。

阳光总在风雨后。只有坚强的忍耐顽强的奋斗,

JIANGXIN04211的专栏

相关文章:

你感兴趣的文章:

标签云: