Archivo de la etiqueta: vmware

Notas sobre la actualización de Ubuntu 11.10 (Oneiric Ocelot) a 12.04 (Precise Pengolin)

En la actualización, se desactivan automáticamente todos los repositorios de terceros, por lo que habrá que reactivarlos o actualizarlos posteriormente.

Hay determinado software que te dará algún problema extra.

Dropbox

Dropbox no consigue reiniciarse una vez actualizado el sistema a 12.04.

Este problema me surgió en la actualización de Cecile, pero no es una instalación fresca en Sophie. Para imitar una instalación fresca:

  1. Ejecuta el comando «echo 100000 | sudo tee /proc/sys/fs/inotify/max_user_watches». Sio no lo haces, te lo pedirá él de todas formas en cuanto lo inicies.
  2. Borra tu carpeta Dropbox (haz antes una copia de seguridad, claro).
  3. Borra la configuración (es decir, el directorio «.dropbox» de tu Home)
  4. Ahora inicia de nuevo dropbox.

Con esto, en mi sistema funcionó y empezó a sincronizar de nuevo. Eso si, preparate para esperar un buen rato, porque tendrá que bajarse de nuevo todos los ficheros desde la nube. Curiosamente no funcionó a la primera sino al segundo o tercer intento.

Curioso, muy curioso.

VMware

O VMplayer, da igual. No funcionan en Ubuntu 12.04. El problema es que fallará la compilación de los módulos vmnet debido a cambios en el kernel 3.2 que usa esta versión de Ubuntu.

Afortunadamente, hasta que los chicos de VMware se den por aludidos y saquen una versión corregida compatible con Ubuntu 12.04, hay disponible un parche creado por la comunidad. Bájatelo a tu ordenador. Descomprimelo. Vete a la carpeta donde se ha descomprimido, y ejecuta el script «patch-modules_3.2.0.sh» como root. Deja que el script trabaje y parchee las fuentes. Cuando termine (no tardará mucho), arranca de nuevo VMware.

Esto funciona para la versión de VMware 8.0.2. Si quieres instalar la nueva versión VMware 8.0.3 volverá a fallar la compilación, así que tendrás que ejecutar de nuevo el script. Pero antes tienes que editarlo y cambiar la línea donde pone «vmreqver=8.0.2» por «vmreqver=8.0.3» para después ejecutar el script.

Si aplicas el parche a VMware 8.0.2 y después actualizas a 8.0.3 el parche no dejará que lo vuelvas a ejecutar. Para que funcione, tendrás que borrar el fichero /usr/lib/vmware/modules/source/.patched como root.

He actualizado Ubuntu a la 11.10 (Oneiric Ocelot) y ahora se cuelga en el arranque.

Acabas de actualizar a la nueva versión y ahora, en el boot, te aparece un mensaje que dice «Waiting for network configuration». Se queda ahí un minuto, y luego sale otro mensaje que dice «Waiting up to 60 seconds more for network». Después de otro minuto, la pantalla se pone en blanco y ahí se queda para siempre, vamos, que se cuelga.

Este bug aparece solo en actualizaciones, no en instalaciones frescas. Y posiblemente dependa de qué software de terceros esté instalado. Parece bastante claro que si tienes instalado VMWare 8 tienes garantizado el bug.

El problema es que algunos directorios esenciales (/var/run y /var/run/lock) han cambiado de sitio, pero algún software no se da por enterado de la migración e interfiere con los demás. Sí, hay un workaround, y es tan simple y clásico como arreglar las cosas a mano.

Para ello, abre un terminal pulsando Ctrl-Alt-F1 y tecleando tu login. A continuación, hazte root y teclea los siguientes comandos.

[lacofi@cecile]$ sudo -i
password:
[root@cecile]# mkdir -p /run /run/lock
[root@cecile]# rm -rf /var/run /var/lock
[root@cecile]# ln -s /run /var
[root@cecile]# ln -s /run/lock /var
[root@cecile]# reboot

