我正在研究 OS 开发,我使用了 brokenthorn 资源,但使用了一些不同的工具,即我使用 CentOS、NASM 和 Qemu 作为测试/开发环境。在使用辅助加载器创建可引导的 img 文件时,我遇到了一些问题。
我有两个文件: 1. bootloader.bin 这是第一阶段的加载器。2. stage2.bin 是二级加载器。
为了创建可引导的 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。谢谢!