Configuración “rápida” de un genuino MS-DOS con DosEmu

Si procedes de la "vieja escuela", como yo, seguramente has empezado con un ordenador 8086 o 80286 (¿te acuerdas?) con MS-DOS. Puede que tengas multitud de antiguos programas y datos procedentes de ese sistema. Casi todos ellos pueden ser convertidos, de algún modo, a un formato manejable con Linux. Pero quizás prefieras usar los documentos tal y como fueron creados. Y al fin y al cabo, MS-DOS tenía también su encanto, ¿no?. :-)

Puedes usar VMWare, pero es un programa comercial y cuesta dinero. Otra opción gratuita y de similar calidad sería VirtualBox. Cualquiera de las dos podría servirte pues son magníficos emuladores. Pero quizás quieras probar DosEmu, que es mucho más ligero y rápido de arrancar.

Lo primero de todo es instalar DosEmu, claro. Así que haz un apt-get o un emerge, o lo que sea.

Bien. Pero ahora hay que configurarlo, ¿qué te creías?. Y puede llegar a ser bastante complicado. Aquí te voy a poner la configuración que yo usaba en Debian y como ponerla en marcha. Si quieres usar otra diferente, tendrás que usar google.

Vale, lo primero es prescindir de FreeDOS. Lo siento, se que es políticamente incorrecto y que es software libre y todas esas cosas, pero FreeDOS es malo. Si no quieres pagar por un DOS, úsalo. Pero el DOS de Microsoft es mucho mejor.

Yo aún conservo mi antiguo MS-DOS 6.22, así que...

[lacofi@claudia lacofi]$ su
password:
[root@claudia lacofi]# cd /var/lib/dosemu
[root@claudia lacofi]# mkdir msdos622
[root@claudia lacofi]# chown lacofi.personal msdos622
[root@claudia lacofi]# chmod ug+rwx msdos622
[root@claudia lacofi]# mkdir prgdos
[root@claudia lacofi]# chown lacofi.personal prgdos
[root@claudia lacofi]# chmod ug+rwx prgdos

Vale. El directorio "msdos622" se comportará como unidad "C:" y contendrá el sistema operativo. Todos sus subdirectorios serán directorios de "C:" en cuanto arranquemos DosEmu. El directorio "prgdos" se comportará como unidad "D:" y contendrá todos los programas y datos. Ambos directorios pertenecen al usuario lacofi y grupo personal. Los dos usuarios de mi ordenador (maría y yo) pertenecemos a ese grupo, con lo que los dos tendríamos permiso para leer y escribir en ambas unidades de DosEmu (C: y D:).

Ahora necesito mi viejo disquette de arranque de DOS. Ojo, aquí necesito las copias de seguridad, es decir con todos los ficheros copiados directamente desde el disco duro, no la versión sin instalar. Si solo dispones de la versión "virgen" de MS-DOS, tendrás que arreglartelas para instalarla en alguna partición, y luego copiar todos los archivos a disquette. Cuando digo todos, digo TODOS, incluidos los ocultos (IO.SYS y MSDOS.SYS).

Bueno, si quieres que sea sincero, también se puede instalar directamente en DosEmu, claro, pero es más complicado y no voy a detallarlo aquí ahora. Quizás otro día. ;-)

Muy bien, pues ahora metemos el disquette de arranque en la disquetera:

[root@claudia dosemu]# exit
[lacofi@claudia lacofi]$ cd /var/lib/dosemu/msdos622
[lacofi@claudia msdos622]$ mcopy a:io.sys .
[lacofi@claudia msdos622]$ mcopy a:msdos.sys .
[lacofi@claudia msdos622]$ mcopy a:command.com .
[lacofi@claudia msdos622]$ mcopy a:autoexec.bat .
[lacofi@claudia msdos622]$ mcopy a:config.sys .
[lacofi@claudia msdos622]$ mkdir utils
[lacofi@claudia msdos622]$ mkdir dos
[lacofi@claudia msdos622]$ cd dos
[lacofi@claudia dos]$ mcopy a:dos\* .

Ahora vamos metiendo todos los disquettes de nuestro MS-DOS y copiandolo todo al directorio /var/lib/dosemu/msdos622/dos. El directorio /var/lib/dosemu/msdos622/utils, de momento, quedará vacío. A continuación:

[lacofi@claudia dos]$ cd ..
[lacofi@claudia msdos622]$ chown -R lacofi.personal *
[lacofi@claudia msdos622]$ chmod -R ug+rw *
[lacofi@claudia msdos622]$ chmod ug+x dos
[lacofi@claudia msdos622]$ chmod ug+x utils

Observad que me he salido de root en cuanto he dejado de necesitarlo. Nunca useis root para nada más que lo imprescindible. Os ahorrará muchos disgustos.

Observad también que he usado las "mtools" para acceder a la disquetera bajo linux. Si no las teneis instaladas, podeis usar mount y copiar los ficheros con cp. Da igual cómo, la cuestión es copiarlo todo al directorio /var/lib/dosemu/msdos622 y reconstruir ahí toda la estructura de subdirectorios.

