操作系统开发.正在从文件创建可启动的iso



我正在研究操作系统开发,我使用brokenthorn资源,但使用了一个稍微不同的工具,即我使用CentOS、NASM和Qemu作为测试/开发环境。在使用辅助加载程序创建可引导img文件时,我遇到了一些问题。

我有两个文件:1.bootloader.bin,它是第一阶段加载程序。2.阶段2b,其中为二次装载机。

为了创建可引导的img文件,我做了以下操作:

  • dd if=/dev/zero of=floppy.iso bs=1024 count=1440--创建空文件
  • mkfs.vfat-F 12 floppy.iso--在文件中创建文件系统
  • dd if=/bin/bootloader.bin of=floppy.iso bs=512 count=1 conv=notrunc--将第一个加载程序写入引导扇区
  • sudo mount-o loop floppy.iso/mnt/floppy/--尝试使用以前创建的FAT-12文件系统装载文件系统以写入辅助加载程序

在最后一步中,我得到了以下错误:

mount: /dev/loop0 is write-protected, mounting read-only
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.

你能帮我理解我做错了什么吗?还有什么其他方法可以用来创建带有文件系统的可引导img。谢谢

我曾经偶然发现过类似的问题,这个答案可能会对你有所帮助。

然而,我强烈建议您改用Grub这样的引导程序,并花费时间和精力开发您的实际操作系统。为此,我推荐grub resque,因为它使用简单,可以快速创建ISO,您可以将其刻录或馈送到虚拟机。否则,你可能会淹没在所有这些小事中,比如启用保护模式,加载你的阶段等等

相关内容

  • 没有找到相关文章

最新更新