Создание загрузочного образа диска DOS в Slackware Linux
Продолжая тему загрузочных образов.
Расскажу, как сделать загрузочный образ диска DOS в который можно добавить свои программы, загружаемый по сети или с CD-диска. На примере тестового образа, который использовал в одной из предыдущих заметок.
Загрузчик, соответственно, оставлю такой же, какой использовал ранее - SYSLINUX. Вообще SYSLINUX, а точнее memdisk
поддерживает кроме ISO загрузку образов дискет и жестких дисков, в т.ч. и сжатых gzip'ом.
С дискетами возникает небольшая проблема - файл образа должен быть строго определенного размера (хотя SYSLINUX поддерживает и нестандартные размеры дискет, но все равно они должны быть строго определенными), в образе дискеты, естественно, не может быть два логических раздела и т.д. Чтобы не заморачиваться с этими ограничениями, буду делать образ жесткого диска, его размер можно определить произвольно, главное, чтоб влез в память машины, на которой его потом будем загружать.
Подготовка системы1. Устанавливаем простенькую виртуальную машину
QEMU, для DOS ее вполне хватит.
2. Устанавливаем
multipath tools, для того, чтобы получить доступ к файлам, расположенным в образе диска из Linux (ну если мы хотим добавить в образ какие-нибудь программы). У меня multipath tools были уже установлены, ибо нужны для работы с шифрованными контейнерами
truecrypt/tcplayЯ установил необходимые программы с помощью менеджера
sbopkg
без всяких дополнительных опций при сборке.
3. Если будем работать на удаленной машине через SSH, то
настраиваем X11-forwarding4. Создаем отдельный каталог в котором разместим необходимые образы дисков
5. Скачиваем выдранный из Hiren's boot CD
образ с досовыми утилитами. Или делаем его сами,
как я описывал ранее6. Проверяем, все ли работает, запускаем с досом, выдранным из HBCD:
qemu-system-i386 -cdrom dos.iso -boot d
где:
qemu-system-i386
- программа QEMU для 32-разрядных систем. В 64-разрядной версии Linux необходимо использовать команду
qemu-system-x86_64
-cdrom
- указываем программе местонахождение ISO-образа диска (тут
dos.iso
, расположенный в текущем каталоге).
-boot d
- указываем программе, что необходимо грузиться с виртуального CDROM'а (из указанного образа диска).
Должно получиться как-то так:


Во втором меню нужно выбрать пункт
Next, далее
File Managers и
Volkov commanderЕсли Volkov Commander успешно загрузился, то закрываем QEMU и приступаем к созданию образа диска DOS
Создание образаПервым делом создаем пустой файл (заполненный нолями) нужного размера, например 10 мегабайт. Делается это с помощью
стандартной утилиты dd
dd if=/dev/zero of=diskc.img bs=10M count=1
Грузимся опять в QEMU с ISO-образа, но подключив созданный образ диска:
qemu-system-i386 -cdrom dos.iso -hda diskc.img -boot d
Выбираем в загрузочном меню HBCD Volkov Commander
( Продолжение со множеством иллюстраций под катом )Готовый образ можно сжать gzip'ом, включить в состав загрузочного ISO-образа или загружать по сети. Пример конфига для ISOLINUX
описан здесьПримерыКак и что можно таким образом запускать:

Acronis Disk Director for DOS

Acronis True Image for DOSСкачатьГотовый образ дискаЗаметку в формате PDFЭто репост заметки из моего блога на сайте http://tolik-punkoff.com
Оригинал заметки находится здесь: http://tolik-punkoff.com/2016/12/19/sozdanie-zagruzochnigo-obraza-diska-dos-v-slackware-linux/