当使用 tcp 2222:22 复制东西时,用于内核开发的 QEMU 引导不起作用

QEMU Booting for kernel developement not working when using tcp 2222:22 to copy things

我正在按照本指南学习如何在 linux 内核中实现我自己的系统调用:

http://www.cs.sfu.ca/~ashriram/Courses/2017/CS300/assignments/assignments/prj4/Guide_SysCall.pdf http://www.cs.sfu.ca/~ashriram/Courses/2017/CS300/assignments/assignments/prj4/Guide_CustomKernel.pdf 用于设置 QEMU

最后,它告诉我们 运行 以下命令将主机 OS 上的端口 2222 重定向到 QEMU 虚拟机的端口 22,这样我就可以在 QEMU 和我的 linux:

qemu-system-x86_64 -m 64M -hda ../debian_squeeze_amd64_standard.qcow2 - append "root=/dev/sda1 console=tty0 console=ttyS0,115200n8" -kernel arch/ x86_64/boot/bzImage -nographic -net nic,vlan=1 -net user,vlan=1 -redir tcp: 2222::22

但是当我 运行 代码时,我的终端出现以下错误:

qemu-system-x86_64: -: invalid option

帮帮我,我是初学者。谢谢

在命令行的这一部分:“- append”——在“-”和 "append" 之间有一个额外的 space。 QEMU 命令行选项通常采用“-something”形式。如果你把 space 放在中间,那么 QEMU 将无法识别你给它的内容。

如果您正在学习教程并且它给您的命令不起作用,那么最好仔细检查是否有小错别字,或者复制并粘贴教程中的命令并尝试那。