目录 第1章 内核与根文件系统 .......................................................................................1 1.1树莓派简介.................................................................................................. 1 1.1.1 核心处理器 ....................................................................................... 3 1.1.2 树莓派操作系统 ................................................................................ 4 1.1.3 树莓派接口 ....................................................................................... 4 1.2开发工具 ..................................................................................................... 4 1.2.1 编译工具 .......................................................................................... 5 1.2.2 调试接口 .......................................................................................... 6 1.3树莓派的外存储器........................................................................................ 8 1.3.1 SD卡分区 ........................................................................................ 8 Bootloader........................................................................................ 9 1.3.2 1.4 Linux内核 .................................................................................................10 1.4.1 获取内核源码...................................................................................11 1.4.2 配置和编译内核 ...............................................................................11 1.5根文件系统.................................................................................................15 1.5.1 编译 BusyBox..................................................................................15 1.5.2 初始化 RAMDisk .............................................................................18 1.5.3 构造 Ext4分区 ................................................................................27 1.5.4 配置文件 .........................................................................................31 1.5.5 网络文件系统...................................................................................40 1.6本章小结 ....................................................................................................40 第 2章基础系统................................................................................................... 42 2.1软件编译 ....................................................................................................42 2.1.1 软件的依赖关系 ...............................................................................42 2. 1.2 基础系统软件...................................................................................43 2. 1.3 软件编译方法...................................................................................44 2.2包管理器 ....................................................................................................49 2.2.1 数据压缩 .........................................................................................49 2.2.2 编译 dpkg........................................................................................56 2. 2.3 安装包格式 ......................................................................................57 2.3安装软件包 .................................................................................................60 2.4其他软件编译 .............................................................................................61 2.4.1 Vim编辑器 .....................................................................................61 2.4.2 时区数据 .........................................................................................66 2. 4.3 文件系统工具...................................................................................67 bash................................................................................................67 2.4.5 systemd...........................................................................................68 2.5网络工具 ....................................................................................................71 2. 5.1 编译网络工具...................................................................................71 2.5.2 远程连接 .........................................................................................78 2. 5.3 无线网络连接...................................................................................78 2.5.4 安装 dropbear..................................................................................81 2.6本章小结 ....................................................................................................84 2.4.4 第 3章桌面系统................................................................................................... 86 3.1 X Window系统..........................................................................................86 3.2基础图形库 .................................................................................................91 3.2.1 libpng..............................................................................................92 3.2.2 libjpeg.............................................................................................95 JasPer .............................................................................................96 3.2.3 TIFF...............................................................................................97 3.2.4 3.2.5 librsvg...........................................................................................104 3. 3 文字显示及渲染 ........................................................................................105 Glib ..............................................................................................107 3.3.1 3.3.2 FreeType .......................................................................................111 HarfBuzz .......................................................................................116 3.3.3 FriBidi...........................................................................................117 3.3.4 3.3.5 Fontconfig......................................................................................118 3.3.6 Pango............................................................................................119 3.4 图形工具库 GTK......................................................................................120 GDK-PixBuf..................................................................................122 3.4.1 ATK..............................................................................................122 3.4.2 Cairo.............................................................................................123 3.4.3 mesa .............................................................................................126 3.4.5 GTK及其应用程序 ........................................................................128 3.5 XFCE4桌面环境 ......................................................................................131 3. 5.1 窗口管理器 xfwm4 .........................................................................132 3. 5.2 会话管理器 xfce4-session.................................................................133 3. 5.3 桌面设置管理器 xfce4-settings.........................................................133 3. 5.4 桌面管理器 xfdesktop.....................................................................134 3. 5.5 文件管理器 Thunar ........................................................................135 3. 5.6 终端仿真器 ....................................................................................136 3.6 X服务 .....................................................................................................136 3.6.1 编译 xorg-server.............................................................................138 3.6.2 X系统其他支持 .............................................................................139 3.6.3 启动 XFCE4 ..................................................................................139 3.7本章小结 ..................................................................................................141 3.4.4 第 4章 Linux应用软件 ...................................................................................... 142 4.1远程桌面 ..................................................................................................142 4.1.1 移植 VNC......................................................................................142 4.1.2 中文化 ...........................................................................................144 4.2媒体播放器 ...............................................................................................147 4. 2.1 音、视频编码与解码.......................................................................147 4. 2.2 音频子系统 ....................................................................................149 4.2.3 播放器 mpv ...................................................................................154 4.3文档阅读工具 ...........................................................................................155 4.3.1 Poppler .........................................................................................155 libsecret.........................................................................................156 4.3.2 libXML2........................................................................................157 4.3.3 4.3.4 gspell ............................................................................................158 4.4网络视频监控 ...........................................................................................158 4.5本章小结 ..................................................................................................161 第 5章板载开发环境 .......................................................................................... 162 5.1编译器 .....................................................................................................162 5.2版本控制系统 GIT....................................................................................165 5.3 Python简介.............................................................................................166 5.3.1 Python发展史 ...............................................................................166 5.3.2 Python编程理念............................................................................167 5.3.3 Python的应用 ...............................................................................167 5.4 Python的移植 .........................................................................................167 5.4.1数据库软件 SQLite.........................................................................169 5.4.2 Tcl/Tk ..........................................................................................170 5.4.3编译 Python ..................................................................................171 5.4.4安装 pip ........................................................................................172 5.5 Python基本使用 ......................................................................................173 5.5.1 Python编程工具............................................................................173 5.5.2运行 Python程序 ..........................................................................174 5.5.3交互方式 .......................................................................................175 5.6本章小结 ..................................................................................................176 第 6章树莓派接口控制....................................................................................... 177 6. 1 树莓派设备扩展 ........................................................................................177 GPIO............................................................................................177 6.1.1 PWM............................................................................................179 6.1.2 6.1.3扩展接口资源配置 ..........................................................................180 6.2树莓派 GPIO模块....................................................................................181 6.2.1安装模块 .......................................................................................181 6.2.2使用 GPIO模块 ............................................................................182 6.3 GPIO控制输出设备 .................................................................................184 6.4 GPIO输入功能 ........................................................................................185 6. 4.1基本输入功能.................................................................................185 6.4.2 GPIO高级输入功能 .......................................................................186 6.5 PWM模块...............................................................................................188 6. 6传感器和控制器 ........................................................................................190 6.6.1蜂鸣器 ...........................................................................................190 6.6.2传感器 ...........................................................................................191 6. 6.3红外遥控器 ....................................................................................191 6. 6.4直流电动机 ....................................................................................196 6. 6.5伺服电动机 ....................................................................................197 6. 6.6步进电动机 ....................................................................................198 6. 6.7超声波测距 ....................................................................................203 6.6.8控制 SPI设备 ................................................................................204 6.6.9 I2C应用........................................................................................207 6.7本章小结 ..................................................................................................212 参考文献 ............................................................................................................... 214 扩展资源 ............................................................................................................... 216 索引 ...................................................................................................................... 217