Como puedes ver, hemos borrado /var/run y /var/lock y los hemos sustituido por enlaces simbólicos apuntando a /run. Después rebotamos el sistema y ya está, debería arrancar con red y en modo gráfico.

Si no te deja borrar los directorios, o no puedes crear los enlaces simbólicos, tendrás que rebotar el sistema y arrancar desde grub en modo recuperación. En el modo recuperación, pedir que monte como lectura-escritura, y después que te pase a consola root. A partir de ahí, vuelves a hacer lo dicho.

Suerte. :-)

He actualizado el iTunes de mi máquina virtual VMware a la 9.2 y ahora se cuelga cuando intento sincronizar el iPod

Sip. Así es. :-(

Si tienes una máquina VMware con un sistema Windows que usas para sincronizar tu iPod, es muy probable que tarde o temprano acabes actualizando el iTunes a la versión 9.2. A partir de ese momento, probablemente tendrás serios problemas. Con un sistema Windows XP Pro, mi iTunes se colgaba de forma caótica cada vez que intentaba sincronizar el iPod. Lo curioso es que el iTunes muchas veces no llegaba siquiera a aparecer en pantalla al enchufar el iPod, pero para el administrador de procesos sí que estaba funcionando. Con el Windows 7 Home, el problema era incluso más serio, porque se me colgaba no solo el iTunes, sino que desestabilizaba todo el sistema Windows.

Malgasté un montón de tiempo intentando averiguar qué pasaba, antes de que se me pasara por la cabeza intentarlo con un Windows instalado en una partición real (y no una máquina VMware). Me costó, porque hasta entonces siempre había sincronizado sin problemas en VMware, con múltiples versiones tanto de VMware como de iTunes, así que no veía por qué iba a ser un problema ahora. Pero el caso es que en una partición real, el iPod se sincronizaba como la seda (a toda leche, por cierto).

Tengo la teoría no confirmada de que los ingenieros de Apple han toqueteado en el código del iTunes 9.2 para que acceda al hardware USB de forma irregular con el fin de acelerar el acceso. La mayoría de las máquinas reales no se dan cuenta, solo aumentan su rendimiento. Pero las máquinas VMware (y supongo que también algunas máquinas reales con hardware rarito), sí se daban cuenta y les sentaba bastante mal.

Si quieres seguir utilizando VMware para sincronizar tu iPod, ¿hay solución?.

Pues sip. A fecha de hoy, VMware ha sacado una actualización (la versión 7.1.1) que «corrigue errores en dispositivos USB». Efectivamente, tal y como suena, el principal motivo de esta actualización es perfeccionar la virtualización de USB para que los dispositivos no tengan problemas. Y puedo confirmar que VMware 7.1.1 es capaz de sincronizar correctamente (y muy rápido, además), el iPod con iTunes 9.2 (o superiores).

Así que si tienes este problema, actualiza tu VMware a la versión 7.1.1 o más alta. A la voz de ya. ;-)

Desde que actualicé mi VMWare no puedo hacer un apagado limpio

Si has instalado VMWare, puede que te encuentres conque no puedes hacer un apagado limpio de tu Gentoo (en el huesped, no en el invitado), y la secuencia de shutdown se detiene poco después de xinetd. Lo verdaderamente curioso es que yo no he sido capaz de detener el programa bloqueado, ni siquiera localizarlo, y me vi obligado a hacer apagados sucios (cruzando los dedos para que ext3 y reiserfs aguantasen).

En mi caso, el problema era especialmente irritante, porque tengo un SAI precisamente para evitar cosas como esa, y mira tú.

Así que, por ensayo y error, fui retirando servicios de la secuencia de inicio para volver a intentar un shutdown a ver si se completaba. Naturalmente en cada intento iba retirando los servicios más prescindibles con la intención de ir progresivamente hasta iptables. Pero mira por dónde, uno de los primeros ensayos fue con el servicio vmware y descubrí que era el culpable.

