logo资料库

JS9331开发板openwrt入门教程v1.6.pdf

第1页 / 共54页
第2页 / 共54页
第3页 / 共54页
第4页 / 共54页
第5页 / 共54页
第6页 / 共54页
第7页 / 共54页
第8页 / 共54页
资料共54页,剩余部分请下载后查看
1. OpenWrt介绍
1.1 什么是OpenWrt
1.2 为什么学OpenWrt
1.3 OpenWrt版本发展史
2. 开发学习概述
3. 入门应用篇
3.1 进入OpenWrt系统
3.2 系统菜单
3.2.1 “状态”菜单项
3.2.2 “系统”菜单项
3.2.3 “网络”菜单项
3.2.4 “退出”菜单项
3.3 玩转OpenWrt 高级功能
3.3.1 拨号上网
3.3.2 路由模式设置
3.3.3 AP模式设置
3.3.4 客户端模式设置
3.3.5 桥接模式设置
1
2
3
3.1
3.2
3.3
3.3.1
3.3.2
3.3.3
3.3.4
3.3.6 中继模式设置
3.3.7 网络串口透传
3.3.8 挂载U盘
3.3.9 搭建FTP 服务器
3.3.10 远程访问开发板
3.3.11 打造无线音乐播放器
3.3.12 实现迅雷远程下载
3.3.13 挂载摄像头实现远程监控
3.3.14 GPIO控制
3.3.15 修改按键功能
3.3.16 修改LED指示功能
3.3.17 很多高级功能待添加。。
4. 深入开发篇
4.1. 开发前的硬件准备
4.2. 搭建软件开发环境
4.2.1. 安装虚拟机
4.2.2. 安装Ubuntu系统
4.3. 搭建OpenWrt开发环境
4.3.1. 配置编译环境
4.3.2. 下载OpenWrt源码
4.3.3. 更新安装软件包
4.3.4. 打补丁
4.3.5. make menuconfig配置系统功能
4.3.6. 编译OpenWrt源码
4.3.7. 刷新OpenWrt固件
4.3.8. 安装IPK包
4.4. 生成交叉工具链
4.5. 安装交叉工具链
4.6. 编译第一个“Hello World”程序
4.7. 生成自己的第一个IPK安装包
4.8. LUCI界面修改
5. 常见问题及解答
6. 修改说明
智盛电子 JS9331 开发板 openwrt 入门教程 www.joysince.com joysince.taobao.com JS9331 开发板 OpenWrt 入门教程 v1.6(20151109) 智盛电子 网站:www.joysince.com 淘宝店铺:joysince.taobao.com E-mail: wurobinson@joysince.com 1
智盛电子 JS9331 开发板 openwrt 入门教程 www.joysince.com joysince.taobao.com 前言 这份《JS9331 开发板 OpenWrt 入门教程》是智盛电子编写的,主要介绍基于 JS9331 开 发板的 OpenWrt 入门学习。里面介绍了有关 OpenWrt、嵌入式 linux 的一些知识,同时还有 一些项目实例,适用于 OpenWrt、linux 的初学者。看完本教程,你将学会如何配置 OpenWrt 系统,利用 OpenWrt 做一些好玩高级的应用以及开发简单的应用程序、驱动程序。由于时间 仓促以及作者水平有限,本教程错漏缺点在所难免,希望读者批评指正,提出你们的需求和建 议。 2
智盛电子 JS9331 开发板 openwrt 入门教程 www.joysince.com joysince.taobao.com 目录 1. OpenWrt 介绍 ................................................................................................................ 5 1.1 什么是 OpenWrt ................................................................................................. 5 1.2 为什么学 OpenWrt.............................................................................................. 5 1.3 OpenWrt 版本发展史 .......................................................................................... 5 2. 开发学习概述 ................................................................................................................ 7 3. 入门应用篇.................................................................................................................... 7 3.1 进入 OpenWrt 系统............................................................................................. 7 3.2 系统菜单 ............................................................................................................ 8 3.2.1 “状态”菜单项 ...................................................................................... 8 3.2.2 “系统”菜单项 ...................................................................................... 9 “网络”菜单项....................................................................................... 16 3.2.3 3.2.4 “退出”菜单项....................................................................................... 16 3.3 玩转 OpenWrt 高级功能 .................................................................................. 16 3.3.1 拨号上网 ............................................................................................... 16 3.3.2 路由模式设置 ........................................................................................ 17 3.3.3 AP 模式设置 .......................................................................................... 18 3.3.4 客户端模式设置 .................................................................................... 20 3.3.5 桥接模式设置 ........................................................................................ 23 3.3.6 中继模式设置 ........................................................................................ 24 3.3.7 网络串口透传 ........................................................................................ 24 3.3.8 挂载 U 盘 ............................................................................................... 26 3.3.9 搭建 FTP 服务器.................................................................................... 27 3.3.10 远程访问开发板 .................................................................................... 29 3.3.11 打造无线音乐播放器 ............................................................................. 30 3.3.12 实现迅雷远程下载 ................................................................................. 33 3.3.13 挂载摄像头实现远程监控 ...................................................................... 37 3.3.14 GPIO 控制 .............................................................................................. 39 3.3.15 修改按键功能 ........................................................................................ 40 3.3.16 修改 LED 指示功能................................................................................. 42 3.3.17 很多高级功能待添加。。........................................................................ 45 4. 深入开发篇.................................................................................................................. 45 4.1. 开发前的硬件准备 ............................................................................................ 45 4.2. 搭建软件开发环境 ............................................................................................ 46 4.2.1. 安装虚拟机 ............................................................................................ 46 4.2.2. 安装 Ubuntu 系统 .................................................................................. 46 4.3. 搭建 OpenWrt 开发环境 ................................................................................... 46 4.3.1. 配置编译环境 ........................................................................................ 46 4.3.2. 下载 OpenWrt 源码................................................................................ 46 4.3.3. 更新安装软件包 .................................................................................... 47 4.3.4. 打补丁 ................................................................................................... 47 4.3.5. make menuconfig 配置系统功能 ............................................................ 47 4.3.6. 编译 OpenWrt 源码................................................................................ 48 3
智盛电子 JS9331 开发板 openwrt 入门教程 www.joysince.com joysince.taobao.com 4.3.7. 刷新 OpenWrt 固件................................................................................ 49 4.3.8. 安装 IPK 包 ............................................................................................ 49 4.4. 生成交叉工具链 ............................................................................................... 50 4.5. 安装交叉工具链 ............................................................................................... 50 4.6. 编译第一个“Hello World”程序 ...................................................................... 51 4.7. 生成自己的第一个 IPK 安装包 .......................................................................... 52 LUCI 界面修改 ........................................................................................... 54 5. 常见问题及解答 .......................................................................................................... 54 6. 修改说明 ..................................................................................................................... 54 4.8. 4
智盛电子 JS9331 开发板 openwrt 入门教程 www.joysince.com joysince.taobao.com 1. OpenWrt 介绍 1.1 什么是 OpenWrt OpenWrt(官网 www.openwrt.org) 可以被描述为一个嵌入式的 Linux 发行版,目前常 用在路由器上,但是作为基于 linux 系统的它,其实可以做更多的事情。 它是一个高度模块化、高度自动化的嵌入式 Linux 系统,拥有强大的网络组件和扩展性, 还可被用于工控设备、电话、小型机器人、远程监控、智能家居以及 VOIP 设备中。 它不同于其他许多用于路由器的发行版(主流路由器固件有 dd-wrt,tomato,OpenWrt 三 类),它是一个从零开始编写的、功能齐全的、容易修改的路由器操作系统。实际上,这意 味着您能够使用您想要的功能而不加进其他的累赘,而支持这些功能工作的 linux kernel 又远比绝大多数发行版来得新(linux 内核中很多源代码都是由 OpenWrt 社区提供的)。 1.2 为什么学 OpenWrt 你不需要对 MIPS 处理器有很深入的了解 ,也不用懂得如何去设计一个 ARM 或 MIPS 处理器专用的 linux 内核 ,因为这些移植工作在 OpenWrt 里已有人为你做好, 你只需懂得 如何安装和使用 OpenWrt 就行了,不过你也可以去 http://www.linux-mips.org 找到相关的 资料。如果你对 Linux 系统有一定的认识 , 并想学习或接触嵌入式 Linux 的话 , OpenWrt 很适合你 ,你将学会一些无线路由器的基本知识 ,以及一般嵌入式 Linux 的开发过程。但 凡做过或者了解过嵌入式开发的人 ,都知道无论是 ARM, PowerPC 或 MIPS 的处理器 ,都 必需经过以下的开发过程: 1、创建 Linux 交叉编译环境 2、建立 Bootloader 3、移植 Linux 内核 4、建立 Rootfs (根文件系统) 5、安装驱动程序 6、安装软件 采用上面传统的方法进行嵌入式开发,费时费力,但是可以你通过 OpenWrt 快速构建一 个应用平台,OpenWrt 从交叉编译器,到 linux 内核,再到文件系统甚至 bootloader 都整 合在了一起,形成了一个 SDK 环境。其多达 3000 多种软件包(数量还在增加),囊括从工 具链(toolchain),到内核(linux kernel),到软件包(packages),再到根文件系统(rootfs) 整个体系,使得用户只需简单的一个 make 命令即可方便快速地定制一个具有特定功能的嵌 入式系统来制作固件,大大减少了嵌入式软件开发的工序。当你熟悉这些嵚入式 Linux 的 基本开发流程后你不再局限于 MIPS 处理器和无线路由器 ,你可以尝试在其它处理器 ,或 者非无线路由器的系统移植嵌入式 Linux, 定制合适自己的应用软件 , 并建立一个完整的 嵌入式产品。 OpenWrt 的成功之处还在于它的文件系统是可写的,开发者无需在每一次修改后重新 编译系统,并且可以像 PC 机上的 linux 系统一样,用命令安装一些安装包,不用手动配置, 这些都令它更像一个小型的 Linux 电脑系统。 1.3 OpenWrt 版本发展史 OpenWrt 项目由 2004 年 1 月开始 ,第一个版本是基于 Linksys 提供的 GPL 源码及 5
智盛电子 JS9331 开发板 openwrt 入门教程 www.joysince.com joysince.taobao.com uclibc 中的 buildroot 项目 ,这个版本称为“stable”版 ,在网上至今仍有很多项目用这 个版本 ,较为有名 Freifunk-Firmware 和 Sip@Home。到了 2005 年初,一些新的开人员加入 了这项目 ,几个月后他们释出了第一个“experimental”版本 ,这和以前版本不同的是 , 这 版本差不多完全舍弃了 Linksys 的 GPL 源码 , 使用了 buildroot2 作为核心技术 ,将 OpenWrt 完全模块化,OpenWrt 使用 Linux 正式发行的核心源码( 2.4.3x ) 加上了一些 补丁和网络驱动 ,开发队伍更为 OpenWrt 添加了许多免费的工具,你可以直拉把 Image 写 入 Flash(mtd)里面,设定无线功能 和 VLAN 交换功能,这个版本名为“White Russian”, 而 1.0 版本大概 于 2005 年底公布。2006-2009 年是 OpenWrt 迅猛发展的时间,这个时候的 OpenWrt 所支持的平台不仅仅限于 broadcom 的 SoC,它开始支持 Intel IXP 为首的 ARM 平 台,以及 PowerPC,MIPS 24K R2,x86 等各种新平台。在软件应用上出现了以 LuCi 跟 Webif 为首的 UI 以及各种更新软件包。 版本时间轴 版本号 发布日期 代号 版本前沿 测试中 持续更新 Chaos Calmer 稳定版本 2014 年 10 月 2013 年 4 月 Attitude Adjustment Barrier Breaker Backfire Backfire Kamikaze Kamikaze Kamikaze Kamikaze Kamikaze Kamikaze 14.07 12.09 10.03.1 2011 年 12 月 2010 年 4 月 10.03 8.09.2 2010 年 1 月 2009 年 6 月 8.09.1 8.09 2008 年 9 月 2007 年 9 月 7.09 2007 年 7 月 7.07 7.06 2007 年 6 月 2007 年 1 月 White Russian0.9 0.9 2006 年 11 月 White RussianRC6 0.x 0.x 2006 年 3 月 White RussianRC5 2005 年 11 月 White RussianRC4 0.x 0.x 2005 年 9 月 White RussianRC3 2005 年 7 月 White RussianC2 0.x 2005 年 6 月 White RussianRC1 0.x 0.x 2005 年 2 月 Before experimental 6
智盛电子 JS9331 开发板 openwrt 入门教程 www.joysince.com joysince.taobao.com 2. 开发学习概述 在这里,我们将采用 OpenWrt 的应用场景大致分为以下两种。 一种是直接使用 OpenWrt 现有的固件和安装包,做一些应用和配置。这种应用情景对 人员的技术水平要求不是很高,一般对 linux 有了解的,甚至是未接触过 linux 的人员也可以。 另一种是需要对 OpenWrt 进行一些功能的定制,以实现现有 OpenWrt 版本未实现的功 能或修改现有功能的情况,这种情况要求开发人员有一定的 linux 基础知识和开发能力。 以下“入门开发篇”主要针对 OpenWrt 初级用户,“深入开发篇”主要针对希望深入学 习 OpenWrt 的用户。 3. 入门应用篇 在本篇中,我们并不介绍如何编译 OpenWrt、敲命令等,因为这些知识一开始就要求初 学者掌握似乎比较困难,对于只是想用 OpenWrt 现有功能的用户来说,这些知识都是没必 要的。下面我们就以 JS9331 开发板为平台,开始学习如何使用 OpenWrt。 3.1 进入 OpenWrt 系统 首先给 JS9331 开发板上电,连接网线。开发板启动完成后,在浏览器地址栏中输入 192.168.1.251,在登录界面用户名和密码都输入“root”,登录 OpenWrt 系统(如不清楚如 何启动开发板,请查看《JS9331 开发使用手册》 “开机测试”一节,其中有更详细的启动 步骤,这里不再赘述)。 登录后的 OpenWrt 网页界面,如下图所示 7
智盛电子 JS9331 开发板 openwrt 入门教程 www.joysince.com joysince.taobao.com 在登录 OpenWrt 后的首个页面是“总览”页面。在这里,我们可以看到各种系统信息, 包括主机名、linux 内核版本号、固件版本、内存大小等。 3.2 系统菜单 通过 OpenWrt 配置页面的系统顶部菜单,我们可以配置 OpenWrt 一部分功能(用户还 可以通过串口、ssh、telnet 进入系统 shell 进行更高级的系统配置,这些将在“深入开发篇” 中进行介绍)。 系统顶部菜单栏如下图所示。 其中有“状态”、“系统”、“网络”、“退出”这几项,这些是系统的初始菜单项,有时新 增一些功能,会增加一些新的菜单项。 下面我们就按照这几个主菜单项的顺序依次介绍它们,以及其中部分的各子菜单项功能。 3.2.1 “状态”菜单项 “状态”菜单项包含以下子菜单项。 1) “总览” 子菜单, 显示的即进入 OpenWrt 系统后显示的第一页面,前面已经介绍过了。 2) “防火墙” 子菜单 显示的是根据菜单项“网络”->“防火墙”中设置的防火墙规则,当前网络的流量 情况。 3) “路由表” 子菜单 显示的是当前设备(JS9331 开发板)的路由表。 4) “系统日志” 子菜单 显示的是系统守护进程打印的一些信息,当系统出错时,用户可以根据里面的一些 提示也许能找到问题。 5) “内核日志” 子菜单 8
分享到:
收藏