qemu参数选项说明-调试选项(Debug/Expert options)

avatar
作者
猴君
阅读量:0

文章目录

Debug/Expert options:

-fw_cfg

-fw_cfg [name=]<name>,file=<file>                 add named fw_cfg entry with contents from file -fw_cfg [name=]<name>,string=<str>                 add named fw_cfg entry with contents from string 

在 QEMU 中,-fw_cfg 选项用于配置虚拟机的固件配置(firmware configuration),这通常用于向虚拟机的 BIOS 或 UEFI 固件传递特定的配置数据。以下是 -fw_cfg 选项的两种使用方式的详细解释:

  1. -fw_cfg [name=]<name>,file=<file>
    这个选项允许你添加一个命名的固件配置项,其内容来自一个文件。这里:
    • [name=]<name> 是一个可选的参数,用于指定固件配置项的名称。如果不提供,则 QEMU 会自动生成一个名称。
    • file=<file> 指定包含配置数据的文件的路径。
      例如,以下命令将从文件 /path/to/config.data 加载配置数据,并将其作为一个名为 config 的固件配置项传递给虚拟机:
    qemu-system-x86_64 ... -fw_cfg name=config,file=/path/to/config.data ... 
  2. -fw_cfg [name=]<name>,string=<str>
    这个选项允许你添加一个命名的固件配置项,其内容来自一个字符串。这里:
    • [name=]<name> 同样是用于指定固件配置项名称的可选参数。
    • string=<str> 是要传递给固件的字符串值。
      例如,以下命令将字符串 example 作为名为 example_str 的固件配置项传递给虚拟机:
    qemu-system-x86_64 ... -fw_cfg name=example_str,string="example" ... 

这些固件配置项可以被虚拟机内的操作系统或固件在启动时读取,以执行特定的配置任务,例如网络配置、启动参数传递等。在某些情况下,这对于自定义虚拟机的启动行为非常有用。

-serial ★

-serial dev     redirect the serial port to char device 'dev' 

在 QEMU 中,-serial 选项用于配置虚拟机的串行端口。串行端口可以用于虚拟机和宿主机之间的通信,也可以用于重定向虚拟机的控制台输出。
-serial dev 中的 dev 可以是以下几种不同的值或设备:

  1. null:禁用串行端口。
  2. stdio:将虚拟机的串行端口输出重定向到 QEMU 的标准输入输出,通常用于在控制台窗口中查看虚拟机的输出。
  3. file:<filename>:将虚拟机的串行端口输出重定向到一个文件。
  4. pipe:<pipename>:将虚拟机的串行端口输出重定向到一个命名管道。
  5. socket:将虚拟机的串行端口输出重定向到一个套接字。
  6. chardev:id:将虚拟机的串行端口连接到一个字符设备,其中 id 是使用 -chardev 选项创建的字符设备的标识符。
    以下是一些使用 -serial 选项的例子:
# 将虚拟机的串行端口输出重定向到标准输入输出 qemu-system-x86_64 -serial stdio ... # 将虚拟机的串行端口输出重定向到一个文件 qemu-system-x86_64 -serial file:/path/to/serial.log ... # 将虚拟机的串行端口输出重定向到一个命名管道 qemu-system-x86_64 -serial pipe:myserialpipe ... # 将虚拟机的串行端口连接到一个套接字 qemu-system-x86_64 -serial socket ... # 将虚拟机的串行端口连接到一个字符设备 qemu-system-x86_64 -chardev pipe,id=charpipe -serial chardev:charpipe ... 

-parallel ★

-parallel dev   redirect the parallel port to char device 'dev' 

在 QEMU 中,-parallel 选项用于配置虚拟机的并行端口。并行端口通常用于打印机和其他并行设备,但在虚拟化环境中,它也可以用于重定向输出,类似于串行端口。
-serial 选项类似,-parallel 选项的 dev 参数可以是以下几种不同的值或设备:

  1. null:禁用并行端口。
  2. file:<filename>:将虚拟机的并行端口输出重定向到一个文件。
  3. pipe:<pipename>:将虚拟机的并行端口输出重定向到一个命名管道。
  4. socket:将虚拟机的并行端口输出重定向到一个套接字。
  5. chardev:id:将虚拟机的并行端口连接到一个字符设备,其中 id 是使用 -chardev 选项创建的字符设备的标识符。
    以下是一些使用 -parallel 选项的例子:
# 将虚拟机的并行端口输出重定向到标准输入输出 qemu-system-x86_64 -parallel stdio ... # 将虚拟机的并行端口输出重定向到一个文件 qemu-system-x86_64 -parallel file:/path/to/parallel.log ... # 将虚拟机的并行端口输出重定向到一个命名管道 qemu-system-x86_64 -parallel pipe:myparallelpipe ... # 将虚拟机的并行端口连接到一个套接字 qemu-system-x86_64 -parallel socket ... # 将虚拟机的并行端口连接到一个字符设备 qemu-system-x86_64 -chardev pipe,id=charpipe -parallel chardev:charpipe ... 

请注意,虽然 -parallel 选项在技术上仍然可用,但在现代虚拟化环境中,并行端口的使用已经不如串行端口那么普遍。因此,在某些情况下,你可能不会经常看到这个选项的使用。

-monitor ★

-monitor dev    redirect the monitor to char device 'dev' 

在 QEMU 中,-monitor 选项用于指定监视器(monitor)的设备