首页
›
嵌入式与底层系统
›
001-Linux内核架构与构建工程
›
《Linux内核启动日志与QEMU模拟器调试实战工程》
VIP20
本课程属于:001-Linux内核架构与构建工程
嵌入式与底层系统 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux内核启动日志与QEMU模拟器调试实战
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导论与实验环境总览
Linux内核启动流程概述 · QEMU模拟器简介 · 本课程实验环境(Ubuntu 22.…
课程导论
实验环境总览
02
QEMU模拟器深度安装与配置
从源码编译QEMU · 配置支持x86_64/ARM/RIS… · 安装必要依赖包
QEMU
模拟器深度安装
03
Linux内核源码获取与版本管理
使用git clone获取Linux… · 切换至稳定版本(v6.1) · 了解内核源码目录结构(arch
Linux
内核源码获取
04
内核编译配置基础(make menuconfig)
安装ncurses库 · 运行make menuconfig · 配置General Setup
make
menuconfig
05
最小化内核配置实战
制作一个仅支持x86_64架构的最小… · 关闭所有非必要驱动和子系统 · 生成bzImage
最小化内核配置实…
x86
06
内核编译与构建(make)
理解make命令参数(-jN · V=1) · 编译输出产物(vmlinux
make
内核编译
07
制作最小根文件系统(BusyBox)
下载并编译BusyBox · 构建/bin /sbin /etc… · 生成init脚本
BusyBox
制作最小根文件系…
08
QEMU启动第一个内核
使用qemu-system-x86_… · 观察串口输出
QEMU
启动第一个内核
09
内核启动日志(dmesg)深度解析
解析早期启动日志(early pri… · 内核初始化日志 · 驱动加载日志
dmesg
内核启动日志
10
printk与日志级别
printk函数原型 · 8个日志级别(KERN_EMERG… · 通过/proc/sys/kernel…
printk
日志级别
11
early printk技术
在CPU初始化早期使用printk · 配置CONFIG_EARLY_PRI… · 在setup_arch()中添加自定…
early
printk
12
动态调试(Dynamic Debug)
配置CONFIG_DYNAMIC_D… · 使用debugfs控制特定文件/函数… · 动态开启/关闭日志
Dynamic
Debug
13
QEMU调试基础
QEMU的-gdb选项 · 连接GDB到QEMU · 设置断点
QEMU
调试基础
14
GDB调试内核(kgdb)
配置内核支持KGDB(CONFIG_… · 使用QEMU串口作为KGDB通道 · 远程调试内核模块
GDB
kgdb
15
QEMU的monitor与QMP
进入QEMU monitor(Ctr… · 使用info registers/s… · 通过QMP(QEMU Machine…
QEMU
monitor
16
内核Oops与Panic分析
模拟内核Oops(如空指针解引用) · 分析Oops信息(寄存器 · 栈回溯
Oops
Panic
17
QEMU的virtio与块设备调试
配置virtio-blk设备 · 挂载ext4根文件系统 · 调试块设备驱动(block laye…
QEMU
virtio
18
网络设备调试(e1000/virtio-net)
QEMU添加e1000网卡 · 配置内核网络驱动 · 使用tcpdump与netconso…
e1000/virtio…
网络设备调试
19
中断与异常调试
配置APIC/IOAPIC · 使用QEMU的-gdb跟踪中断处理流… · 分析irqbalance与中断亲和性
异常调试
APIC/IOAPIC
20
时间子系统调试
配置HPET/TSC/ACPI PM… · 使用printk输出jiffies与… · 分析时钟中断处理函数
时间子系统调试
HPET/TSC/ACP…
21
内存管理调试(SLUB/页分配器)
配置CONFIG_SLUB_DEBU… · 使用slabinfo与page_ow… · 跟踪kmalloc/kfree路径
SLUB
内存管理调试
22
进程调度调试(CFS)
配置CONFIG_SCHEDSTAT… · 使用/proc/sched_debu… · 分析调度延迟与负载均衡
CFS
进程调度调试
23
同步机制调试(spinlock/mutex)
配置LOCKDEP与CONFIG_D… · 模拟死锁场景 · 使用lockdep报告分析
spinlock/mut…
同步机制调试
24
文件系统调试(VFS/ext4)
配置ext4调试选项 · 使用tracepoint跟踪文件读写… · 分析dentry与inode缓存
VFS/ext4
文件系统调试
25
设备驱动模型调试(platform/driver)
编写一个简单的platform驱动 · 使用QEMU添加platform设备 · 调试probe/remove流程
platform/dri…
设备驱动模型调试
26
QEMU的ftrace集成
配置内核ftrace(CONFIG_… · 使用trace-cmd记录QEMU内… · 分析函数调用图
QEMU
ftrace
27
perf性能分析
配置内核perf(CONFIG_PE… · 使用perf stat/top/re… · 结合QEMU的kvm_stat
perf
性能分析
28
QEMU的GDB脚本自动化
编写Python GDB脚本(如gd… · 自动解析内核数据结构(task_st… · list_head)
QEMU
GDB
29
多架构调试(ARM64/RISC-V)
使用QEMU的virt平台启动ARM… · 配置GDB多架构支持 · 交叉编译与调试
ARM64/RISC-V
多架构调试
30
综合实战
从零调试一个内核模块Bug · 使用QEMU+KGDB定位Bug · 修复并验证
综合实战
Bug
所属VIP或分类
同VIP:Kconfig裁剪-关闭调试选项与未用架构的内核编译加速
同VIP:Kconfig语法与Linux内核配置菜单定制实战工程
同VIP:Linux内核启动异常定位与QEMU调试实践工程