首页 > 学院 > 开发设计 > 正文

使用qemu运行指定内核

2019-11-06 08:28:20
字体:
来源:转载
供稿:网友

qemu除了是运行虚拟机的工具,也是内核开发调试的好帮手。内核开发者和测试人员常常在qemu中运行指定的内核来验证功能。

这么做有几个好处

同一台物理机上可以运行多个qemu内核编译和虚拟机本身分离代码只需要在主机上有副本,而不需要在虚拟机內也有减少了对虚拟机內系统配置要求相对物理机启动虚拟机的时间要短内核调试

总之,这个功能真的很不错,而且其实并不难。

命令行

sudo qemu-system-x86_64 -m 4096 /-smp 4 --enable-kvm /-drive file=/home/richard/guest/Ubuntu.img /-kernel /boot/vmlinuz-4.7.0+ /-initrd /boot/initrd.img-4.7.0+ /-append 'root=/dev/sda1 ro quiet splash' /-vnc :4

通扑通命令之间相差的就是那三个参数。

kernel 就是你要运行的内核了initrd 对应的initrdappend 传给内核的参数

前面两个好说,最后那个可以看引导程序中的参数,抄过来就可以了。

另外需要注意一点,如果主机和虚拟机使用的是同一个发行版,安装方式是一样的,这么做没有什么问题。但是如果不一样可能会遇到问题。比如我遇到过的问题是虚拟机中使用了lvm,这样需要initrd中也有相应的模块,否则会找不到根文件系统。

这篇比较简单,大家有空回去试试吧~


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表