用Buildroot打造轻量级Linux发行版
📚 共计 30 章节
01
课程导学与Buildroot初探
什么是Buildroot · 为什么选择Buildroot · 对比Yocto/OpenWrt · 学习路径
导论
对比
02
开发环境准备
Linux主机搭建 · 安装依赖 · 配置Git/Repo · TFTP/NFS服务器
环境
工具链
03
Buildroot源码获取与目录结构
下载源码 · 顶层目录解析(board/configs/package) · 版本选择
源码
结构
04
配置Buildroot基础选项
make menuconfig · Target/Build选项 · 保存与加载配置
配置
入门
05
Toolchain配置详解
内建vs外部工具链 · GCC/uClibc/glibc/musl · 内核头文件
工具链
GCC
06
Bootloader配置
U-Boot详解 · 板级支持 · 环境变量 · SPL/TPL生成
U-Boot
启动
07
Linux内核配置
内核源码路径 · linux-menuconfig · 裁剪内核 · 设备树
内核
设备树
08
根文件系统配置
ext4/squashfs/initramfs · BusyBox · systemd vs BusyBox init
根文件系统
BusyBox
09
用户空间软件包配置
添加/删除包 · 版本/编译选项 · 依赖处理
软件包
依赖
10
自定义Overlay与后处理脚本
rootfs overlay · post-build/post-image · 定制inittab
Overlay
脚本
11
配置网络与连接
DHCP/静态IP · Wi-Fi(wpa_supplicant) · 蓝牙 · SSH(dropbear/openssh)
网络
Wi-Fi
12
配置存储与文件系统
MTD/UBIFS · SD卡/eMMC分区 · F2FS · LVM
存储
文件系统
13
配置图形界面与显示
Framebuffer · DirectFB · Qt/Embedded · SDL2
图形
显示
14
配置音频与多媒体
ALSA · PulseAudio · FFmpeg/GStreamer · MPD
音频
多媒体
15
配置开发与调试工具
GDB/Strace/Ltrace · Valgrind · Perf · 工具链测试
调试
性能
16
配置安全特性
SELinux/AppArmor · iptables/nftables · OpenSSL/mbedTLS · 安全启动
安全
防火墙
17
配置实时性(RT)
PREEMPT_RT · 实时库 · cyclictest · Xenomai
实时
RT
18
配置容器与虚拟化
Docker/Containerd · LXC/LXD · KVM/QEMU · Podman
容器
虚拟化
19
配置Python与脚本语言
Python3模块 · Lua · Node.js · Perl
Python
脚本
20
配置数据库与数据服务
SQLite · MySQL/MariaDB · Redis · InfluxDB
数据库
数据
21
配置Web服务器与云服务
Lighttpd/Nginx · PHP-FPM · AWS IoT · Azure IoT Edge
Web
云
22
配置传感器与IoT协议
I2C/SPI工具 · MQTT(Mosquitto) · CoAP · LoRaWAN
IoT
传感器
23
配置FPGA与异构计算
FPGA管理器 · OpenCL · Xilinx/Intel工具链 · RPMSG
FPGA
异构
24
配置测试与CI/CD
LTP · pytest · Jenkins Agent · QEMU测试
测试
CI/CD
25
多架构与交叉编译
ARM/ARM64 · RISC-V · MIPS · x86_64 · 多架构构建
交叉编译
架构
26
外部工具链与SDK
ARM GCC Linaro · Android NDK · Vivado SDK · 自定义外部工具链
SDK
工具链
27
构建与调试
make构建 · 错误处理 · graph-depends · savedefconfig
构建
调试
28
生成与部署镜像
genimage · 烧录脚本 · OTA(swupdate) · 工厂镜像
镜像
部署
29
实战项目一:最小化IoT网关
需求分析 · 配置选择 · 构建测试 · 性能优化
实战
IoT
30
实战项目二:多媒体播放器
需求分析 · 配置选择 · 构建测试 · 性能优化
实战
多媒体