qemu实验

qemu虚拟系统实验

本次实验分为两个部分:第一部分是在win10下实验;第二部分在ubuntu16.04下

第一部分 Win10环境

一、创建Ubuntu虚拟机

下载qemu for windows

//指定磁盘镜像格式为qcow2,大小为10G
.\qemu-img.exe create -f qcow2 vmdisk.img 10G

//安装桌面系统的时候响应实在是太慢了(qemu还会停止响应),就改成了server版本的
  .\qemu-system-x86_64.exe -hda .\vmdisk.img -m 512M -boot d -net nic -net user -cdrom .\ubuntu-12.04.5-server-amd64.iso
// 安装完成后从hda启动
.\qemu-system-x86_64.exe -hda .\vmdisk.img -m 512M -boot c -net nic -net user -cdrom .\ubuntu-12.04.5-server-amd64.iso

qemu实验_第1张图片

usb控制器似乎只能通过-usb选项添加,但是启动后只是一个uhci控制器。尝试了一下-usb2和-usb3报错。

windows下就不进一步实验了,毕竟还是Linux应用更加广泛,支持也更加完善。

第二部分 Ubuntu环境

安装相当简单,直接

$ sudo apt-get install qemu

即可。通过系统安装包安装的话,过程和windows下没有什么区别,重点记录一下直接启动kernel。

一、编译生成Linux内核镜像

去内核官网下载源码,直接make。先编译一次,然后再根据需求配置内核。可以在arch/x86/boot目录下看到生成的bzImage文件就是我们要的内核镜像。

二、添加busybox

如果只有内核镜像,启动的时候会提示找不到rootfs,这个时候busybox就派上用场了,下载busybox源码,直接

$ make;make install

在当前目录下的_install中看到生成的文件:bin目录,linuxrc文件,sbin目录,usr目录。把他们都拷贝到一个文件夹(可以叫rootfs)中,然后添加一些配置文件(网上有很多制作rootfs的教程,最好静态编译,不然还要拷贝一些动态链接库到rootfs中)。最后在编译内核的时候配置initramfs路径,重新生成内核镜像。

三、启动内核镜像

qemu-system-x86_64 -kernel -bzImage -hda vmdisk.img

你可能感兴趣的:(qemu实验)