Я изучаю разработку ОС и использую ресурс 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 с файловой системой на борту.
Спасибо!