如何在 qemu 模拟器中构建和运行 .img 文件?

Posted

技术标签:

【中文标题】如何在 qemu 模拟器中构建和运行 .img 文件?【英文标题】:How to build and run an .img file in qemu emulator? 【发布时间】:2017-01-04 04:59:20 【问题描述】:

我正在研究操作系统的概念。我在汇编中创建了一个简单的引导加载程序和一个第二阶段加载程序。我是Linux新手,所以我不知道如何模拟它。我浏览了很多网站,但找不到完美的解释。

那么,我将如何使用 dd 工具和 qemu 在模拟器中模拟 boot.asm 和 load.asm 文件,以及如何在 USB 中执行相同操作并在真机中启动它?

请指导我,让我赶上它..

操作系统:Ubuntu 16.04.1 组装:8086组装

【问题讨论】:

【参考方案1】:

“.img”文件是包含所需二进制文件的容器,例如'[引导加载程序][内核][dtb]'。使用 'dd' 你可以创建这样的容器。

换句话说,您可以将所有这些必需的文件合并为一个,例如带有您指出的偏移量的“boot.img”。此外,所有偏移量都需要在引导加载程序的头文件中声明。成功创建'boot.img'后,您可以通过选项'-bios'(模拟rom)将其传递给qemu。

Qemu 将从 0x0 偏移量开始执行该文件 - 它是您的引导加载程序。您的引导加载程序会将内核复制到 RAM 中并将执行传递给您的内核。

【讨论】:

以上是关于如何在 qemu 模拟器中构建和运行 .img 文件?的主要内容,如果未能解决你的问题,请参考以下文章

yocto / qemu 中的 efi 变量

如何使用 QEMU 模拟混合平台?

从零使用qemu模拟器搭建arm运行环境

如何在Qemu虚拟机中安装Windows XP系统

再续从零使用qemu模拟器搭建arm运行环境

再续从零使用qemu模拟器搭建arm运行环境