LINUX.ORG.RU

Эмулятор дискет в Убунте


0

1

У меня есть загрузчик, который нужно записать на дискету и с него загрузиться (загрузчик на ассемблере был написан, скомпилил в формат *.img) Подскажите, пожалуйста, с помощью чего можно эмулировать флоппи-привод? Можно ли стандартными средствами это сделать?

Если это важно, то я делаю это все в Vmware Player, может, у него есть средства для эмуляции? Я пока не нашел.

> Подскажите, пожалуйста, с помощью чего можно эмулировать флоппи-привод?
Эмулировать для каких программ?

У меня есть загрузчик, который нужно записать на дискету и с него загрузиться (загрузчик на ассемблере был написан, скомпилил в формат *.img)

Не понял, при чём здесь эмуляция.
Или Вам нужно загрузить что-то таким образом, чтобы было «как бы с дискеты», но не с дискеты? Воспользуйтесь memdisk.

AITap ★★★★★
()
Ответ на: комментарий от AITap

Да, нужно, чтобы было «как бы с дискеты», но не с дискеты. То есть чтобы можно было войти в биос, поставить загрузку с несуществующего в реале флоппи-привода, и успешно загрузиться.

Эмулировать для каких программ?

Не понял вопроса) Мне нужно всего лишь:

- записать загрузчик в загрузочный сектор дискеты

- загрузиться с этой дискеты

А флоппи-привода нет. memdisk? Ок, сейчас попробую...

farewell
() автор топика
Ответ на: комментарий от farewell

> Да, нужно, чтобы было «как бы с дискеты», но не с дискеты. То есть чтобы можно было войти в биос, поставить загрузку с несуществующего в реале флоппи-привода, и успешно загрузиться.
Отлично. Возьмите memdisk и запустите его из загрузчика:

grub-legacy/syslinux:
kernel /path/to/memdisk
initrd /path/to/floppy.img

grub2:
linux16 /path/to/memdisk
initrd /path/to/floppy.img

AITap ★★★★★
()
Ответ на: комментарий от AITap

он в VMware хочет с образа дискеты загрузиться. причем в плеере, который умеет только готовые машины запускать, а не создавать новые

marvin_yorke ★★★
()

Эмулировать ничего не надо. В UNIX/Linux всё есть файл. В том числе и устройства (за редким исключением). Поэтому создаёте пустой файл размером с дискету (man dd), натравливаете на этот файл форматирование ФС и загрузчик (просто указываете путь к файлу вместо /dev/fd...), если необходимо подключаете это файл как файловую систему (man mount на предмет loop, дополнительно можно man losetup), копируете в подмонтированное что нужно и отключаете через umount. В последствии этот файл можно скопировать на дискету (dd if=/path/to/file of=/dev/fd0)
Разницы нет никакой.

Slavaz ★★★★★
()
Ответ на: комментарий от AITap

> grub2:

linux16 /path/to/memdisk

initrd /path/to/floppy.img


initrd16

AITap ★★★★★
()

В vmware можно указать образ дискеты для виртуального дисковода. Делаешь образ с dd, монтируешь его в losetup, форматируешь, записываешь, пользуешься.

Suigintou ★★★★★
()
Ответ на: комментарий от Suigintou

> В vmware можно указать образ дискеты для виртуального дисковода.

Можно, да. Сейчас разберусь с dd, только вот.. Когда я создам готовый образ дискеты, он же будет в файловой системе виртуальной машины. A Vmware хочет брать образ дискеты из винды. Вот и коллизия)

farewell
() автор топика
Ответ на: комментарий от marvin_yorke

> он в VMware хочет с образа дискеты загрузиться. причем в плеере, который умеет только готовые машины запускать, а не создавать новые
sooooo slow

note173 ★★★★★
()
Ответ на: комментарий от farewell

На винде расшарьте каталог(AKA «папка») для записи. В Линуксе в Vmware поднимите подмонтируйте этот каталог.
Или. ещё проще, в Линуксе поднимите быстренько ftp-сервак, положите в /var/ftp/pub образ дискеты и из-под хост-операционки броузером скачайте как ftp://1.2.3.4/pub/xxxx.img

Slavaz ★★★★★
()
Ответ на: комментарий от Slavaz

> поднимите быстренько ftp-сервак

Слишком мало опыта, чтобы быстро это сделать)) Уж быстрее получится куда-нибудь залить... Спасибо, я даже как-то не подумал об этом, сейчас буду мутить что-нибудь :)

farewell
() автор топика
Ответ на: комментарий от AITap

Не мудрствуя лукаво, просто ввел команду, которую мне посоветовали :) Предварительно создал образ дискеты start.img, в котором содержится только мой загрузчик, и больше ничего. И к этому start.img указал путь в qemu -fda start.img

farewell
() автор топика
Ответ на: комментарий от farewell

> Слишком мало опыта, чтобы быстро это сделать))

apt-get install vsftpd && service vsftpd start


Slavaz ★★★★★
()
Ответ на: комментарий от farewell

qemu - это эмулятор. Пускать эмулятор в эмуляторе - это уже слишком :) В специфичных случаях оправдано, в данном - это просто насмешка.

Slavaz ★★★★★
()
Ответ на: комментарий от AITap

Так оно и оказалось. Я файл формата .img на выходе nasm-а получил и решил, что это готовый образ, facepalm. :) читаю маны по dd.. пока жесть.

farewell
() автор топика

В общем, сейчас мне только осталось выяснить, как создать образ дискеты.

Делаешь образ с dd

можно тут чуть поподробнее?)

farewell
() автор топика
Ответ на: комментарий от farewell

dd bs=512 count=2880 if=/dev/zero of=imagefile.img

Как вариант - можно скачать готовый образ загрузочной дискеты с dos и поудалять ненужное.

Suigintou ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.