Es más, se trata de un bug conocido y documentado en el Gentoo Bugzilla, con lo que una vez que localizas el problema ya puedes tirar del hilo. Se trata, efectivamente de un bug en /etc/init.d/vmware, que al hacer un stop se cuelga al intentar desmontar el directorio virtual /proc/fs/vmblock/mountPoint. Al parecer, el intento falla porque ya ha sido desmontado previamente y no tiene a bien comprobarlo, con lo que se queda esperando indefinidamente.

Afortunadamente, hay una solución fácil (un workaround, que dicen en el imperio). Solo tienes que comentar la línea en cuestión, en el fichero /etc/init.d/vmware, con lo que quedaría tal que así:

 
#umount /proc/fs/vmblock/mountPoint

Pues hala. Con esto ya puedes devolver vmware a la secuencia de inicio y hacer de nuevo apagados limpios.

Por cierto, tanto ext3 como reiserfs aguantaron sin problemas todos los apagados sucios. Incluidos los ext3 que tengo en tres unidades encriptadas. Lo sepas.

En VMWare solo puedo sincronizar mi Pocket PC una vez

Últimamente uso bastante las máquinas virtuales VMWare, sobre todo para sincronizar mi iPod con un Windows XP virtual. VirtualBox, en cambio, tiene muchos problemas, no solo con la iPod sino también con las PDA, así que VMWare es de momento la mejor opción porque maneja muy bien y muy rápido los puertos USB 2.0. Ya se que es políticamente incorrecto para un linuxero de pro, pero sinceramente os digo que no he encontrado ningún software Linux que iguale al iTunes, ni siquiera nuestro querido Amarok. Sobre todo para los locos que todavía compramos música de vez en cuando (compraría mucha más si me la dieran desprotegida, pero el iTunes Plus tiene una oferta muy baja por culpa de las discográficas). En fin… hay gente que todavía no se ha enterado de por dónde va el mercado. Apple sí, desde luego, pero no las discográficas. Pero es que ni p* idea, vamos.

Pero me estoy enrollando, como siempre. A lo que iba, que aprovechando que voy tirando de la máquina virtual, la estoy usando también para sincronizar la PDA (con lo que he abandonado SynCE, tal vez para siempre). Solo hay un problema: hay alguna incompatibilidad aún no corregida con los drivers usb_storage de Linux, que hacen que solo funcione bien si no hay ningún disco duro USB funcionando. Aun así, es muy posible que solo consigas sincronizar la PDA una vez. Si la desenchufas y luego la vuelves a enchufar, verás que ya no la reconoce. Solo lo hará de nuevo si apagas la máquina virtual y luego reseteas Linux, una medida demasiado drástica, creo yo.

Hombre, tampoco hay que llegar a eso. Puedes parchear el problema sin necesidad de rebotar el ordenador. Lo único que hay que hacer es desmontar los módulos problemáticos del kernel cada vez que desenchufes la PDA.

Haz la prueba. Enchufa tu PDA a la máquina virtual y deja que se sincronice. Ahora desenchúfala. Ahora abre una terminal Konsole o Gnome-terminal y desmonta los módulos que nos molestan:

 
[lacofi@jeanne lacofi]$ su
password: 
[root@jeanne /home/lacofi]# rmmod rndis_wlan
[root@jeanne /home/lacofi]# rmmod rndis_host
[root@jeanne /home/lacofi]# rmmod cdc_ether
[root@jeanne /home/lacofi]# rmmod usbnet
[root@jeanne /home/lacofi]# exit
[lacofi@jeanne lacofi]$

Ahora vuelve a la máquina virtual y enchufa la PDA otra vez. Esta vez debería ser reconocida de nuevo sin problemas. :-)

Usar el script knx-hdinstall para instalar Knoppix en disco duro

Si arrancas determinadas versiones de Knoppix e intentas instalarlo con el script knx-hdinstall, puede que falle durante el particionado del disco duro. La culpa no es del script, ni tampoco de knoppix, sino del programa de particionado en sí mismo: cfdisk.

