使用 qemu 调试 linux kernel
在 Ubuntu 中build kernel 参考如下:
[Ref] https://wiki.ubuntu.com/KernelTeam/GitKernelBuild 可以直接在宿主机调试kernel, 但是当发生崩溃之后,工作环境又要重新配置。
所以考虑用 qemu,因为它有个option: -kernel, 可以直接引导kernel。比 VirtualBox 等虚拟机更快速更方便。
尝试使用 qemu 直接启动主机上的kernel $ sudo qemu-system-x86\_64 -kernel /boot/vmlinuz-\`uname -r\`
这会提示缺少文件系统
可以使用 debootstrap 构建一个rootfs ``` IMG=qemu-image.img DIR=mount-point.dir qemu-img create $IMG 1g mkfs.ext2 $IMG mkdir $DIR sudo mount -o loop $IMG $DIR sudo debootstrap –arch amd64 jessie $DIR sudo umount $DIR rmdir $DIR
这里最好用一下 chroot 和 passwd 更新一下文件系统里的密码,以免启动之后登不进去。