第1章 Open W rt开发前的准备 1
1.1 开发环境搭建 1
1.1.1 从零开始搭建Ubuntu开发环境 1
1.1.2 安装开发环境 7
1.1.3 安装编译工具和源代码 13
1.2 使用git管理源代码 19
1.2.1 用git命令初始化代码 20
1.2.2 用gitk工具来图形化管理(可以用MobaXterm启动) 20
第2章 Open W rt开发基础 24
2.1 shell脚本编程基础 24
2.1.1 初识OpenWrt shell 24
2.1.2 基本的ash shell命令 28
2.1.3 更多的ash shell命令 48
2.1.4 进一步理解ash shell 62
2.1.5 理解Linux文件权限 73
2.1.6 使用Linux环境变量 81
2.1.7 使用编辑器vi (vim) 89
2.1.8 脚本编程基础 94
2.2 Makefile简介 119
2.2.1 GNU make介绍 120
2.2.2 Makefile基础 127
2.2.3 Makefile的书写规则 134
2.2.4 Makefile的书写命令 142
2.2.5 Makefile的变量使用 145
2.2.6 make命令的执行 159
2.2.7 Makefile中的控制语句(条件判断) 167
2.2.8 Makefile中的隐含规则 170
第3章 Open W rt开发实战 175
3.1 疯壳Demo开发板简单介绍 175
3.2 Uboot简介——基于MTK官方提供的Uboot 177
3.2.1 Uboot配置过程 178
3.2.2 Uboot编译 182
3.2.3 ROM版本Uboot—— Uboot烧写版本 183
3.2.4 RAM版本Uboot——Uboot调试版本 185
3.2.5 Uboot启动命令选项 189
3.2.6 增加缺省环境变量值 199
3.2.7 Uboot的系统初始化 201
3.2.8 Uboot第二阶段——启动内核过程 211
3.2.9 Uboot基本命令 213
3.2.10 Uboot常用命令详解 218
3.3 Kernel简介——基于MTK官方提供的Kernel 219
3.3.1 Kernel配置过程 219
3.3.2 Kernel编译——编译一个带有根文件系统的image 226
3.3.3 移植一个新的内核模块到SDK中 227
3.3.4 系统启动时执行的命令——更新rcS文件 229
3.3.5 根文件系统rootFs中增加新的文件 229
3.3.6 裁剪 Image的尺寸 230
3.3.7 Kernel烧写和调试 233
3.4 应用程序库的编译(user Library) 238
3.4.1 50.Library配置过程 238
3.4.2 Library的移植 239
3.4.3 编译user Library 241
3.5 应用程序简介 241
3.5.1 MTK所有权的应用程序 241
3.5.2 桥的配置软件bridge-utils 247
3.5.3 BusyBox应用程序 248
3.5.4 ctorrent-dnh 3.2应用程序 249
3.5.5 curl应用程序 249
3.5.6 dnsmasq-2.40应用程序 249
3.5.7 dropbear-0.52应用程序 250
3.5.8 ebtables应用程序 250
3.5.9 iptables应用程序 250
3.5.10 ntfs-3g应用程序 250
3.5.11 samba应用程序 250
3.5.12 strace应用程序 251
3.5.13 tcpdump应用程序 251
3.5.14 wireless_ tools应用程序 251
3.5.15 wpa_supplicant-0.5.7应用程序 251
3.6 移植新的应用程序 252
3.7 OpenWrt移植、编译、使用 254
3.7.1 OpenWrt介绍 254
3.7.2 关于SDK 254
3.7.3 编译SDK 255
3.7.4 Web访问 258
参考文献 264