El problema es que cuando dices que grabe las nuevas particiones (escribir), cfdisk te pide confirmación y tienes que teclear «sí». Cuando tecleas «si» te dice que tienes que escribir la «i» con acento (manda huevos…). Pero el terminal en el que está funcionando cfdisk no permite escribir acentos, así que no puedes confirmalo de ninguna forma y la instalación entera se va a al carajo.

Esto es especialmente grave en una máquina virtual VMWare, porque en ella tienes, normalmente, el disco duro virtual en blanco, y por narices tienes que reparticionar y formatear con el propio Knoppix.

Hay dos posibles soluciones a este desaguisado:

Mediante el idioma

Mete el CD de Knoppix y arranca el ordenador (o la máquina virtual VMWare, eso da igual). Cuando te pide las opciones de arranque, usa éstas: «knoppix lang=en desktop=800×600». Observa que he escrito «en» y no «es». Lo que le estoy diciendo a Knoppix es que use el idioma inglés.

Ahora arrancará knoppix en inglés. Cuando te muestre el escritorio de KDE vete a la banderita norteamericana del panel y pulsa con el botón derecho del ratón. Pulsa en «Configure» y en «Primary Layout» selecciona el teclado español. Acepta y sal de la configuración. El idioma sigue siendo inglés, pero el teclado es castellano (lo necesitarás para teclear el guión ;-).

Vete al icono de Knoppix (en el panel, segundo icono por la izquierda) y abre una sesión de root. En ella, ejecuta el comando knx-hdinstall. Ya está, ahora solo tienes que ir contestando a las preguntas y reparticionar en cfdisk. La diferencia es que ahora estará todo en inglés, y cuando te pida confirmación, tendrás que teclear «yes» en lugar de «sí», con lo que te libras de los acentos. :-)

Mediante el viejo fdisk

Si estás en una máquina virtual VMWare, tu disco duro virtual estará en blanco. Eso te da la oportunidad de hacer lo que te de la gana sin temer una pérdida de datos. La segunda alternativa es recurrir al bueno y viejo fdisk, con la ventaja de que podemos arrancar Knoppix en castellano.

Arranca Knoppix con «knoppix lang=es desktop=800×600». Observa que ahora el idioma sí es el español. Cuando aparezca el escritorio KDE, vete al icono de Knoppix (en el panel, segundo icono por la izquierda) y abre una sesión de root. Ejecuta el comando «fdisk /dev/sda» (VMWare configura un disco duro SCSI para Linux) o «fdisk /dev/hda» (normalmente, las máquinas reales tienen discos IDE, no SCSI).

Ahora tienes que reparticionar con Fdisk, que es un mundo aparte.

PELIGRO – PELIGRO – PELIGRO – Particionar tu disco duro puede provocar una perdida de datos. PELIGRO – PELIGRO – PELIGRO – ¿Estás al día con tus copias de seguridad?.

