Я задал этот вопрос на ТАК. Я попробовал
dd if=kernel.sys of=/dev/fd0 bs=512 seek=1
заставить этот файл писать в дискету. Это - оболочка ядра, которая должна быть записана в сектор сразу после загрузочного сектора диска для начальной загрузки ПК. Независимо от того, что я попробовал, по некоторым причинам, kernel.sys
не пишет в дискету. Я знаю, что программа начальной загрузки пишется и выполняется. Однако это не может найти, что ядро загружает оболочку.
Какие-либо идеи о том, что я делаю неправильно? Я имею в виду, действительно, как настолько трудно записать этот файл в дискету?
OpenSUSE 11.2
Для получения программы начальной загрузки и ядра на дискету, мы должны были использовать qemu. Смотря на раздел по образам дисков FAT, мы записали сценарий оболочки:
# first create a raw empty floppy image
dd if=/dev/zero of=bootimage.img bs=512 count=2880
# our bootstrap contains the MBR for the floppy (i.e. it actually formats it to our specs, in this case FAT12)
dd if=bootup.bin of=bootimage.img bs=512 count=1 conv=notrunc
# mount into 'media/floppy'
losetup /dev/loop0 bootimage.img
mount -o loop bootimage.img /media/floppy
# we can actually list all files that we need to copy to disk here
cp bootsys.sys /media/floppy
# make sure we unmount, otherwise nothing gets written !!
umount /media/floppy
losetup -d /dev/loop0
# run QEmu
qemu -fda bootimage.img
Я полагаю, что, если у Вас нет физического дисковода для гибких дисков, Вы можете эмулировать дискету путем замены /media/floppy
для /mnt/floppy
.
Взгляды, как будто Вы пытаетесь сделать загрузочный диск DOS. Не верный seek=1 корректен, но я понятия не имею. Я думаю, что у Вас должен был бы быть command.com, а также kernel.sys для получения рабочей начальной загрузки floopy. Вы рассмотрели FreeDos? Можно загрузить его и следовать инструкциям для создания загрузочного диска.