LinuxForum.Fans
Тема

Как создать загрузочный образ DOS

Автор: Logioniz 7 сообщений 2358 просмотров
#205048

Я хочу создать загрузочный образ с досом и грузиться с него при помощи qemu примерно как-то так:
qemu -hda ./dos.img - в случае, когда образ жеского диска.
Вообще говоря пофиг какой образ, главное, чтоб он мог иметь 256 мб памяти и там был дос.
Пробывал делать дискетки с досом, вроде получается, ну размер там уж очень мал...
Делал при помощи ms-sys.

Основные проблемы:
1)не знание fdisk и неумение сделать у файла геометрию диска => не могу разбить файл на partition-ы
2)если удаётся сделать 1-ый шаг, то как отформатировать partition (msdosfs ???? )
3)насколько я знаю кроме mbr ещё нужно сделать vbr, и как его делать?
ms-sys -6 /path/to/img -- это сделать mbr? как сделать vbr?
4)если всё удастся сделать, то как монтировать partition, чтоб сбросить туда инфу?

Кароче чёт нифига не понято... кто чё по fdisk-у знает? ;) или знает, где нормальные доки по нему (мана слишком мала мне для понимания)?

#205125

Сделай образ, форматирую его в msdosfs, грузанись с образа дискеты с указанием на образ жёского диска, как жёского диска.
Зачем тебе разбивать диск на разделы?
Форматируется так: mkfs.msdos hd.img
Монтируется так: mount hd.img -o loop /mnt/tmp
Возможно придётся указать файловую систему ключём -t msdos (или как-то так)

#205131

грузанись с образа дискеты с указанием на образ жёского диска - что это значит? как это сделать?

Если я правильно понял, то как-то так:
[console]qemu -fda ./floppy.img -hda ./hd.img -boot a[/console]
или так:
[console]qemu -fda ./floppy288.img -drive file=hd.img,media=disk,index=0 -boot a[/console]

Чёт не получается, как мне понять, какая буква у диска? и вообще какая команда показывает все разделы? кароче как получить раздел на hd.img?

#205150

почти получилось, спсибо за совет:
[console]qemu-img create -f raw hd.img[/console]
Как устройство подрубаем файл (собственно вот оно решение с геометрией, нужно было не с файлом работать а с устройством, впринципе это тоже файл)
[console]losetup /dev/loop0 hd.img[/console]
делаем partition (комманды n,t,w)
[console]fdisk -u /dev/loop0 [/console]
извлекаем:
[console]losetup -d /dev/loop0[/console]
грузимся:
[console]qemu -fda floppy288.img -hdd ./hd.img -boot a
[/console]
Итак, когда я ввобжу команнду С:, то перехожу на диск C:
Но вот выполнить команду dir не удаётся "Invalid media type reading drive C".
Видимо нужно форматнуть. Где для доса взять Format ?

#205164

Победил.
скачал format.com для доса, форматнул => всё ок!
потом примонтировал партишн так:

[console]mount ./hd.img ./dos -t vfat -o loop=/dev/loop0,offset=32256[/console]
, где offset - смещение до моего partition-a (hd hd.img | more - тут посмтрел, когда все нули вначале кончились и появилися заголовки раздела, уменя этот адрес был такой 7e00 hex => 32256 dec)

ну и всё, копируем туда всё, что надо и грузимя так:
[console]qemu -fda floppy288.img -hdd ./hd.img -boot a[/console]

Итак, осталась ещё одна проблема ;) Собственно из-за неё всё это:
нужно прокинуть serial port между 2-мя вирт. машинами qemu, там вроде есть что-то типо pipe-ы?

Да, и ещё. Тут можно как-нить тему чуть изменить, а то она уже не совсем актуальна? можно дописать в конец темы что-то вроде "&& comunicate between virt. images qemu via serial port"

#205182

итак, чёт долго никто не отвечает, ещё раз сформулирую, что есть и что хочу:
Есть:
2 виртуалки с досом, запускаемых с помощью qemu. Там есть Norton Commander. Он умеет через последовательный com порт пробрасывать директорию в другую виртуалку на которой тоже запущен Norton Commander.
Кому интересно, там это делается так:
F9 => left => link => com1, slave => link
На другом:
F9 => left => link => com1, master => link
Задача:
Нужно, чтоб qemu сделал виртуальный com1 порт на обоих виртуалках и прокидывал между ними инфу, через com port.

Предполагаю, что делается это как-то так на обоих машинах:
qemu -serial pipe:"../com1" -fda floppy288.img -hdd ./hd.img -boot a

т.е. -serial pipe:filename, тока не понятно, как сказать, чтоб qemu именно com1 порт моделировал, а то походу он не понимает или я что-то не понимаю...

#205191

Logioniz, Больше не буду редактировать сообщения, а влеплю выговор. wink
По делу. Через virt-manager не пробовал создавать COM порт на ВМ?

Войдите или зарегистрируйтесь, чтобы ответить.