Ya hemos creado la infraestructura. Ahora tenemos que configurar DosEmu. Primero editamos /etc/dosemu/dosemu.users y añadimos una línea que ponga: "all nosuidroot c_all". Esto permite que sea ejecutado por otros usuarios sin necesitar privilegios de root.

Ahora editamos el fichero /etc/dosemu/dosemu.conf y ponemos los valores adecuados. Es un fichero muy largo, pero no todo nos interesa. Está bien comentado, así que a continuación pongo solo los cambios más relevantes:

$_cpu = "80586" #emulará un procesador pentium
$_xms = (5120) #usará 5Mb de memoria expandida XMS
$_ems = (5120) #usará 5Mb de memoria extendida EMS
$_dpmi = (4096) #usará 4Mb de memoria protegida DPMI
$_dosmem = (640) #memoria convencional de 640Kb
$_term_char_set = "latin1" #hablas castellano, ¿verdad? ;-)
$_layout = "es-latin1" #¿verdad? :-D
$_X_font = "vga" #fuente VGA, la mejor y la que asume
#pero leete este truco
$_video = "vga" #imita una VGA para los gráficos
$_chipset = "S3" #si tu tarjeta es, realmente, una S3
#mira mas opciones en fichero original
$_hdimage = "msdos622 prgdos" #ahí está la madre del cordero.
#si son subdirs de /var/lib/dosemu
#el primero será unidad C:
#y el segundo unidad D:
#Si ficheros, serán unidades virtuales
# (esa es otra historia)
#Y si son dispositivos (/dev/hda1)
#es un DOS real en otra partición
$_sound = (on) #¿Sonido?
$_sb_base = (0x220) #Pues hala, parámetros SoundBlaster:
$_sb_irq = (5)
$_sb_dma = (1)
$_sb_dsp = "/dev/dsp" #Dispositivo linux para el sonido.
$_sb_mixer = "/dev/mixer" #Dispositivo mezclador.

Y te dirás que con esto ya puede ir. ¿O no?.

Pues no. Ahora tienes que arrancar tu nuevo emulador de DOS con los comandos "dos" o "dosemu" si estás en consola, o bien "xdos" o "xdosemu" si estás en xwindow. Observarás que las cosas, ahí, empiezan a fallar un poco. DOS arranca, pero sale una retahila de errores. Y es que ahora tienes que configurar los ficheros "autoexec.bat" y "config.sys":

C:\> edit config.sys

Por ejemplo, para la configuración propuesta serviría un config.sys tal que así:

device=c:\utils\ems.sys
buffers=30
files=60
dos=high,umb
lastdrive=z
devicehigh=c:\dos\ansi.sys
devicehigh=c:\utils\cdrom.sys /d:mscd0001
country=034,437,c:\dos\country.sys

Observa que cargamos un driver "c:\utils\cdrom.sys" de un directorio que no contiene nada... Bien, ese driver no está incluido en MS-DOS. Es un driver para una conocida marca de CD, que es compatible con la emulación que hace DosEmu. Tendrás que descargarte ese driver de algún sitio (consulta las FAQ de DosEmu) y ponerlo en el directorio "c:\utils" (o lo que es lo mismo, /var/lib/dosemu/msdos622/utils, que es como lo vería Linux).

Vaaale, vaaaale. Es un driver de libre distribución, así que no busques maaaaas. Aquí lo tienes. En cuanto a esa misteriosa referencia a c:\utils\ems.sys, que tampoco existe, no seas impaciente. Llegaremos a eso enseguida. De momento, tu mételo tal cual.

Ahora es el turno de "autoexec.bat". Por ejemplo:

@echo off
echo --------------------------
echo ¡Bienvenido a  dosemu 1.0!
echo  ¡Esto es DOS bajo Linux!
echo --------------------------
set path=.;C:\;C:\dos;c:\utils;D:\PRG;D:\BAT
lh mscdex.exe /d:mscd0001 /l:e

¿Que queda?. Solo una cosa... ¿cómo salir de DosEmu?. No con "exit". Tendrías que salir a lo bruto, matando el programa. Pero hay una solución mejor, claro. Instalaste FreeDOS, ¿recuerdas?.

Bueno, pues vete al directorio "/usr/lib/freedos/dosemu" y verás un montón de comandos propios de FreeDOS pero especialmente diseñados para DosEmu. Cópialos todos a "/var/lib/dosemu/msdos622/utils" (¿ves por qué te recomendaba crearlo?). Entre todos esos comandos, verás uno que se llama "exitemu". Ejecútalo en tu sesión DosEmu y ésta se cerrará limpiamente. También entre esos comandos está el fichero ems.sys al que hacíamos referencia antes.

Ahí lo tienes funcionando. :-)

Be Sociable, Share!

Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio.

Deja un comentario

Disculpa, debes iniciar sesión para escribir un comentario.