Иллюстрированный самоучитель по RedHatLinux

       

Конфигурирование 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"

<
/p>
$_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"

<


/p>
$_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

<


/p>
# 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 Oxlcf 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"



Запуск DOS


Простейший способ запуска DOSEmu состоит в использовании команды dos в консоли или окне xterm. По команде



$

dos



загружается и запускается DOSEmu с устройства начальной загрузки, определенного в /etc/dpsemu. conf. По умолчанию в Red Hat Linux 7.1 это означает загрузку с указанного файла образа диска. На рис. 30.1 показано приглашение DOS в окне xterm после использования команды dos.

Вопреки выданному сообщению, запущен эмулятор версии 1.0.1. После запуска DOS можно использовать стандартные команды и синтаксис DOS для запуска программ с дискет или запуска приложений, находящихся в переадресованных каталогах.



Рис. 30.1.



Выполнение DOS в окне xterm



Загрузка DOS в отдельном окне X


DOS можно запускать как в текущем окне, так и в своем собственном окне при выполнении X Windows. Для запуска DOS в собственном окне X Windows используется команда



$ xdos



Фактически, эта команда является ссылкой на основной двоичный файл dos. Выполнение программы через ссылку xdos имеет тот же эффект, что и команда



$ dos -X



Выполнение DOS в ее собственном Х-окне показано на рис. 30.2.





Рис. 30.2.



Выполнение DOS

в

ее собственном Х-окне



Полезные команды DOSEmu


Образ диска, распространяемый с DOSEmu, содержит несколько полезных команд и утилит (некоторые из них приведены в табл. 30.1). Эти и многие другие команды находятся в каталогах с: \bin и с: \dosemu. Для этого запустите DOSEmu, используя образ диска, заданный по умолчанию.



Табл. 30.1.


Некоторые команды DOSEmu



Команда




Описание


eject . com

emumouse . com

exitemu . com

lredir.com

unix . com

Выдвигает дисковод CD-ROM

Настраивает драйвер мыши DOSEmu

Выход из DOSEmu

Переадресует каталог Unix в символ диска DOS

Выполняет команду Linux из DOSEmu


Содержание раздела