如何在Linux中创建与QEMU一起使用的映像文件?

如何在Linux中创建与QEMU一起使用的映像文件?,linux,operating-system,boot,Linux,Operating System,Boot,我一直在网上学习教程,并构建了一个512字节的引导加载程序,保存为boot.bin 我还编译了第二阶段引导加载程序,并将其保存为2ndstage.bin 我的引导加载程序是这样编写的,即第二阶段不必直接位于内存中第一阶段之后,因为它会按文件名进行搜索 在Linux中,如何将这两个bin文件组合成某种文件(可能是一个映像),以便与QEMU一起使用以运行我的引导加载程序?使用dd if=/dev/zero of=image.raw bs=1M count=50创建一个原始磁盘映像文件,这将使一个50

我一直在网上学习教程,并构建了一个512字节的引导加载程序,保存为
boot.bin

我还编译了第二阶段引导加载程序,并将其保存为
2ndstage.bin

我的引导加载程序是这样编写的,即第二阶段不必直接位于内存中第一阶段之后,因为它会按文件名进行搜索


在Linux中,如何将这两个bin文件组合成某种文件(可能是一个映像),以便与QEMU一起使用以运行我的引导加载程序?

使用
dd if=/dev/zero of=image.raw bs=1M count=50创建一个原始磁盘映像文件,这将使一个50兆字节的映像文件由零变为零

如果要在块设备而不是文件上操作,可以将mount image.raw作为块设备进行环回(读取
losetup
手册页)

您可以使用常规fdisk或sfdisk实用程序对文件或环回设备进行分区。然后,您可以使用其他
dd
选项(阅读手册页)或其他选项将bin文件放入磁盘映像中的正确位置

之后,如果创建了环回设备,请撤消环回设备,并使用image.raw文件作为磁盘设备启动qemu/qemu kvm会话。如果您正确执行引导加载程序,qemu bios将启动它