相关疑难解决方法(0)

如何使用qemu在终端上运行非gui操作系统?

我想在我的部门的高性能计算机(使用8核处理器)上运行一些程序.现在我使用终端ssh使用该机器.机器上安装了Red Hat linux.但我的程序需要在Solaris上运行.我使用Nexenta Solaris for x86.

可以使用qemu通过终端在该机器上运行Nexenta Solaris.我需要说服管理员可以,否则他不会在该机器上安装qemu,因此允许我通过虚拟机使用Solaris.另请注意,我不使用Nexenta Solaris的GUI,只使用命令行.在我的机器中,我使用VMware来运行它.

solaris qemu

20
推荐指数
3
解决办法
3万
查看次数

Qemu 裸机仿真 - 如何查看 UART 输出?

问题:

如何从使用 Qemu 运行的裸机程序获取 UART 输出?

背景

这是我一直在使用的命令行调用:

qemu-system-arm -M xilinx-zynq-a9 -cpu cortex-a9 -nographic -kernel $BUILD_DIR/mm.elf -m 512M -s -S
Run Code Online (Sandbox Code Playgroud)
  • 使用机器xilinx-zynq-a9
  • 处理器cortex-a9
  • 由于这是裸机,因此可执行文件是一个自包含的 ELF 文件
  • -m 512M表示平台有 512 MiB RAM
  • -s是一个快捷方式-gdb tcp::1234
  • -S意味着启动时冻结CPU

我使用的ELF文件(mm.elf)执行一个简单的矩阵乘法运算,然后打印它是成功还是失败,以及运行了多长时间。ELF 是使用 Xilinx ARM 工具链编译的。我用它来进行软件故障注入。目前我使用 GDB 来询问应该打印的变量的值。然而,由于在故障注入的情况下打印可能会出现很多问题,因此最好看看通过 UART 实际发送的内容。

相关回答:

将 QEMU 窗口输出重定向到运行 qemu 的终端

这有一些我尝试过的建议,但它不适用,因为问题是关于在主机终端窗口中获​​取 Linux 启动消息。

如何在没有操作系统的情况下运行程序?

这是一个不太相关的问题,因为它仍然假设用户拥有某种引导加载程序。虽然从技术上讲必须有一个引导加载程序才能运行应用程序,但 Xilinx 在boot.S等文件中提供了此系统代码,然后将其编译到 ELF 文件中,作为之前运行的代码main

我尝试过的事情:

我尝试将这些添加到当前 Qemu 命令的末尾。结果遵循尝试的参数。

  • -serial mon:stdio
    • 没有什么
  • -serial null …

arm qemu reliability bare-metal uart

10
推荐指数
1
解决办法
1万
查看次数

将Qemu控制台重定向到文件或主机终端?

背景:

我的系统是基于x86的内核和基于ramfs的根文件系统.我已经使用基于cpio存档的ramfs(它将使用boot =/dev/ram0作为RAM设备),并且我遇到了一些init问题.整个目的是将ramfs优化到最小,以适应一个非常小的系统.我试图在init中调试问题.我使用以下命令在Ubuntu 12.10(Quantal Quetzal)中启动QEMU:

qemu-system-x86_64 -kernel linux-3.9.2/arch/x86/boot/bzImage -serial stdio -append "root=/dev/ram0 console=tty1"
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,系统进入了OOPS.

题:

我想查看日志以调查崩溃的原因,但我无法使用Shift密钥和Page Up/ 在QEMU控制台中导航Page Down.所以我尝试使用curses命令将输出重定向到主机终端:

qemu-system-x86_64 -kernel linux-3.9.2/arch/x86/boot/bzImage -serial stdio -append "root=/dev/ram0 console=tty1" -curses
Run Code Online (Sandbox Code Playgroud)

但在这里,我无法导航并找到问题所在.

PS如果我的系统启动正常(使用正确的rootfs),那么我可以导航并查看消息.

如何将消息重定向到终端或文件?

qemu

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

qemu ×3

arm ×1

bare-metal ×1

reliability ×1

solaris ×1

uart ×1