A continuación, pongo lo que se vería en una máquina virtual VMWare con disco duro virtual de 4 Gb. Crearemos una partición de 3500 Mb para Knoppix y el resto para Swap (intercambio). En rojo, lo que introducimos nosotros:

	root@ttyp0[knoppix]# fdisk /dev/sda
	Device contains neither a valid DOS partition table, nor Sun, or OSF disklabel
	Building a new DOS disklabel. Changes will remain in memory only,
	until you decide to write them. After that, of course, the previous
	content won't be recoverable.

	Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

	Command (m for help): m 
	Command action
		a	toggle a bootable flag
		b 	edit bsd disklabel
		c	toggle the dos compatibility flag
		d	delete a partition
		l	list known partition types
		m	print this menu
		n	add a new partition
		o	create a new empty DOS partition table
		p	print the partition table
		q	quit without saving changes
		s 	create a new empty Sun disklabel
		t	change a partition's system id
		u	change display/entry units
		v	verify the partition table
		w	write table to disk and exit
		x	extra funcionality (experts only)

	Command (m for help): p  

	Disk /dev/sda: 4194 MB, 4194892800 bytes
	255 heads, 63 sectors/track, 510 cylinders
	Units = cylinders of 16065 * 512 = 8225280 bytes

		Device Boot	Start	End	Blocks	Id	System

	Comand (m for help): n 
	Command action
		e	extended
		p	primary partition (1-4)
	p 
	Partition number (1-4): 1 
	First cylinder (1-510, default 1): <Enter> 
	Using default value 1
	Last cylinder or +size or +sizeM or +sizeK (1-510, default 510): +3500M 

	Command (m for help): n 
	Command action
		e	extended
		p 	primary partition (1-4)
	p 
	Partition number (1-4): 2 
	First cylinder (428-510, default 428): <Enter> 
	Using default value 428
	Last cylinder or +size or +sizeM or +sizeK (428-510, default 510): <Enter> 
	Using default value 510

	Command (m for help): t 
	Partition number (1-4): 2 
	Hex code (type L to list codes): 82 
	Changed system type of partition 2 to 82 (Linux swap)

	Command (m for help): p  

	Disk /dev/sda: 4194 MB, 4194892800 bytes
	255 heads, 63 sectors/track, 510 cylinders
	Units = cylinders of 16065 * 512 = 8225280 bytes

		Device Boot	Start	End	Blocks	Id	System
	/dev/sda1		1	427	3429846	83	Linux
	/dev/sda2		428	510	666697+	82	Linux swap

	Command (m for help): w 
	The partition table has been altered!

	Calling ioctl() to re-read partition table.
	Syncing disks.
	root@ttyp0[knoppix]#

Ahora ejecuta el comando knx-hdinstall. (Pulsa OK). Selecciona /dev/sda (pulsa OK), te dirá que has elegido /dev/sda que tiene una capacidad de 4000Mb (pulsa OK). Ahora saltará la pantalla de cdfisk ofreciendote reparticionar el disco, pero eso ya lo hemos hecho, asi que selecciona «salir». Te preguntará si quieres usar una partición swap. Dile que sí. Te ofrece /dev/sda2. Seleccionala y pulsa OK. Te insiste en que si quieres /dev/sda2 como swap, porque perderás todos los datos (pulsa OK). Te dirá que indiques una partición raíz y te ofrece /dev/sda1. Seleccionala y pulsa OK. Te pregunta qué sistema de archivos quieres. Elige el que más te guste, yo te recomiendo ext3 o reiserfs. Te insiste en que si quieres crear un sistema de archivos en /dev/sda1 y te advierte que perderás todos los datos. Pulsa en «Sí». La ventana «Root» empezará a mostrar mensajes muy raros sobre Superblocks y «inode tables». Ignóralo y espera. Te aparecerá otro diálogo que dice que Knoppix se dispone a copiar ficheros al disco duro y que le llevará entre 10 y 40 minutos dependiendo del hardware (Pulsa OK).

Ahora vete a tomar un café. La copia de ficheros llevará un buen rato, pero más cerca de los 10 minutos que de los 40. De todas formas, si estás instalando en una máquina VMWare, el proceso será un poco más lento de lo normal. Cuando termines el café, la copia de ficheros habrá terminado: pulsa OK.

Te preguntará si quieres iniciar un servidor de correo: contesta lo que quieras (para una máquina VMWare yo contesté «no»). Te preguntará si quieres iniciar una servidor SSHD: contesta lo que quieras (yo contesté sí, porque permite la comunicación con la máquina real, por ssh y por sftp). Te preguntará si quieres iniciar un servidor SAMBA: contesta lo que quieras (yo contesté «no», pero si usas Windows quizás te convenga decir «sí»). Te preguntará si quieres iniciar un servidor de impresoras (yo contesté no, para VMware). Te pregunta si quieres un diálogo gráfico para logarte (KDM). Yo contesté «sí». Te pedirá un nombre para el ordenador: pon el que quieras (yo contesté «Rose»). Te preguntará si quieres lanzar un DHCP broadcast. En una máquina VMWare, lo habitual es emular una red local, y normalmente esas redes no usan DHCP sino IP fijas. Tú mismo. Si contestas «no» te pedirá la dirección IP del ordenador, la máscara de red, la IP de broadcast, la de la puerta de enlace y la del servidor de nombres. Si no sabes ninguno de los datos de tu red, no podrás configurarla ahora, claro, pero siempre puedes reconfigurarlo en el «Menu K» y submenú «Knoppix». Luego, te pedirá una contraseña para root. Luego, otra contraseña para el usuario «knoppix». Después te pregunta si quieres instalar LILO en el MBR. Tú di que «Sí». Te preguntará que si quieres crear un disquette de rescate. Mete un disquette limpio en la disquetera y contesta «sí». Entonces te dirá que la instalación se ha acabado. Enhorabuena :-)

