“第四课--OpenWRT 下载编译”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
OpenWRT 下载工具安装
(多了几个字...)
 
(未显示2个用户的9个中间版本)
第4行: 第4行:
 
前面教程我们已经对openwrt系统及其发展过程做了简要的介绍,本教程我们就开一层层的拨开openwrt的神秘面纱,领略他给我们带来的惊喜。
 
前面教程我们已经对openwrt系统及其发展过程做了简要的介绍,本教程我们就开一层层的拨开openwrt的神秘面纱,领略他给我们带来的惊喜。
  
==OpenWRT 下载工具安装==
 
前面的教程中,您已经安装好了虚拟机,并安装了linux系统,下面我们就要在Linux系统下运行下面的命令,首先要保证你的PC可以上网。
 
  
1. 安装SVN 工具
+
==OpenWRT 编译环境配置==
 +
前面的教程中,您已经安装好了虚拟机,并安装了Ubuntu系统,下面我们就要在Ubuntu系统下运行下面的命令,首先要保证你的PC可以上网。
  
安装SVN 工具,用于下载openwrt 源码:
+
1. 安装svn和git:
  $ sudo apt-get install subversion
+
  $ sudo apt-get install subversion git-core
  
2. 安装git 工具
+
2. 安装依赖的库文件
 
 
$ sudo apt-get install git-core
 
 
 
3. 安装依赖的库文件
 
 
  $ sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils ncurses-term zlib1g-dev libncurses5-dev gawk
 
  $ sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils ncurses-term zlib1g-dev libncurses5-dev gawk
  
 
注意,如果您是使用64 位系统的,请执行这个命令:
 
注意,如果您是使用64 位系统的,请执行这个命令:
  #sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev ia32-libs lib32gcc1 libc6-dev-i386 subversion git-core
+
  $ sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev ia32-libs lib32gcc1 libc6-dev-i386  
  
==下载 openWRT 源码==
 
  
编译openwrt 首先需要下载源码,openwrt 的源码是通过svn 下载,openwrt 目前已经很好的支持了MicroWRT开发板的7620A芯片。下面开始openwrt 学习之旅。
+
==下载 OpenWrt 源码==
  
新建一个openwrt 文件夹,使用svn 下载源码:
+
编译OpenWrt首先需要下载源码,OpenWrt官方自r45331起支持了MicroWRT开发板。下面开始openwrt 学习之旅。
 +
 
 +
新建一个目录用于存放源码:
 
  $ mkdir openwrt
 
  $ mkdir openwrt
 
  $ cd openwrt/
 
  $ cd openwrt/
  $ svn co svn://svn.openwrt.org/openwrt/trunk
+
使用git下载OpenWrt源码:
 +
  git clone git://git.openwrt.org/openwrt.git (OpenWrt官方git源)
 +
 +
git clone https://github.com/openwrt-mirror/openwrt.git (GitHub提供的OpenWrt源镜像.)
 +
下载完成后,我们就得到了一份OpenWrt基础源码.当然,这份源码中只包含系统运行必须具备的基础软件包.<br />
 +
为了使用OpenWrt官方提供的更多软件包,我们需要下载feeds源:
 +
$ cd trunk
 +
$ ./scripts/feeds update -a
 +
$ ./scripts/feeds install -a
  
等待下载即可。
+
之后便可以开始编译了.!!注意!!OpenWrt完全没必要,也不推荐使用root账户进行编译.请使用普通账户编译.<br />
注意:对于国内用户,可以使用如下命令下载:
 
git clone git://git.openwrt.org/openwrt.git 用这个能获得最新的代码吗
 
  
git clone git://git.openwrt.org/openwrt.git 官网
+
==编译OpenWrt==
  
git clone https://github.com/openwrt-mirror/openwrt.git (国内)
+
编译的时候首先执行make menuconfig,和配置内核的命令时一样的,不出意外的话,它就进入了一个比较熟悉的界面,配置过内核的朋友应该不会陌生。<br />
 +
  $ make menuconfig
  
下载完openwrt 的源码后,为了使openwrt 支持更多的软件,需要更新和安装其他源上面的软件:
+
1、选择 CPU 型号
 +
Target System -> Ralink RT288x/RT3xxx
 +
2、选择 CPU 子型号
 +
Subtarget -> MT7620 based boards
 +
3、选择具体路由器型号
 +
Target profile -> Microduino MicroWRT
 +
然后使用键盘左右键选择exit退出,此时会提示你是否保存配置,选择Yes后退出.<br />
 +
经过如上步骤,我们就得到了一份OpenWrt基础系统的配置文件.<br />
 +
复杂的配置以后的课程会一点一点的教会大家.
  
