如何在 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 镜像 的相关文章

  • 实现自定义 u-boot 命令

    我想添加自定义命令命令u boot可以是一个简单的 hello world 命令 搜索后我发现了这个链接Yocto u boot 自定义命令它说看的地方timer命令输入cmd misc c作为起点 我怎么带这个timer命令到我的 u b
  • 使用 sed 插入换行符 (\n)

    我正在尝试将一些列表清理到格式正确的 CSV 文件中以进行数据库导入 我的起始文件看起来像这样 每个 行 应该跨越多行 如下所示 Mr John Doe Exclusively Stuff 186 Caravelle Drive Ponte
  • Gem5 中与 ARM 裸机的 UART 通信

    我目前正在使用 Gem5 我必须通过 UART 从我的主机访问 ARMv8 裸机选项 所以我尝试了很多方法 但我还没有准备好 您能否让我知道 如何在裸机类型编程中将主机的串行端口映射到 ARMv8 的串行端口 任何帮助 将不胜感激 工作设置
  • 为什么我的脚本在 Linux 上似乎可以工作,但在 FreeBSD 上却不起作用?就好像 FreeBSD 忽略了“if”

    我正在尝试编写一个便携式安装脚本来为我的编程语言构建编译器 你可以看一下脚本here mkdir ArithmeticExpressionCompiler cd ArithmeticExpressionCompiler if command
  • 程序集 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
  • QEMU、无可启动设备、Linux 的 Windows 子系统

    我正在学习如何构建基本的操作系统内核https intermezzos github io https intermezzos github io 我已经创建了我的 iso文件 我现在正在运行qemu system x86 64 cdrom
  • ETXTBSY 以及如何覆盖它

    我需要写入正在执行的可执行文件 但无法打开它进行写入 例如 include
  • 在 mac M1 芯片上构建 docker amd64 镜像

    我正在尝试以两种方式在我的 mac M1 arm64 上构建 dockerfile 下面是 dockerfile 的重要部分 FROM erlang 24 elixir expects utf8 ENV ELIXIR VERSION v1
  • 如何使用 QEMU 的简单跟踪后端?

    这是后续this https stackoverflow com questions 37522552 qemu simple backend tracing dosent print anything comment65639854 37
  • 如何使用QEMU学习ARM Linux内核开发?

    我想学习它 比如开发一些设备驱动程序等 并为此使用 QEMU 因为我没有像 beagle 板这样的 ARM 硬件板 你们有什么建议 我可以使用 Qemu 模拟器来学习 ARM 目标上的 Linux 内核吗 或者我应该尝试的任何其他选择 这取
  • Mac OS 和 FreeBSD 之间 kqueue 处理 fifo 的差异?

    我正在开发一个应用程序 该应用程序使用 fifos 进行 IPC 并使用事件通知 API 例如 epoll 或 kqueue 来监视 fifos 以获取要读取的数据 应用程序期望 如果 fifo 的写入器终止 则读取器将通过事件通知 API
  • 从 C、GCC(裸机)调用 ARM 汇编

    我正在尝试使用 GCC 在 ARM 中进行一些裸机编程并在 QEMU 上进行测试 每当我从 C 调用 ARM 标签时 我的程序就会挂起 我有一个简单的代码示例 显示了问题https gist github com 1654392 https
  • 如何使用 LD_PRELOAD 运行 gdb?

    我有一个使用 LD PRELOAD 的程序 该程序应该像这样运行 这个 LD PRELOAD path to libfoo so qemu U LD PRELOAD a out 如果 没有 gdb 这是我在运行 gdb 时所做的事情 gdb
  • 记录内存访问足迹

    I found mtrace https github com aclements mtrace克莱门茨博士 虽然很有用 但是在我需要的情况下却不能正常工作 我打算使用该记录来了解不同场景下的内存访问模式 有人可以分享相关经验吗 任何建议将
  • 如何通过网络访问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
  • sed 替换文字 TAB

    我想更换TABs in stdout带分号 通过运行sed来自 ZSH shell 我知道通常可以 在其他 shell 中 使用 somecommand sed s t g 然而 这在 FreeBSD 下的 ZSH shell 中对我不起作
  • 在 qemu 中将扇区加载到 RAM

    我编写了一个简单的程序 将扇区 扇区编号 2 加载到 RAM 但什么也没打印 首先 我尝试了以下引导扇区代码 org 0x7c00 mov ax 0x1000 ES BX 1000 0000 mov es ax mov bx 0x00 Lo
  • 使用 gdb 调试 qemu

    如何使用 gdb 调试 qemu 我一直在谷歌搜索但找不到任何具体的东西 我在 GDB 7 5 中遇到错误 gt 访问内存地址时出错 似乎 位置独立可执行文件 有问题 所以使用 configure enable debug disable
  • 为什么将 char 传递给函数会改变它在 c 中的值?

    我目前正在关注本作业簿 http www cs bham ac uk exr lectures opsys 10 11 lectures os dev pdf关于构建操作系统 我的目的是写一个64位内核 我已经在文本模式下加载 内核 代码并

随机推荐

  • 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