Конфигурирование DOSEmu
Конфигурирование DOSEmu
Существует ряд конфигураций, используемых для выполнения DOSEmu в Linux. Перечислим их.
-
Загрузка DOS с дискеты.
-
Загрузка DOS с образа диска.
-
Загрузка DOS из отдельного раздела.
Чтобы упростить задачу и пояснить работу программного обеспечения, в главе рассмотрена только загрузка DOS с образа диска. Более сложные конфигурации, включая загрузку с других носителей, хорошо описаны в документации, которая после установки DOSEmu находится в каталоге /usr/doc/dosemu/.
Примечание
Подробная информация и документация для DOSEmu находится в http: / /www. dosemu. org. Полезные сведения включены в файлы HOWTO на сайте
http://www.dosemu.org/docs/
HOWTO/. С этого сайта можно загрузить последнюю версию DOSEmu с полными инструкциями по инсталляции!
Чтобы запустить DOS, необходимо иметь файл конфигурации /etc/dosemu.conf. Это очень сложный файл, который имеет обширную документацию.
Пакет DOSEmu облегчает эту задачу, поскольку имеется предварительно сконфигурированный файл образа диска и файл dosemu. conf для загрузки с образа диска. Сам образ диска находится в /var/lib/dosemu/hdimage. Он содержит бесплатный вариант DOS FreeDOS и множество полезных команд и утилит, среди которых fdisk, format, unix2dos и Iredir (утилита переадресации каталогов Linux в символы дисков DOS).
Чтобы пояснить, что понимается- под конфигурированием среды DOSEmu, приведем содержимое включенного по умолчанию в Red Hat Linux 7.1 файла dosemu. conf:
#############################
# Это файл /etc/dosemu.conf, содержащийся в /var/lib/dosemu/global.conf #
# Конфигурация Linux DOSEMU для версий >= 3 (dosemu-0.97.1) #
# ./doc/README.txt (раздел 2.) содержит описание синтаксиса и
# использования dosemu.conf. #
#
# Права доступа определены в #
# /etc/dosemu. users |
||
# |
||
###################################### |
||
# Примечания для редактирования этого раздела :
#- . |
||
# В $ ххх = (n) n - это числовая или двоичная величина |
||
# = |
||
# В $ zzz = "s" s - это строка |
||
# |
||
# Пожалуйста, редактируйте только между скобками и кавычками, |
||
# остальное сохраняйте нетронутым. |
||
| |
||
$_debug = "-а" # тот же формат, что в опциях команды -D |
||
# (но без -D впереди) |
||
$_features= " # список временных установок, смотрите примечания |
||
# в файле ChangeLog. Например", "0:1 2:0", |
||
# который означает: |
||
# установить feature 0 в 1 и feature 2 в 0. |
||
$_timint = (on) # эмуляция типа прерывания таймера INT08 |
||
$_matheo = (on) # или отключение |
||
$ сри = (80386) # эмулятора CPU, допустимые значения: 80 [345] 86 |
||
$ rdtsc = (off) # если возможно использовать в Pentium |
||
# счетчик цикла |
||
$_cpuspeed = (0) # 0 = калиброванный dosemu, иначе указать |
||
# (например, 166.666) |
||
$_pci = (off) |
||
$_xms = (1024) # Кбайт |
||
$_ems = (1024) # Кбайт |
||
$_ems_frame = (0xe000) |
||
$_dpmi = (off) # Кбайт |
||
$_dosmem = (640) # Кбайт, < 640 |
||
$_hardware_ram = " # список значений сегмента /диапазонов, как |
||
# "0xc8000 диапазон 0xcc000.0xcffff" |
||
$_securc ="hgd" # безопасность для: п (обычные пользователи) , |
||
# g (гости) , d (dexe) |
||
# пустая строка: зависит от 'restricted' |
||
# "0": всегда опасный (не рекомендуется) |
||
$_odd_hosts = " # черный 'список, как "lucifer.hell.com billy, the. cat" |
||
$_diskless_hosts=" ' # черный список, как "hackerl newbee gatewayl" |
||
$_emusys = " # пустой или 3 симв., config.sys -> config.XXX |
||
$_emubat = " # пустой или 3 симв., autoexec.bat -> autoexec. XXX |
||
$_emuini = " # пустой или 3 симв., system.ini -> system. XXX |
||
$_hogthreshold = (1) # 0 — вся мощность CPU для DOSEMU |
||
$_irqpassing = " # список номеров IRQ (2-15) , переданных DOS, |
||
# например "3 8 10" |
||
$_speaker = " # или "native", или "emulated" |
||
$_term_char_set = " # Глобальная кодовая страница и выбор |
||
# набора символов. |
||
# "" — автоматическая, или: ibm, latin, |
||
# latinl, Iatin2 |
||
t *
|
||
$_term_color = (on) # терминал с поддержкой цвета |
||
$_term_updfreq = (4) # время между обновлениями |
||
# (единицы: 20 == 1 секунда) |
||
$_escchar = (30) # 30 == Ctrl-", приставка спец. последовательности |
||
$_rawkeyboard = (0) # обход нормального ввода с клавиатуры - |
||
'# возможна опасность |
||
$_layout = "auto" t одно из: f innish (-latinl) , de(-iatinl) , be', it, us |
||
# uk, dk(-latinl) ,. keyb-no, no-latinl, dvorak, po |
||
# sg (-latinl), fr (-latinl) , sf (-latinl) , es( -latinl) |
||
Я # sw, hu(-latin2), hu-cwi, keyb-user |
||
tt hr-cp852, hr-latin2 |
||
# или 'auto' (для генерации таблицы из текущих |
||
# параметров консоли Linux) |
||
$_keybint = (on) # эмуляция прерывания клавиатуры ПК |
||
$_X_updfreq - (5) # Время между обновлениями (единицы: 20 =»= 1 секунда) |
||
$_X_title = "DOS in а ЮХ" # Надпись в строке заголовка окна |
||
$_X_icon_name = "xdos" # Текст для значка, когда минимизировано |
||
$_X_keycode = (auto) # on == перевод клавиатуры через таблицу |
||
# символов dosemu |
||
$_X_blinlcrate = (9) # скорость мерцания курсора |
||
$_X_font = "" # basename из /usr/XHRG/lib/X11/fonts/misc/* |
||
# (без расширения) например, "vga" |
||
$_X_mitsbm = (on) # Использовать разделяемые расширения памяти |
||
$_X_sharecmap = (off) # Разделять карту цветов с другими приложениями |
||
$_X_fixed_aspect = (on) # Установить фиксированный размер для |
||
# графического окна |
||
$_X_aspect_43 = (on) # Всегда использовать отношение 4:3 для графики |
||
$_X_lin_filt = (off) # Использовать линейный фильтр для интерполяции >15 Ьрр |
||
$_X_bilin_filt° = (off) # Использовать билинейный фильтр для |
||
# интерполяции >15 Ьрр- |
||
$_X_model3fact = (2) # Фактор начального размера для видеорежима 0x13 |
||
# (320x200) |
||
$_X_winsize = " # "х,у" начального размера окна |
||
# (по умолчанию с плавающей точкой) |
||
$_X_gamma = (1.0) # гамма-коррекция |
||
$_X_vgaemu_memsize = (1024) # размер (в Кбайтах) буфера фреймов |
||
# для эмуляции vga |
||
$_X_lfb = (on) # использовать линейный буфер фрэймов в режиме VESA |
||
$_X_pm_interface = (on) # использовать защищенный режим интерфейса |
||
# для режима VESA |
||
$_X_mgrab_key = " # имя KeySym для активации захвата мыши, |
||
# пусто == off |
||
$_X_vesamode = " # "xres , yres ' . . . xres , yres" |
||
# список vesamodes для добавления. Список содержит |
||
# пары, разделяемые пробелами: "xres, yres" |
||
$_video = "vga" |
# одно из: plainvga, vga, ega, mda'," mga, cga |
||
$_console = (0) |
# использовать видео 'console' |
||
$_graphics = (0) |
# использовать BIOS карты для установки графики |
||
$_videoportaccess = (1) |
# позволить доступ к видеопорту, |
||
|
# когда доступно 'graphics' |
||
$_vbios_seg = '(0xc000) |
# установка адреса VBIOS (например, ОхеООО) |
||
$_vbios_size = (0x10000) |
# установка размера BIOS (например, 0x8000) |
||
$_vmemsize = (1024) |
# размер буфера регенерации |
||
$_chipset = |
# одно из: plainvga, trident, et4000, diamond, avance |
||
|
# cirrus, matrox, wdvga, paradise, ati, s3, sis |
||
$_dualmon = (0) |
# если имеется один vga. и один hgc (2 монитора) |
||
$_vbootf loppy = "" |
# если необходимо загружаться с виртуального дисковода: |
||
|
# имя "файла образа диска под /var/lib/dosemu |
||
|
# например, "f loppyimage" отключает $ hdimage |
||
|
# "floppyimage +hd" не отключает $ hdimage |
||
$_floppy_a ="threeinch" |
# или "fiveinch", или "atapi", или пусто, |
||
|
# если не существует. |
||
|
# Устройство может быть добавлено как |
||
|
# J'threeinch:/dev/fd0" |
||
$_floppy_b = "" |
# dito для В: |
||
$_hdimage = "hdimage . first' |
# список hdimages под /var/lib/dosemu |
||
|
# назначенный в порядке, подобном |
||
|
# "hdiraage_c hdimage_d hdimage_e" |
||
|
# Если имя начинается с Vdev/', то используется |
||
|
# раздел доступа вместо виртуального hdimage. |
||
|
# например, "/dev/hdal" или "/dev/hdal:ro" |
||
|
# только для чтения. |
||
|
# Текущие монтированные устройства и swap |
||
|
# отменяются. |
||
|
# Hdimages и устройства могут быть смешаны, |
||
|
# например, "hdimage_c /dev/hdal /dev/hda3 :ro" |
||
|
# Заметим, wholedisk' не поддерживается. |
||
$_hdimage_r = $_hdimage |
# hdimages для ограниченного доступа (если иначе) |
||
$_aspi = "" |
# список общих устройств SCSI доступных для |
||
|
# встроенного драйвера aspl |
||
|
# (формат записи 'устройство: тип: цель', например, |
||
|
# "sg2:WORM sg3 : Sequential-Access: 6 sg4: CD-ROM" или |
||
|
# "sg2:4 sg3:l:6 sg4:5" (что одинаково)) |
||
$_coml = " |
# например, "/dev/mouse" или "/dev/cuaO" |
||
$_com2 = " " |
# например, "/dev/modem" или "/dev/cual" |
||
$_com3 = " |
# dito "/dev/cua2" |
||
$_com4 = "" |
# dito "/dev/cua3" |
||
$_ttylocks = " |
# Каталог Lock (например "/var/lock") |
||
|
# по умолчанию ("") /usr/spool/uucp |
||
$_mouse = " |
# одно из: microsoft, mousesystems, logitech, |
||
|
* mmseries |
||
|
# mbuseman, hitachi, busmouse, ps2 |
||
$_mouse_dev = |
# одно из: com1, com2, com3, com4 или /dev /mouse |
||
$_mouse_flags = " |
# список пустой или один или более: |
||
|
# "emulateSbuttons cleardtr" |
||
$_mouse_baud = (0) |
# скорость в бодах, 0 == не установлено |
||
$_pr inter = "Ip" |
# список (/etc/printcap) имен принтеров, в виде |
||
|
# LPT1, LPT2, LPT3 (не все необходим, пусто - если нет) |
||
$_printer_timeout = (20) |
# время задержки в секундах перед спуллингом |
||
$_ports = "" |
# список номеров портов, например, "Oxlce 0xlcf 0x238" |
||
|
# или "0xlce диапазон 0x280, Ox29f 310" |
||
|
# или "диапазон 0xla0, (OxlaO+15)" |
||
$_ipxsupport = (off) |
# или on |
||
$_novell_hack = (off) |
|
||
$_vnet = (off) |
# 'on' для многопакетного (используется для dosnet) |
||
$_sound = (off) |
# звуковая поддержка on/off |
||
$_sb_base = (0x220) |
|
||
$_sb_irq = (5) |
|
||
$_sb_dma = (1) |
|
||
$_sb_dsp = "/dev/dsp" |
|
||
$_sb_jnixer = "/dev/mixer" |
|
||
$_ropu_base = "0x330" |
|
||
К счастью, в глубоком реконфигурировании нет необходимости. Работая с текущей версией DOSEmu (I.O.I), вы должны будете установить образ диска и загрузочный каталог и затем скопировать ряд стандартных загрузочных MS-DOS файлов в этот каталог.
Для установки образа диска (hdimage. first) и загрузочного каталога (/var/ lib/dosemu/ bootdir. first) можно воспользоваться следующими командами, расположенными в каталоге
/var/lib/dosemu/:
$ /var/lib/dosemu/setup-hdimage
$ /var/lib/dosemu/setup-bootdir
К сожалению, FreeDOS не поддерживает управление Linux-файлами и каталогами из эмулятора DOS. Для реализации такого управления вам потребуются три базовых файла конфигурации DOS. Например, если вы располагаете любым загрузочным диском MS-DOS или PC-DOS, скопируйте файлы COMMAND.COM, IO.SYS и MSDOS.SYS в созданный каталог /var/lib/dosemu /bootdir.first.
Допустим, что эти файлы расположены на несмонтированном гибком диске, который находится в накопителе /dev/ f d0 (аналог DOS-устройства А:). Поскольку Linux учитывает регистр, необходимо использовать следующие команды, чтобы заменить FreeDOS-версии этих файлов:
$ mcopy a:io.sys /var/lib/dosemu/bootdir.first/io.sys
$ mcopy a:command.com /var/lib/doseim/bootdir.first/cofflmand.com
Примечание
Упомянутые системные файлы можно скопировать с любой системной дискеты MS-DOS версии 4.0.1 или более свежей. Этот метод применим даже для некоторых других версий DOS, равно как и для загрузочных дисков Windows 95/98.
В завершение создайте или отредактируйте конфигурационный файл . dosemurc в своем каталоге. В этом файле должна быть одна строка, указывающая системе Linux расположение соответствующих конфигурационных файлов DOS:
$_hdiraage = "bootdir.first"
Содержание раздела