$ cd trunk
+
最后执行 make V=s开始编译.
$ ./scripts/feeds update -a
+
编译时间主要由电脑配置决定,但是由于OpenWrt的编译过程使用的源码大多通过网络下载,所以这里系统必须能够上网,而且初次编译时间更主要的还是由网络决定.<br />
$ ./scripts/feeds install -a
+
PS:由于存放源码的服务器大多在国外,所以可能会出现因为网络原因导初次致编译失败.建议准备好代理服务器.<br />
  
一切就绪,开始编译,编译的时候需要注意,openwrt 默认是用非root 用户名来编译的,如果你是root用户名需要在配置上面做点修改。需要修改include/prereq-build.mk
+
  $ make V=s
  $ gedit include/prereq-build.mk
 
  
把第十六行的注释掉
+
如果网络通畅的话,大概2个小时编译就会完成,然后在源码目录bin 下面生成镜像。
define Require/non-root
 
# [ "$$(shell whoami)" != "root" ]
 
endef
 
  
注意:对于Ubuntu 系统,并不需要修改prereq-build.mk。
+
==调试串口及烧写系统==
  
==编译openWRT==
+
===FT232 USBTTL 转换模块===
  
编译的时候首先执行make menuconfig,和配置内核的命令时一样的,不出意外的话,它就进入了一个比较熟悉的界面,如图所示,配置过内核的朋友应该不会陌生。
+
在对microWRT进行调试和烧写固件的时候,不可避免的要适合用USBTTL接口,玩家可以使用Micrduino FT232 来完成这个工作。
$ make menuconfig
 
  
1、选择 CPU 型号
+
FT232的使用教程请参考下面的连接,FT232 和microWRT的接线请参考microWRT 介绍。
Target System —> Ralink RT288x/RT3xxx
 
  
2、选择 CPU 子型号
+
FT232 模块:
Subtarget
+
https://www.microduino.cc/wiki/index.php?title=Microduino-USBTTL/zh
3、选择具体路由器型号
 
Target profile —>HAME-MPR-A2
 
  
然后点击save 保存配置,这样一个配置就算完成了,当然这个是最简单的配置,我们首先是要在开发板
+
microWRT 引脚图参考:
把程序系统跑起来,复杂的配置以后的课程会一点一点的教会大家。
+
https://www.microduino.cc/wiki/index.php?title=MicroWRT_Start/zh
最后执行 make V=99,开始漫长的编译,编译时间由电脑配置决定,由于编译时需要的软件是从网络上
 
面下载,所以这里机子必须能够上网。V=99 意思显示所有信息。
 
  
$ make V=99
+
===烧写openWRT系统===
  
大概4、5 个小时编译就会完成,然后在源码目录bin 下面生成镜像。
+
1. 通过FileZilla 将“Uboot(64M)&PandoraBox-ralink-mt7620a-evb-r353-20140505.bin”从Ubuntu 12.04 中拖到Windows 的“D:\tftp”目录。
  
==调试串口及烧写系统==
+
2. 重启开发板,在U-boot 的操作菜单中选择2。
  
FT232 USBTTL 转换模块
+
3. 用网线将开发板的网口(任何一个都行)和电脑的网口连接起来。启动tftpd32,将“Current Directory”设置为要下载的系统的所在目录,
使用参考wiki
 
  
烧写openWRT系统
+
这里为“D:\tftp”,注意一定不能有中文路径;将“Server interface”选为有线网卡的IP。
(1) 通过FileZilla 将“openwrt-ramips-rt305x-mpr-a2-squashfs-sysupgrade.bin”从Ubuntu 12.04 中拖到Windows 的“D:\tftp”目录。如图所示:
 
(2) 重启开发板,在U-boot 的操作菜单中选择2。如图所示:
 
(3) 用网线将开发板的网口(任何一个都行)和电脑的网口连接起来。启动tftpd32,将“Current Directory”设置为要下载的系统的所在目录,这里为“D:\tftp”,注意一定不能有中文路径;将“Server interface”选为有线网卡的IP。如图所示:
 
  
(4) 回到第二步,在图4.10 所示界面中,输入“y”,接下来在如图4.12 所示界面中。设置如下:
+
4. 回到第二步,在所示界面中,输入“y”,接下来在所示界面中。设置如下:
device IP:192.168.169.7 // 该IP 和有线网卡的IP 同一个网段即可
+
device IP:192.168.169.7 // 该IP 和有线网卡的IP 同一个网段即可
server IP:192.168.169.2 // 有线网卡的IP
+
server IP:192.168.169.2 // 有线网卡的IP
Filename:openwrt-ramips-rt305x-mpr-a2-squashfs-sysupgrade.bin // 系统名称
+
Filename:Uboot(64M)&PandoraBox-ralink-mt7620a-evb-r353-20140505.bin // 系统名称
  
 +
最后回车,便开始下载了,当系统下载成功后,便会自动运行该系统,到此,我们自己移植的openwrt 系统,便正常运行起来了。
  