Pulsa OK. Sal del escritorio y confirma que sí, que quieres salir. El ordenador iniciará la secuencia de apagado y extraerá el CD-ROM. Retíralo y pulsa «Enter». El ordenador se apagará.

La próxima vez que lo enciendas, arrancará Knoppix desde el disco duro. Disfrútalo. :-)

¿Existe algún emulador para Linux capaz de ejecutar OS/2 Warp?

Si. Pero no es VMWare.

Efectivamente, no conseguirás ejecutar OS/2 con VMWare, entre otras cosas porque es un emulador comercial, y lógicamente quieren rentabilizar su inversión en desarrollo: ¿Estás dispuesto a pagar por el soporte para OS/2?. ¿A tí y cuantos más?. ¿Sería rentable?.

Pero VMWare no es el único emulador. Hay otro, heredero de bochs, que sí puede con el viejo OS/2 Warp y con cosas muchas más exóticas. Se llama Qemu y a pesar de ser menos conocido que VMWare, debo decir que me ha sorprendido mucho más que éste. No me extenderé mucho en descripciones, porque está bien documentado y se encuentra facilmente en el Google.

Solo diré que funciona, y para demostrarlo, puedes ver está captura de pantalla de OS/2 Warp 4 funcionando bajo Linux en mi ordenador. De todas formas no es una emulación perfecta y falla a menudo. Solo es apta para nostálgicos, no esperes nada serio con ella. :-)

VirtualBox también tiene soporte para OS/2 Warp, pero solo en algunas máquinas host modernas. A mí no me funciona, pero aparece en la documentación de VirtualBox.

Cómo conectar en red mi Linux con Windows 3.11 en VMWare

