如何在 Qemu 下启动 FreeBSD 镜像

2024-01-01

我有一个 FreeBSD 映像,其中包含 /boot/loader* 和 /boot/kernel 等。它在 EC2 实例下启动正常,但我想使用 Qemu 启动它。我尝试过各种方法,但都没有效果。见下文。

qemu-system-x86_64 -kernel kernel -nographic -append 'console=ttyS0' disk.img
qemu-system-x86_64 -kernel loader -nographic -append disk.img

这将在 Ubuntu 20.04 amd64 主机、QEMU 4.2.1 上启动:

wget https://download.freebsd.org/ftp/releases/VM-IMAGES/12.1-RELEASE/amd64/Latest/FreeBSD-12.1-RELEASE-amd64.qcow2.xz
unxz FreeBSD-12.1-RELEASE-amd64.qcow2.xz
sudo apt install qemu-system-x86
qemu-system-x86_64 -drive file=FreeBSD-12.1-RELEASE-amd64.qcow2,format=qcow2 -enable-kvm

用户名是root密码为空:

该图像的下载页面是:https://www.freebsd.org/where.html https://www.freebsd.org/where.html

不幸的是,试图添加:

-serial mon:stdio -nographic

摆脱 GUI https://stackoverflow.com/questions/6710555/how-to-use-qemu-to-run-a-non-gui-os-on-the-terminal仅在终端上显示引导加载程序图像,而不显示引导的其余部分。https://lists.freebsd.org/pipermail/freebsd-hackers/2005-March/011051.html https://lists.freebsd.org/pipermail/freebsd-hackers/2005-March/011051.html提到如何通过修改图像来解决这个问题,这很烦人,但有效。在 GUI 启动时,我做了:

echo 'console="comconsole"' > /boot/loader.conf

然后下一个 nographic 启动在我的终端上完全正常工作。

您可以退出 QEMU-nographic with Ctrl-A X如图所示:https://superuser.com/questions/1087859/how-to-quit-the-qemu-monitor-when-not-using-a-gui/1211516#1211516 https://superuser.com/questions/1087859/how-to-quit-the-qemu-monitor-when-not-using-a-gui/1211516#1211516

下一个问题是磁盘已满,我必须学会增加其大小。来自互动df -Th检查,图像似乎包含单个原始UFS https://en.wikipedia.org/wiki/Unix_File_System分割。我试过:

qemu-img resize FreeBSD-12.1-RELEASE-amd64.qcow2 +1G

