目 录
第1章 嵌入式Linux操作系统简介 1
1.1 操作系统 1
1.1.1 操作系统的基本概念 1
1.1.2 操作系统的主要组成 3
1.2 嵌入式系统与通用PC系统的不同 5
1.3 嵌入式操作系统 6
1.4 嵌入式Linux基础 8
1.4.1 Linux 发展概述 8
1.4.2 Linux作为嵌入式操作系统的优势 10
1.4.3 Linux发行版本 11
1.5 Linux系统安装 12
1.5.1 文件系统和硬盘分区的概念 12
1.5.2 安装准备 14
1.5.3 安装过程 15
1.6 安装虚拟机工具 31
1.7 配置vim编辑环境 38
思考题 38
第2章 Linux 操作系统的使用 39
2.1 认识Shell 39
2.2 Shell命令的格式 41
2.2.1 命令提示符 41
2.2.2 命令格式 41
2.3 Linux命令 42
2.3.1 用户系统相关命令 42
2.3.2 文件、目录相关命令 47
2.3.3 压缩打包相关命令 57
2.3.4 文件比较命令diff 60
2.4 Linux 环境变量 63
思考题 65
第3章 Linux软件管理 66
3.1 Linux系统的软件管理机制 66
3.1.1 常用软件包管理工具简介 66
3.1.2 软件的安装与卸载 70
3.1.3 静态软件包的管理 73
3.1.4 如何制作一个软件包 77
3.2 APT高级软件包管理工具 79
3.2.1 APT的运行机制 79
3.2.2 3个重要的配置文件 81
3.2.3 apt-get工具集 82
3.2.4 apt-cache工具集 89
第4章 Linux用户管理 95
4.1 什么是用户 95
4.1.1 用户的属性 95
4.1.2 用户与组 96
4.1.3 相关的配置文件 96
4.2 管理命令 98
4.2.1 创建用户 98
4.2.2 删除用户 99
4.2.3 修改属性 99
4.2.4 组管理 100
4.2.5 用户间通信 101
4.3 磁盘配额 101
4.3.1 什么是磁盘配额 101
4.3.2 相关命令 102
4.3.3 应用实例 104
第5章 Linux文件系统 108
5.1 文件和目录 108
5.1.1 Linux文件的分类 108
5.1.2 Linux目录结构 109
5.2 文件系统 110
5.3 文件系统体系结构 111
5.4 使用BusyBox制作根文件系统 113
5.4.1 配置与编译BusyBox 113
5.4.2 制作initrd镜像 114
思考题 118
第6章 Linux网络配置管理 119
6.1 网络基础知识介绍 119
6.1.1 IP地址 119
6.1.2 子网掩码 120
6.1.3 网关 120
6.1.4 DNS服务器 121
6.2 Linux系统网络配置 121
6.2.1 ifconfig命令 122
6.2.2 dhclient命令 124
6.2.3 修改配置文件来配置IP地址、网关、子网掩码 125
6.2.4 配置DNS服务器 126
6.3 Linux系统常用网络服务配置 127
6.3.1 TFTP服务 127
6.3.2 NFS服务 130
6.3.3 SSH服务 134
6.3.4 Samba服务 138
思考题 140
第7章 嵌入式Linux编程环境 141
7.1 Linux编辑器vi的使用 141
7.1.1 vi的工作模式 142
7.1.2 使用vi的基本流程 142
7.1.3 vi的模式按钮说明 144
7.2 gcc编译器 147
7.2.1 gcc编译流程及编译选项分析 147
7.2.2 gcc编译选项分析 149
7.3 gdb调试器 151
7.3.1 gdb使用流程 152
7.3.2 gdb命令行参数 156
7.3.3 gdb基本命令 157
7.4 Make工程管理器 162
7.4.1 Makefile基本规则 162
7.4.2 Makefile假目标 167
7.4.3 Makefile变量 168
7.4.4 Makefile函数 170
思考题 174
第8章 Shell编程 175
8.1 认识Shell脚本 175
8.2 Shell脚本的基本语法 176
8.2.1 开头 176
8.2.2 执行 176
8.2.3 注释 177
8.2.4 变量 177
8.2.5 Shell程序和语句 183
8.2.6 Shell函数 195
8.2.7 Shell脚本调用 197
8.3 Shell俄罗斯方块游戏 198
8.3.1 方块定义 198
8.3.2 方块移动 203
8.3.3 随机数 211
8.3.4 随机方块移动 215
8.3.5 随机方块降落 221
第9章 中断及设备管理 228
9.1 什么是中断 228
9.2 嵌入式平台硬件中断特点 229
9.3 Linux内核中断机制概述 233
9.3.1 中断处理系统结构 237
9.3.2 注册中断处理函数 238
9.3.3 中断标志flags 240
9.3.4 ISR上下文 241
9.4 设备及设备管理的功能 241
9.4.1 设备分类 241
9.4.2 设备管理 242
9.4.3 Linux字符设备 242
9.4.4 Linux块设备 244
9.4.5 Linux网络接口 244
9.4.6 Linux设备文件 245
思考题 247