Windows 3.11 es el sistema operativo que venía instalado en la vieja Marta. Habitualmente, configuro máquinas virtuales VMWare para conservar el «sabor» de mis viejos equipos ya desaparecidos. Eso incluye una maquina VMWare para Marta: MS-DOS 6.22 y Win 3.11 con algunos de los programas que solía usar por aquella época. Poco después, el OS/2 empezó a madurar un poco con la versión 2.1, que fue la que instalé en Marta. Eso significó, en la práctica, la muerte definitiva de Windows 3.11 en mi máquina. Un poco después, apareció también el famoso Windows 95 que compré por ver de que iba. Me decepcionó profundamente, acostumbrado como estaba al WPS de OS/2, así que continué con la compra de Warp y Warp 4. Por cierto, que me costó un huevo encontrar un agente comercial de IBM que me lo vendiera. Eso demuestra, quién se cargó al bueno y duro OS/2, en realidad. IBM y su política comercial tuvo gran parte de la culpa, sinceramente… :-(

Bien, pero volviendo al grano, resulta que tengo una máquina virtual VMWare con MS-DOS 6.22 y Windows 3.11. ¿Cómo conseguir que se comunique en red con la máquina host, con Linux?. Eso simplificaría enormemente el intercambio de información entre ambos ordenadores, el real y el virtual.

Bien, es sencillo de hacer, pero requiere algunos drivers que no van incluidos en el viejo Windows para Trabajo en Grupo. En primer lugar, comprobarás fácilmente que Windows no reconoce la tarjeta ethernet virtual. Efectivamente, VMWare emula una ethernet AMD PCNet Family (NDIS2/NDIS3) que no era soportada por el Windows original. Lo primero de todo, conviene que instales Winzip, pero no el último de ahora, sino la última versión que se escribió para 16 bits. Si no, no conseguirás que funcione en Win 3.11. A continuación, bájate los drivers para la AMD PCNet Family, tanto NDIS2 como NDIS3. Estos dos drivers deberás descomprimirlos en Windows 95 ó 98, o cualquier versión más moderna. Pero no conseguirás descomprimirlos en la 3.11 (curioso, ¿verdad?), asi que guárdalos descomprimidos en algún disquette y luego mete el disquette en la máquina virtual VMWare y copia los ficheros a algún directorio del disco duro virtual.

Ahora vete a «Configuración de la Red» y pulsa en «Controladores». Pulsa en «Agregar adaptador» y selecciona «Adaptador de red no listado o actualizado». Cuando te pida un directorio donde buscarlo, pon el que contiene los drivers descomprimidos de antes. Verás que Windows 3.11 instala y configura correctamente el nuevo adaptador de red como «Advanced Micro Devices PCNET family (NDIS2/NDIS3)».

Después de resetear, tu Windows 3.11 ya puede utilizar la tarjeta ethernet virtual. Pero aún no puede comunicarse con Linux porque no entiende los protocolos TCP/IP. Por aquel entonces, Internet daba solo algunos pequeños pasos, ¿recuerdas?, así que el Windows nativo no contemplaba algo tan exótico :-D. La visión de futuro de Bill Gates siempre me ha sorprendido, sí. ¿Recuerdas lo de que «640 Kb de RAM serán más que suficientes»?. Bien, basta. :-DDDD. El caso es que tendrás que instalar un nuevo driver también para eso. Ya sabes, descomprímelo, pásalo a un disquette y mételo en la máquina virtual. Luego vuelve a «Configuración de la Red», «Controladores» y esta vez pulsa en «Agregar protocolo». En la lista, elige «Protocolo no listado o actualizado» y especifica el directorio donde has metido el driver descomprimido. Cuando resetees, tu Windows 3.11 ya puede comunicarse correctamente con Linux. En este último directorio donde has guardado los drivers TCP/IP, encontrarás también clientes para telnet y ftp. Solo tienes que especificar un número IP, claro, pero no me voy a meter en la configuración de una máquina virtual VMWare. Se supone que conoces el manejo de redes VMware, pero si no es así, tendrás que leerte tú mismo los manuales. Para algo que está bien documentado… ¿no crees?. O;-).

Observa este screenshot. En él se ve perfectamente una máquina VMware mía con Windows 3.11, estableciendo un telnet con su host (en este caso lynette, con Fedora Core 1).

¿Y esto para qué sirve?. ¿Quién quiere usar hoy en día un máquina Windows 3.11?. ¡Ah, no sé!. Yo lo hago por simple nostalgia… :-D

Cómo ejecuto Knoppix en una máquina virtual VMWare

Tienes una máquina virtual VMWare con el sistema operativo que sea (Windows o Linux, da igual). Y te acabas de bajar la última distribución de Knoppix y ahora quieres probarla. ¿Puedes probarla en la máquina VMWare?.

Pues sí, claro. Pero comprobarás que si metes el CD y reseteas la máquina virtual, no engancha el CD de Knoppix, sino que arranca desde el disco duro.

Eso es porque tienes que cambiar los ajustes de la CMOS. Pero no los de tu ordenador real, sino los del falso, los de la máquina virtual. Como lo oyes. ;-)

Resetea la máquina VMWare, y observa los mensajes de arranque, porque tienes que pulsar F2 para entrar en el Setup. Una vez allí, vete a «boot», selecciona el CD y pulsa la tecla «+» para subirlo en la escala hasta el primer puesto. De esta forma, si encuentra un CD con sector de arranque, lo usará antes que el disco duro. Sal y graba los cambios. La máquina virtual volverá a iniciarse y esta vez enganchará y cargará Knoppix. ;-)

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. :-)