但这还不够,可能是因为分区本身没有调整大小以适应磁盘。这可能可以通过以下方式实现gpart如图所示:https://www.freebsd.org/doc/handbook/disks-having.html https://www.freebsd.org/doc/handbook/disks-growing.html但我现在没有耐心。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Qemu 下启动 FreeBSD 镜像 的相关文章

  • 如何在 FreeBSD 中调试 rc.d 脚本?

    我的里面有一个 bash 脚本 usr local etc rc d 应该运行 python 脚本 我运行布什脚本 service script name start 却什么也没发生 我如何调试该 rc d 脚本 我怎么知道发生了什么事 F
  • 如何在 QEMU 内使用 GDB 对 x86 代码进行源代码级调试?

    我为MBR部分编写了一个x86汇编程序 我编译如下 nasm hellombr asm f bin o hellombr img 然后我在 qemu 中运行它 qemu fda hellombr img boot a 问题是如何在源代码级别
  • 使用 sed 插入换行符 (\n)

    我正在尝试将一些列表清理到格式正确的 CSV 文件中以进行数据库导入 我的起始文件看起来像这样 每个 行 应该跨越多行 如下所示 Mr John Doe Exclusively Stuff 186 Caravelle Drive Ponte
  • shell 脚本中 test / [ 中的 -d、-e 和 -f 标志有什么区别?

    有什么区别 d e f在 shell 脚本中 我试图理解之间的区别 e d and f参数 例子 if d path if e path if f path 据我所知 d检查目录是否存在 e检查目录和内容 如果目录存在且包含内容则返回 tr
  • 程序集 32 位打印显示在 qemu 上运行的代码,无法在真实硬件上运行

    我已经用 x86 汇编语言编写了一小段在裸硬件上运行的代码 此时 它已启用受保护的 32 位模式 然而 我遇到了与屏幕打印有关的问题 我读到 要在不中断的情况下执行此操作 可以将字符加载到特殊的内存区域 即 RAM 地址 0xb8000 知
  • 运行Qemu后只是黑屏

    我刚刚安装了 QEMU 并编译了支持 ARM 的 Linux 内核 但是当我运行下面的命令时 qemu system arm M versatilepb m 128M kernel home arit QEMU linux 3 8 4 ar
  • 在 SR-IOV 虚拟功能 (VF) NIC 之间转发数据包

    我有一个支持 Intel SR IOV 的 Intel 82599ES 10G NIC 我已成功创建了 8 个虚拟功能 VF 并将其分配给 2 个 qemu kvm VM 每个 VM 2 个 VF 两台虚拟机都使用分配的 VF 运行 DPD
  • 挂载Android模拟器创建的qcow2镜像

    我正在尝试挂载 Android 模拟器创建的 userdata qemu img qcow2 文件 以下过程不起作用 sudo qemu nbd c dev nbd0 android avd Pixel C API 27 avd userd
  • 如何告诉 qemu 将 ram 复制到文件中

    我正在制作一个操作系统 并使用 Qemu 对其进行调试 我想要一种方法来读取一些指令末尾的内存的一些大块 怎么做 可以对 Qemu 说将 ram 复制到文件中吗 如果不是我能做什么 qmp 或 hmp 命令dump guest memory
  • 了解 QEMU 的好来源是什么?

    您会推荐什么书或网站来了解 QEMU 我想查看一些使用示例以及如何使用 API 最佳资源 主要 QEMU 使用文档 http wiki qemu org Manual Qemu 手册页 http manpages ubuntu com ma
  • QEMU和KVM在虚拟机I/O中扮演什么角色?

    我发现 QEMU 和 KVM 之间的界限非常模糊 我发现有人说虚拟机是qemu进程 而另一些人说是kvm进程 究竟是什么 而QEMU和KVM在虚拟机I O中扮演什么角色呢 比如一个vm做PIO MMIO的时候 是qemu还是kvm会把它困住
  • 如何编写 Sparc 程序集并在 Qemu 或 Simics 中运行其二进制文件?

    我正在尝试开始编写一些 Sparc 程序集 但我不知道如何汇编和运行代码 我已经用 arcTools 编写了 arc 但这就是我对汇编的了解 我已经下载了 simics 和 qemu 但我不知道从这里去哪里 有人能指出我正确的方向吗 谢谢
  • 将 IVSHMEM 与 libvirt virt-manager 结合使用

    Using ivshmem in qemu需要执行以下步骤 在主机中启动 ivshmem 服务器 ivshmem server这将创建一个unix域套接字 tmp ivshmem socket 使用以下命令行选项启动 qemu charde
  • GNU 制定通配符替代方案吗?

    我想选择目录中的所有文件 但使用 FreeBSD 的 make 在 GNU 中 使这种方法有效 FILES wildcard c 我使用的是 FreeBSD 的 make 而不是 GNU make 所以我正在寻找可以在 FreeBSD 的
  • 如何使用 LD_PRELOAD 运行 gdb?

    我有一个使用 LD PRELOAD 的程序 该程序应该像这样运行 这个 LD PRELOAD path to libfoo so qemu U LD PRELOAD a out 如果 没有 gdb 这是我在运行 gdb 时所做的事情 gdb
  • 如何统计QEMU从运行开始到结束执行的客户指令数量?

    我想对 QEMU 每秒的客户指令进行基准测试 以将其与其他模拟器进行比较 如何获取访客指令数 我对用户模式和完整系统模式都感兴趣 我现在唯一的解决方案是使用简单的跟踪记录所有指令exec tb or d in asm 如何使用 QEMU 的
  • assembly x86 qemu:致命:尝试在 RAM 或 ROM 之外执行代码

    我正在开发一个非常基本的 shell 其中当前唯一的命令是 help 如果您输入错误 系统会通知您该命令无法识别 在段和堆栈设置的某个地方 我有一个错误 导致 shell 在我输入任何内容后吐出一些废话 然后完全冻结 我在终端中遇到错误 q
  • 如何通过网络访问Raspberry PI QEMU VM

    我已通过 QEMU 在 Mac OS X 上成功设置了 Raspberry PI VM 现在我想从我的 Mac 访问该虚拟机的文件系统 When I call ifconfig on my VM I get this And here th
  • 错误:增强禁用线程

    我的 boost 库有一些问题 我正在使用 freebsd 并使用 ports 安装了我的 boost Boost 版本是 1 45 我使用 g 47 作为编译器 另外 我从未在那里定义过 BOOST DISABLE THREADS usr
  • qemu kvm:如何获取性能监控中断?

    我在操作系统内核中编写了一些函数 以便在指令计数器溢出时发出性能监控中断 PMI 它在我的机器 Intel core i5 上运行良好 但是当我使用 qemu 在 qemu 上运行它时 qemu system x86 64 enable k

随机推荐

  • Android NDK R8E 缺少 stdlib.h

    我正在使用 Android NDK android ndk r8e 测试一些本机库代码 本机库是从其 makefile 构建的 而不是 Android 修改后的构建系统 使用 makefile 而不是 Android 的构建系统是项目要求
  • 无法让滚动条出现在溢出时

    我正在构建一个 MDI WEB 应用程序 并且有一个由article元素 具有header and a section对于内容 由于它是一个 MDI 应用程序 article被设定为absolute 因此它可以与其他窗口重叠 我需要一个滚动
  • android webview加载数据时闪烁一次

    我在网络视图中预加载了文本 当来自互联网的数据到来时 我用新数据重新加载网络视图 问题是在加载数据转换期间屏幕闪烁一次 有什么建议吗 尝试禁用活动的硬件加速器 android hardwareAccelerated false
  • 如何通过 pyspeech 或 Dragonfly 输入和处理音频文件以转换为文本

    我看过pyspeech和dragonfly的文档 但不知道如何输入音频文件以转换为文本 我已经尝试使用麦克风通过对它讲话并将语音转换为文本 但是如果我想输入以前录制的音频文件 谁能帮忙举个例子吗 PySpeech 和 Dragonfly 都
  • Spring-服务被eureka服务器发现后关闭

    我的服务 应用程序名称 在启动后立即意外关闭 当时 eureka服务器运行在8761端口 服务已成功被eureka服务器发现 注册状态 204 registering application with eureka with status
  • 在启动时在 Ubuntu 中设置环境变量(通过脚本)

    我想在 Ubuntu 机器 10 04 上设置几个环境变量 但我想通过脚本创建它们的值 就像 export THE ENV VAR script to execute and use stdout from 我尝试过设置 etc envir
  • 为什么 Clojure Hello World 程序与 Java 和 Python 相比如此慢?

    Update 正如许多人所建议的 这看起来是因为 clojure 代码首先被编译然后执行 AOT 编译应该有助于抵消这一点 鉴于我发现实际的 Clojure AOT 编译过程有点难以解决 类路径问题 目录问题等 我编写了一个小的逐步过程he
  • 不带 .git 文件夹的 git -- 远程 git-dir

    提出这个问题更多的是出于好奇 而不是出于任何实际目的 但是我可以有效地让我的 GIT DIR 成为 git example com repo git 吗 因此 不会有 git 文件夹 每一次提交等都会消耗网络开销 编辑 一个潜在的用例可能是
  • 何时使用字典 | (合并)与|=(更新)运算符[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 何时在字典上使用合并和更新运算符 以下示例虽然调用方式有所不同 但它们的输出是相同的 a 1 a 2 b 3 c 6 in both b 4 d
  • C/C++ 基本类型是原子类型吗?

    C C 是基本类型吗 int double等等 原子的 例如线程安全 它们是否没有数据竞争 也就是说 如果一个线程写入此类类型的对象 而另一个线程从中读取 则该行为是否明确定义 如果不是 它取决于编译器还是其他什么 不 基本数据类型 例如
  • 如何在python3中计算ANSI CRC16多项式(0x8005)?

    我尝试使用此代码计算 ANSI CRC16 多项式 0x8005 import crcmod crc16 crcmod mkCrcFun 0x8005 0xffff True 但我收到此错误消息 ValueError 多项式的次数必须为 8
  • 如何将编辑文本值传递给适配器类

    我想将下面的活动中的文本值传递给 TextAdapter 类 公共类 SecondActivity 扩展 Activity EditText et1 TextView t1 t2 Button b1 b2 String result Con
  • 无法将参数发送到 PHP POST 参数 android

    我目前正在使用 android volley 并尝试通过发送productID来选择产品详细信息以获取产品的详细数据 JSONObject params new JSONObject try params put ProductID int
  • 如何解密 Objective C/IOS 中用 php 加密的文件?

    我在谷歌上搜索了太多这个错误 但没有发现任何有用的东西 我使用以下代码获取在 php 中加密的文件 mcrypt encrypt MCRYPT RIJNDAEL 128 privateencryptkey base64 encode fil
  • Hint.interpret 在用于 Polysemy.Sem 值时会给出编译器错误

    我正在尝试编译Polysemy https hackage haskell org package polysemy 1 2 3 0 docs Polysemy html运行时使用 Hint 语言 Haskell 解释器 https hac
  • 意外的 JDWP 错误 21

    HttpConnection conn HttpConnection Connector open strDefURL strBloggersURL 我有这一行抛出 InternalException 意外的 JDWP 错误 21 我使用它
  • 如何在Arduino中匹配字符串中的文本

    我在使用 Arduino 时遇到一些关于如何匹配文本的问题 I have String tmp CLIP 37011111111 145 0 我正在尝试匹配 if tmp startsWith CLIP mySerial println A
  • Rails 3 请求调度周期

    我正在研究 Rails 3 架构 以便了解分派请求的过程 整个过程非常简单 应用程序是一个机架应用程序 它最终将其调用消息委托给 ActionDispatch Routing RouteSet 的调用方法 该方法调度必要控制器的适当操作 它
  • javascript 函数可通过 javascript_include_tag 获得,但不能通过 asset pipeline 和 application.js 获得

    如果这已经发布在其他地方 我很抱歉 但我不确定如何表达对这个问题的搜索 基本上 我有fullcalendar js坐在app assets javascripts 在我的application js文件 当然在同一文件夹中 我有以下内容 r
  • 如何在 Qemu 下启动 FreeBSD 镜像

    我有一个 FreeBSD 映像 其中包含 boot loader 和 boot kernel 等 它在 EC2 实例下启动正常 但我想使用 Qemu 启动它 我尝试过各种方法 但都没有效果 见下文 qemu system x86 64 ke