运行参数

如果 qemu 使用的是默认 /usr/local/bin 安装路径,则在命令行中可以直接使用 qemu 命令运行程序。qemu 运行可以有多参数,格式如:

  1. qemu [options] [disk_image]

其中 disk_image 即硬盘镜像文件。

部分参数说明:

  1. `-hda file' `-hdb file' `-hdc file' `-hdd file'
  2. 使用 file 作为硬盘0、1、2、3镜像。
  3. `-fda file' `-fdb file'
  4. 使用 file 作为软盘镜像,可以使用 /dev/fd0 作为 file 来使用主机软盘。
  5. `-cdrom file'
  6. 使用 file 作为光盘镜像,可以使用 /dev/cdrom 作为 file 来使用主机 cd-rom。
  7. `-boot [a|c|d]'
  8. 从软盘(a)、光盘(c)、硬盘启动(d),默认硬盘启动。
  9. `-snapshot'
  10. 写入临时文件而不写回磁盘镜像,可以使用 C-a s 来强制写回。
  11. `-m megs'
  12. 设置虚拟内存为 msg M字节,默认为 128M 字节。
  13. `-smp n'
  14. 设置为有 n 个 CPU 的 SMP 系统。以 PC 为目标机,最多支持 255 个 CPU。
  15. `-nographic'
  16. 禁止使用图形输出。
  17. 其他:
  18. 可用的主机设备 dev 例如:
  19. vc
  20. 虚拟终端。
  21. null
  22. 空设备
  23. /dev/XXX
  24. 使用主机的 tty
  25. file: filename
  26. 将输出写入到文件 filename 中。
  27. stdio
  28. 标准输入/输出。
  29. pipepipename
  30. 命令管道 pipename
  31. 等。
  32. 使用 dev 设备的命令如:
  33. `-serial dev'
  34. 重定向虚拟串口到主机设备 dev 中。
  35. `-parallel dev'
  36. 重定向虚拟并口到主机设备 dev 中。
  37. `-monitor dev'
  38. 重定向 monitor 到主机设备 dev 中。
  39. 其他参数:
  40. `-s'
  41. 等待 gdb 连接到端口 1234。
  42. `-p port'
  43. 改变 gdb 连接端口到 port。
  44. `-S'
  45. 在启动时不启动 CPU 需要在 monitor 中输入 'c',才能让qemu继续模拟工作。
  46. `-d'
  47. 输出日志到 qemu.log 文件。

其他参数说明可以参考:http://bellard.org/qemu/qemu-doc.html#SEC15 。其他qemu的安装和使用的说明可以参考http://bellard.org/qemu/user-doc.html。

或者在命令行收入 qemu (没有参数) 显示帮助。

在实验中,例如 lab1,可能用到的命令如:

  1. qemu -hda ucore.img -parallel stdio # 让ucore在qemu模拟的x86硬件环境中执行

  1. qemu -S -s -hda ucore.img -monitor stdio # 用于与gdb配合进行源码调试