奔跑吧Linux内核实验手记:从零搭建Linux实验环境
实验环境准备
- 主机配置:Intel i7-10750H/32GB RAM/1TB NVMe SSD
- VMware Workstation 17 Pro(已安装Windows 10专业版)
- Ubuntu 20.04.6 LTS Desktop镜像(清华源下载)
实验一:安装Ubuntu 20.04 Desktop
关键步骤记录
- 创建新虚拟机(典型配置):
- 安装后优化配置:
- 创建初始快照:vmware-snapshot.png
注意事项:
- 选择ext4文件系统时勾选"LVM"便于后续扩容
- 安装时创建普通用户并设置sudo权限
- 开启SSH服务方便远程连接
实验二:内核升级实践(5.15.0 → 6.5.0)
详细操作流程
遇到的问题:
- 编译时报错 undefined reference to __stack_chk_guard'`:
- 新内核启动黑屏:
实验三:QEMU运行ARM64系统
完整命令记录
关键参数解析:
- -M virt :选择ARM虚拟化平台
- hostfwd=tcp::2222-:22 :端口映射实现SSH连接
- -nographic :控制台输出模式
实验四:构建自定义根文件系统
详细构建过程
常见问题处理:
- 报错 debootstrap requires root privileges :使用sudo执行
- 中文乱码:安装locales包并配置LANG=zh_CN.UTF-8
- 网络不通:检查/etc/resolv.conf配置DNS
实验五:ARM64最小系统编译
交叉编译全流程
启动验证:
实验管理技巧
- 快照策略:
- 基础快照:纯净系统
- 实验快照:每个实验完成后创建
- 命名规范:日期+实验编号(如202308_Lab1-2)
- 磁盘空间优化:
- 实验记录建议:
- 使用markdown格式记录关键步骤
- 保存重要命令到脚本文件
- 对每个实验进行结果验证(如uname -a检查内核版本)
学习心得
通过本系列实验,我深刻体会到:
- 版本兼容性是最大的挑战,需要:
- 仔细阅读官方文档
- 及时更新软件源
- 保持实验环境一致
- 自动化工具的重要性:
- 编写Shell脚本自动化重复操作
- 使用Makefile管理编译流程
- 利用Git进行版本控制
- 调试技巧的提升:
- 掌握dmesg日志分析方法
- 熟练使用GDB调试内核
- 理解QEMU监控命令(Ctrl+A C)