“第四课--OpenWRT 下载编译”的版本间的差异
(→调试串口及烧写系统) |
(→FT232 USBTTL 转换模块) |
||
第80行: | 第80行: | ||
===FT232 USBTTL 转换模块=== | ===FT232 USBTTL 转换模块=== | ||
+ | |||
在对microWRT进行调试和烧写固件的时候,不可避免的要适合用USBTTL接口,玩家可以使用Micrduino FT232 来完成这个工作。FT232的使用教程请参考下面的连接, | 在对microWRT进行调试和烧写固件的时候,不可避免的要适合用USBTTL接口,玩家可以使用Micrduino FT232 来完成这个工作。FT232的使用教程请参考下面的连接, | ||
FT232 和microWRT的接线请参考microWRT 介绍。 | FT232 和microWRT的接线请参考microWRT 介绍。 | ||
第89行: | 第90行: | ||
https://www.microduino.cc/wiki/index.php?title=MicroWRT_Start/zh | https://www.microduino.cc/wiki/index.php?title=MicroWRT_Start/zh | ||
− | 烧写openWRT系统 | + | ===烧写openWRT系统=== |
+ | |||
1. 通过FileZilla 将“Uboot(64M)&PandoraBox-ralink-mt7620a-evb-r353-20140505.bin”从Ubuntu 12.04 中拖到Windows 的“D:\tftp”目录。 | 1. 通过FileZilla 将“Uboot(64M)&PandoraBox-ralink-mt7620a-evb-r353-20140505.bin”从Ubuntu 12.04 中拖到Windows 的“D:\tftp”目录。 | ||
2. 重启开发板,在U-boot 的操作菜单中选择2。 | 2. 重启开发板,在U-boot 的操作菜单中选择2。 | ||
第97行: | 第99行: | ||
server IP:192.168.169.2 // 有线网卡的IP | server IP:192.168.169.2 // 有线网卡的IP | ||
Filename:Uboot(64M)&PandoraBox-ralink-mt7620a-evb-r353-20140505.bin // 系统名称 | Filename:Uboot(64M)&PandoraBox-ralink-mt7620a-evb-r353-20140505.bin // 系统名称 | ||
− | |||
最后回车,便开始下载了,当系统下载成功后,便会自动运行该系统,到此,我们自己移植的openwrt 系统,便正常运行起来了。当然,还有很多功能没有实现,再后继的教程中,给大家讲解。 | 最后回车,便开始下载了,当系统下载成功后,便会自动运行该系统,到此,我们自己移植的openwrt 系统,便正常运行起来了。当然,还有很多功能没有实现,再后继的教程中,给大家讲解。 |
2014年10月16日 (四) 05:38的版本
前面教程我们已经对openwrt系统及其发展过程做了简要的介绍,本教程我们就开一层层的拨开openwrt的神秘面纱,领略他给我们带来的惊喜。 OpenWRT 下载工具安装前面的教程中,您已经安装好了虚拟机,并安装了linux系统,下面我们就要在Linux系统下运行下面的命令,首先要保证你的PC可以上网。 1. 安装SVN 工具 安装SVN 工具,用于下载openwrt 源码: $ sudo apt-get install subversion 2. 安装git 工具 $ 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 注意,如果您是使用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 下载 openWRT 源码编译openwrt 首先需要下载源码,openwrt 的源码是通过svn 下载,openwrt 目前已经很好的支持了MicroWRT开发板的7620A芯片。下面开始openwrt 学习之旅。 新建一个openwrt 文件夹,使用svn 下载源码: $ mkdir openwrt $ cd openwrt/ $ svn co svn://svn.openwrt.org/openwrt/trunk 等待下载即可。 注意:对于国内用户,可以使用如下命令下载: git clone git://git.openwrt.org/openwrt.git 用这个能获得最新的代码吗 git clone git://git.openwrt.org/openwrt.git 官网 git clone https://github.com/openwrt-mirror/openwrt.git (国内) 下载完openwrt 的源码后,为了使openwrt 支持更多的软件,需要更新和安装其他源上面的软件: $ cd trunk $ ./scripts/feeds update -a $ ./scripts/feeds install -a 一切就绪,开始编译,编译的时候需要注意,openwrt 默认是用非root 用户名来编译的,如果你是root用户名需要在配置上面做点修改。需要修改include/prereq-build.mk $ gedit include/prereq-build.mk 把第十六行的注释掉 define Require/non-root # [ "$$(shell whoami)" != "root" ] endef 注意:对于Ubuntu 系统,并不需要修改prereq-build.mk。 编译openWRT编译的时候首先执行make menuconfig,和配置内核的命令时一样的,不出意外的话,它就进入了一个比较熟悉的界面,如图所示,配置过内核的朋友应该不会陌生。 $ make menuconfig 1、选择 CPU 型号 Target System —> Ralink RT288x/RT3xxx 2、选择 CPU 子型号 Subtarget 3、选择具体路由器型号 Target profile —>HAME-MPR-A2 然后点击save 保存配置,这样一个配置就算完成了,当然这个是最简单的配置,我们首先是要在开发板 把程序系统跑起来,复杂的配置以后的课程会一点一点的教会大家。 最后执行 make V=99,开始漫长的编译,编译时间由电脑配置决定,由于编译时需要的软件是从网络上 面下载,所以这里机子必须能够上网。V=99 意思显示所有信息。 $ make V=99 大概4、5 个小时编译就会完成,然后在源码目录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 系统,便正常运行起来了。当然,还有很多功能没有实现,再后继的教程中,给大家讲解。
|