VIP20
本课程属于:009-rootfs制作 启动链与BSP系统构建 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

内核配置与Rootfs启动挂载全流程

📚 共计 30 章节
01
课程导论与启动流程全景
什么是内核配置?什么是Rootfs?为什么需要挂载?从按下电源键到登录Shell的完整旅程。
全景导论
02
硬件初始化与Bootloader
CPU复位、ROM代码、SPL、U-Boot的使命,如何加载内核到内存。
Bootloader硬件
03
内核镜像的构成
vmlinux vs zImage vs uImage,压缩与解压缩的奥秘,DTB设备树的位置。
镜像DTB
04
内核配置系统详解
Kconfig语法、Makefile依赖、menuconfig图形界面操作。
Kconfigmenuconfig
05
核心子系统配置
进程调度、内存管理、中断子系统、时间子系统必须开启的选项。
调度内存中断
06
驱动配置实战
串口、MMC/SDIO、NAND Flash、网络设备驱动的配置与依赖。
驱动串口MMC
07
文件系统驱动配置
EXT4、F2FS、SquashFS、OverlayFS、NFS的配置选项。
文件系统EXT4
08
内核编译与输出产物
交叉编译链设置、make命令详解、编译产物分析(vmlinux, modules, dtbs)。
编译make
09
设备树(DTB)基础
DTS语法、reg/interrupts属性、GPIO/时钟绑定、生成DTB。
设备树DTS
10
内核启动参数(cmdline)
console、root、rootfstype、init、rw/ro等关键参数解析。
cmdline参数
11
内核解压与入口
自解压代码、stext入口、页表初始化、CPU模式切换。
解压入口
12
内核早期启动
setup_arch、early_fixmap、console初始化、bootmem分配器。
早期启动bootmem
13
中断与定时器初始化
GIC初始化、时钟事件设备、时钟源设备、jiffies与高精度定时器。
中断定时器
14
调度器与进程初始化
sched_init、init_task、PID分配器、CFS调度器启动。
调度器CFS
15
内存管理初始化
memblock分配器、页表建立、伙伴系统、slab分配器、vmalloc区域。
内存slab
16
VFS与Sysfs初始化
VFS挂载根目录、sysfs创建、kobject模型、uevent机制。
VFSsysfs
17
设备驱动模型
bus/device/driver注册、platform总线、设备树匹配、probe流程。
驱动模型platform
18
块设备子系统
I/O调度器、请求队列、gendisk、分区扫描、块设备驱动注册。
块设备I/O
19
Rootfs的概念与类型
initramfs(cpio)、initrd(ramdisk)、真实块设备Rootfs。
Rootfsinitramfs
20
initramfs的构建与集成
gen_init_cpio、内核内嵌initramfs、启动时解压。
initramfscpio
21
initrd的加载与挂载
ramdisk驱动、rd_load_image、挂载为根文件系统。
initrdramdisk
22
真实设备Rootfs挂载
do_mount_root、文件系统识别、超级块读取、根目录切换。
挂载超级块
23
init进程的诞生
kernel_init、run_init_process、/sbin/init的启动。
init进程
24
Busybox与最小Rootfs
编译Busybox、创建/dev、/proc、/sys、/etc/inittab。
Busybox最小系统
25
OpenRC与Systemd对比
两种init系统的启动流程、服务管理、依赖处理。
OpenRCSystemd
26
挂载失败与Kernel Panic
常见错误(VFS: Unable to mount root fs)、排查方法。
Panic调试
27
调试手段
earlyprintk、initcall_debug、loglevel、JTAG、QEMU调试。
调试QEMU
28
NFS Rootfs挂载
网络启动配置、内核NFS客户端、服务器配置、无盘工作站。
NFS网络启动
29
OverlayFS与只读Rootfs
SquashFS+OverlayFS实现读写覆盖、OTA升级基础。
OverlayFSOTA
30
课程总结与实战演练
从零配置内核、构建Rootfs、QEMU启动验证全流程。
实战QEMU