Запуск DOS-программ

Материал из База знаний Etersoft
Перейти к: навигация, поиск

При запуске DOS-программы в WINE можно получить ошибку

err:dosmem:DOSMEM_MapDosLayout Need full access to the first megabyte for DOS mode

Это связано с тем, что в современных системах младшие 64 килобайта запрещены для использования в целях безопасности (блокирование взломов на основе нулевых указателей).

Задаётся это в файле /etc/sysctl.conf параметром

vm.mmap_min_addr = 65536

Для работы DOS-программ придётся установить

vm.mmap_min_addr = 0

и выполнить

sysctl -p

для применения изменений.

Проверить результат можно так:

# cat /proc/sys/vm/mmap_min_addr

В системе могут быть включены такие дополнительные средства защиты, как SELinux и Apparmor, которые могут устанавливать свои ограничения.

В SUSE Linux используется Apparmor, нужно либо передать ядру при загрузке apparmor=0, либо выполнить в системе

rcapparmor stop

При использовании SELinux временно выключить его для проверки можно командой

# echo 0 > /selinux/enforce


Ссылки