最后回车,便开始下载了,当系统下载成功后,便会自动运行该系统,到此,我们自己移植的openwrt 系统,便正常运行起来了。当然,还有很多功能没有实现,再后继的教程中,给大家讲解。
+
当然,还有很多功能没有实现,再后继的教程中,给大家讲解。
  
  
 
|}
 
|}

2015年4月18日 (六) 13:21的最新版本

前面教程我们已经对openwrt系统及其发展过程做了简要的介绍,本教程我们就开一层层的拨开openwrt的神秘面纱,领略他给我们带来的惊喜。


OpenWRT 编译环境配置

前面的教程中,您已经安装好了虚拟机,并安装了Ubuntu系统,下面我们就要在Ubuntu系统下运行下面的命令,首先要保证你的PC可以上网。

1. 安装svn和git:

$ sudo apt-get install subversion git-core

2. 安装依赖的库文件

$ sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils ncurses-term zlib1g-dev libncurses5-dev gawk

注意,如果您是使用64 位系统的,请执行这个命令:

$ sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev ia32-libs lib32gcc1 libc6-dev-i386 


下载 OpenWrt 源码

编译OpenWrt首先需要下载源码,OpenWrt官方自r45331起支持了MicroWRT开发板。下面开始openwrt 学习之旅。

新建一个目录用于存放源码:

$ mkdir openwrt
$ cd openwrt/

使用git下载OpenWrt源码:

git clone git://git.openwrt.org/openwrt.git (OpenWrt官方git源)

git clone https://github.com/openwrt-mirror/openwrt.git (GitHub提供的OpenWrt源镜像.)

下载完成后,我们就得到了一份OpenWrt基础源码.当然,这份源码中只包含系统运行必须具备的基础软件包.
为了使用OpenWrt官方提供的更多软件包,我们需要下载feeds源:

$ cd trunk
$ ./scripts/feeds update -a
$ ./scripts/feeds install -a

之后便可以开始编译了.!!注意!!OpenWrt完全没必要,也不推荐使用root账户进行编译.请使用普通账户编译.

编译OpenWrt

编译的时候首先执行make menuconfig,和配置内核的命令时一样的,不出意外的话,它就进入了一个比较熟悉的界面,配置过内核的朋友应该不会陌生。

$ make menuconfig

1、选择 CPU 型号

Target System -> Ralink RT288x/RT3xxx

2、选择 CPU 子型号

Subtarget -> MT7620 based boards

3、选择具体路由器型号

Target profile -> Microduino MicroWRT

然后使用键盘左右键选择exit退出,此时会提示你是否保存配置,选择Yes后退出.
经过如上步骤,我们就得到了一份OpenWrt基础系统的配置文件.
复杂的配置以后的课程会一点一点的教会大家.

最后执行 make V=s开始编译. 编译时间主要由电脑配置决定,但是由于OpenWrt的编译过程使用的源码大多通过网络下载,所以这里系统必须能够上网,而且初次编译时间更主要的还是由网络决定.
PS:由于存放源码的服务器大多在国外,所以可能会出现因为网络原因导初次致编译失败.建议准备好代理服务器.

$ make V=s

如果网络通畅的话,大概2个小时编译就会完成,然后在源码目录bin 下面生成镜像。

调试串口及烧写系统

FT232 USBTTL 转换模块

在对microWRT进行调试和烧写固件的时候,不可避免的要适合用USBTTL接口,玩家可以使用Micrduino FT232 来完成这个工作。

FT232的使用教程请参考下面的连接,FT232 和microWRT的接线请参考microWRT 介绍。

FT232 模块: https://www.microduino.cc/wiki/index.php?title=Microduino-USBTTL/zh

microWRT 引脚图参考: https://www.microduino.cc/wiki/index.php?title=MicroWRT_Start/zh

烧写openWRT系统

1. 通过FileZilla 将“Uboot(64M)&PandoraBox-ralink-mt7620a-evb-r353-20140505.bin”从Ubuntu 12.04 中拖到Windows 的“D:\tftp”目录。

2. 重启开发板,在U-boot 的操作菜单中选择2。

3. 用网线将开发板的网口(任何一个都行)和电脑的网口连接起来。启动tftpd32,将“Current Directory”设置为要下载的系统的所在目录,

这里为“D:\tftp”,注意一定不能有中文路径;将“Server interface”选为有线网卡的IP。

4. 回到第二步,在所示界面中,输入“y”,接下来在所示界面中。设置如下:

device IP:192.168.169.7 // 该IP 和有线网卡的IP 同一个网段即可
server IP:192.168.169.2 // 有线网卡的IP
Filename:Uboot(64M)&PandoraBox-ralink-mt7620a-evb-r353-20140505.bin // 系统名称

最后回车,便开始下载了,当系统下载成功后,便会自动运行该系统,到此,我们自己移植的openwrt 系统,便正常运行起来了。

当然,还有很多功能没有实现,再后继的教程中,给大家讲解。