Luis Angel Cofiño

Trucos Linux

Sección Ocho





Secciones

Índices

  1. 06/01/2006: Instalación de OS/2 Warp 4 en Qemu
  2. 08/01/2006: He recompilado mi kernel, pero ahora no funcionan los gráficos.

  * *

Instalación de OS/2 Warp 4 en Qemu

Bueno, pues hoy vamos a instalar OS/2 Warp 4 en el emulador Qemu. ¿Vale?.

Atención, la instalación que voy a describir está hecha con la versión 0.80 de Qemu. Si no la tienes, deberías instalarla. Bueno, en realidad podría hacerse también en versiones anteriores de Qemu, pero el método sería ligeramente distinto, entre otras cosas porque el monitor de hardware no está integrado en la emulación. Hazme caso, instala la 0.80 que no te arrepentirás.

Quiero dar las gracias a la Web OS/2 Warp 4 and Qemu. El procedimiento de instalación no tiene ningún secreto y lo hice por mi cuenta, pero no conseguía más que la resolución VGA standard, con lo que quedaba muy pobre. Ricardo Mendonça, en cambio, incluye una excelente descripción de cómo instalar los fixpacks en inglés y las utilidades de resolución de pantallla. Yo he añadido algunos toques para hacer lo mismo, pero en la versión española de los fixpacks. No habría podido hacerlo sin las pistas que me dió Ricardo Mendonça.

Para proceder a la instalación, necesitais una conexión a Internet para conseguir algunos drivers, y por supuesto, un CD-ROM original de Warp 4. Os recuerdo que OS/2 sigue siendo a fecha de hoy un programa comercial.

El primer paso es crear una imagen en disco duro de CD. No es imprescindible, podría accerse lo mismo directamente con el CD, pero Qemu prefiere siempre imágenes en disco duro, porque accede a ellas a mucha más velocidad.

[lacofi@jeanette ~]$ cd /mnt/qemu
[lacofi@jeanette /mnt/qemu]$ mkdir os2
[lacofi@jeanette /mnt/qemu]$ cd os2
[lacofi@jeanette /mnt/qemu/os2]$ mount /dev/cdroms/cdrom0 /mnt/cd
[lacofi@jeanette /mnt/qemu/os2]$ dd if=/mnt/cd of=cdwarp.iso   
Mucho ojito con esto. Como veis, he montado el CD a mano. Si tuvieramos instalado un automontador (como es mi caso), tendríamos que usar el acceso real y no el directorio de montaje. Es decir, en lugar de todo lo anterior, tendríamos que usar, directamente:
[lacofi@jeanette /mnt/qemu/os2]$ dd if=/dev/cdroms/cdrom0 of=cdwarp.iso   

Pero todavía no saqueis el CD de la unidad, porque ahora tenemos que sacar de ahí los disquettes de arranque. OS/2 Warp era de una época en la que los CD no autoarrancaban (¿os acordais?).

[lacofi@jeanette /mnt/qemu/os2]$ cp /mnt/cd/diskimgs/os2/35/disk1_cd.dsk disco1.raw  
[lacofi@jeanette /mnt/qemu/os2]$ cp /mnt/cd/diskimgs/os2/35/disk2.dsk disco2.raw
[lacofi@jeanette /mnt/qemu/os2]$ cp /mnt/cd/diskimgs/os2/35/disk0.dsk instalacion.raw
[lacofi@jeanette /mnt/qemu/os2]$ chmod a-x disco* instalacion*
Naturalmente, ahora sí, ahora hemos usado el directorio de montaje y no el acceso real.

Ahora ya podemos sacar el CD y guardarlo de nuevo en su caja. No volveremos a necesitarlo en esta instalación.

El siguiente paso es crear una imagen de disco de 1 Gb de tamaño, que servirá de disco duro para nuestro OS/2.

[lacofi@jeanette /mnt/qemu/os2]$ qemu-img create -f raw warp.raw 1G
Formating 'warp.raw', fmt=raw, size=1048576 kB

Y lo preliminares ya están. Ahora tenemos que arrancar la emulación Qemu, con el CD y el disquette de instalación insertado, y con una orden para que arranque desde disquete. Si además le damos 128 Mb de RAM a la emulación, mejor que mejor. ¿Listos?. :-)

[lacofi@jeanette /mnt/qemu/os2]$ qemu -hda warp.raw \
> -cdrom cdwarp.iso \
> -fda instalacion.raw \
> -boot a \
> -m 128

Debería abrírse una ventana con la emulación Qemu. Una ventana tal que así:

*

¡Ya estamos en marcha!. Ahora hay que pulsar Ctrl-Alt-2. Eso nos pasa a la consola de Qemu, que se usa para cambiar de disquette, por ejemplo. Observad que os ha pedido el disquette 1: pues se lo damos, tecleando el comando "change fda disco1.raw".

*

Ahora pulsamos Ctrl-Alt-1 para ver la pantalla de la emulación.

*

Se quedará ahí un ratito, y parece que se ha colgado. Pero no, solo teneis que esperar un poco (menos de un minuto, en mi ordenador). Luego cambiará y vereis que os pide el disquette 2. Pulsamos Ctrl-Alt-2 y tecleamos el comando "change fda disco2.raw". Luego pulsamos Ctrl-Alt-1 y volvemos a la emulación.

Aparece la pantalla de bienvenida, donde tenemos que pulsar "Intro". En la siguiente pantalla nos da a elegir entre instalación simplificada o avanzada. Elegimos la simplificada. Luego nos dice que la partición del disco duro ha terminado, y nos pide que quitemos el disquette de la unidad A, que volvamos a insertar el disquete de instalación y luego reseteemos.

En realidad, tendremos que repetir todo esto, porque lo que ha ocurrido es que OS/2 se ha encontrado con un disco duro sin particionar, por lo que ha tenido que particionarlo y luego reiniciar la instalación desde el principio. Bueno, pues a ello vamos:

Lo que hacemos es seguir las instrucciones pero al modo Qemu: pulsar Ctrl-Alt-2, y teclear sucesivamente los comandos "change fda instalacion.raw" y "system_reset". Pulsamos Ctrl-Alt-1 para volver a la emulación.

Ahora vuelve a pedirnos el disquette 1. Pues eso: Ctr-Alt-2 y "change fda disco1.raw". Y después, como siempre, Ctrl-Alt-1 para volver a la emulación.

Ahora vemos la pantalla gráfica "OS/2 Warp", y después de un rato nos pide el disquette 2. Se lo damos pulsando Ctrl-Alt-2 y "change fda disco2.raw". Ctrl-Alt-1 para volver a la emulación.

Estamos otra vez en la pantalla de bienvenida. Volvemos a pulsar "Intro" y nos ofrece "Instalación simplificada o avanzada".

*

Esta vez elegimos la avanzada (si elegimos la simplificada, nos dará error, porque el disco duro está sin formatear). Nos pregunta si aceptamos la unidad C: para la instalación o especificamos otra unidad. Aceptamos C:. Nos dice que tiene que formatear la unidad, y nos pregunta si con HPFS o con FAT. Elegimos HPFS sin dudarlo. El programa de instalación formatea la unidad C: y empieza a copiar ficheros. :-)

*

Ahora nos dice que retiremos el disquette y pulsemos Intro para reiniciar la estación de trabajo. Bien, no podemos hacerlo desde la consola, porque tal y como arrancamos Qemu, volverá a iniciar desde disquette, y esta vez quiere arrancar desde disco duro. ¿Qué hacemos?. Pues cerrar Qemu, claro. Pulsamos Ctr-Alt-2 y luego el comando "quit".

Ahora hay que volver a arrancar la emulación, pero con una línea de comandos distinta: sin disquette, con el CD-ROM, y arrancando desde disco duro:

[lacofi@jeanette /mnt/qemu/os2]$ qemu -hda warp.raw \
> -cdrom cdwarp.iso \
> -m 128

Con esto, Warp arranca y nos lleva a la pantalla de Configuración del Sistema. Pulsamos en "Siguiente". Al primer click veremos que no ha pasado nada, pero en realidad sí ha pasado: el ratón ha quedado atrapado en la emulación Qemu. Podemos liberarlo de nuevo pulsando "Ctrl-Alt", pero ahora no nos interesa, sino que pulsamos en "Siguiente" (esta vez, de verdad).

Esto nos lleva a la segunda pantalla de Configuración del Sistema. De nuevo aceptamos todos los valores pulsando "Siguiente".

Ahora nos pide que instalemos una impresora. Como no tenemos ninguna, aceptamos "No instalar impresora por omisión", y pulsamos en "Bien".

Ahora nos aparece la pantalla de "Componentes a instalar".

*

Bueno, puedes entretenerte echando un vistazo, pero hay cosas interesantes en el apartado "BonusPak". Cuando hayas terminado, pulsa en "Siguiente".

Ahora aparece un cuadro de "Opciones avanzadas" con la opción "Añadir programas existentes al Escritorio". Pues vale, pulsa en "Bien".

Ahora sale otro cuadro de diálogo donde puedes seleccionar los servicios a instalar. Yo elegí "Cliente de archivos e impresoras", "Servicios TCP/IP", "Cliente de acceso remoto" y "Cliente de gestión de sistemas". Pulsa siguiente.

Ahora el programa se cuelga, y sale un error "SYS3170". Elige "Finalizar el programa" y pulsa en "Bien". Que no cunda el pánico, que esto sigue.

Ahora veremos moverse una barra de progreso. Está instalando cosas. Es posible que la imagen se corrompa un poco en este paso, pero el trabajo está haciéndose. Veremos aparecer y desaparecer varias pantallas de progreso, una detrás de otra, hasta que al final sale un cartel anunciando que la configuración e instalación de OS/2 ha finalizado, que retires el disquette de la unidad A y que reinicies el sistema.

*

Fale. Pues Ctr-Alt-2 y teclea el comando "system_reset". Ctrl-Alt-1 y volvemos a la emulación.

Vemos que empieza a arrancar y... y.... YYYY....

*

¡Ahí lo tieneeeees!.

Pero, eso, sí, solo funcionará en VGA standard, es decir, 640x480 y 16 colores, que es una resolución muy pobre. Pero eso puede arreglarse instalando el FixPack 15, siguiendo en parte las instrucciones de Ricardo Mendonça y en parte con tres o cuatro apuntes mios. Es muy fácil:

Pulsa en el escritorio con el botón derecho y elige "Concluir". Cuando te pregunte si estás seguro, di que "Si". Cuando te pida que pulses "Control+Alt+Supr", pulsa "Ctrl-Alt-2" y teclea "quit". Ahora entra en un navegador y vete a Internet, al Servicio de Soporte de IBM, donde encontrarás un montón de ficheros ZIP con el FixPack 15. Tienes que bajarte todos esos ficheros, y descomprimirlos en el mismo subdirectorio. A veces te preguntará si sobreescribe X o Y. Tu di que sí, y continúa. Veamos cómo sería una vez que tenemos todos los ficheros zip ya en nuestro "home".

[lacofi@jeanette ~]$ ls -Fohl *.zip
-rw-r-----  1 lacofi 974K ene  2 17:43 csf143.zip
-rw-r-----  1 lacofi  41K ene  2 17:43 ftpinstl.zip
-rw-r-----  1 lacofi 1,1M ene  2 17:43 xrsm0151.zip
-rw-r-----  1 lacofi 1,4M ene  2 17:43 xrsm0152.zip
-rw-r-----  1 lacofi 1,4M ene  2 17:43 xrsm0153.zip
-rw-r-----  1 lacofi 1,4M ene  2 17:43 xrsm0154.zip
-rw-r-----  1 lacofi 1,4M ene  2 17:44 xrsm0155.zip
-rw-r-----  1 lacofi 1,4M ene  2 17:44 xrsm0156.zip
-rw-r-----  1 lacofi 1,4M ene  2 17:44 xrsm0157.zip
-rw-r-----  1 lacofi 1,4M ene  2 17:44 xrsm0158.zip
-rw-r-----  1 lacofi 1,4M ene  2 17:44 xrsm0159.zip
-rw-r-----  1 lacofi 1,4M ene  2 17:44 xrsm015a.zip
-rw-r-----  1 lacofi 1,4M ene  2 17:44 xrsm015b.zip
-rw-r-----  1 lacofi 1,4M ene  2 17:44 xrsm015c.zip
-rw-r-----  1 lacofi 1,4M ene  2 17:45 xrsm015d.zip
-rw-r-----  1 lacofi 1,4M ene  2 17:45 xrsm015e.zip
-rw-r-----  1 lacofi 1,4M ene  2 17:45 xrsm015f.zip
-rw-r-----  1 lacofi 1,4M ene  2 17:45 xrsm015g.zip
-rw-r-----  1 lacofi 1,4M ene  2 17:45 xrsm015h.zip
-rw-r-----  1 lacofi 766K ene  2 17:45 xrsm015i.zip
[lacofi@jeanette ~]$ mkdir os2zip
[lacofi@jeanette ~]$ cd os2zip
[lacofi@jeanette os2zip]$ for archivo in ..\*.zip
> do
> unzip $archivo
> done

Recuerda, cada vez que nos pregunte si reemplaza un fichero, tienes que contestar que sí. Al final obtienes esto:

[lacofi@jeanette os2zip]$ ls -Fohl 
total 988K
drwxr-x---  2 lacofi 4,0K jul 14  2000 csf/
-rw-r-----  1 lacofi  114 ene 11  2001 csf_disk
drwxr-x---  6 lacofi 4,0K ene 11  2001 fix/
-rw-r-----  1 lacofi 230K ene 10  2001 ftpinstl.exe
-rw-r-----  1 lacofi 1,9K may  4  2000 ftpinstl.txt
-rw-r-----  1 lacofi  15K mar 31  2000 os2dump
-rw-r-----  1 lacofi 263K dic 29  1999 os2serv.exe
-rw-r-----  1 lacofi 4,0K may 17  1996 os2serv.ico
-rw-r-----  1 lacofi  31K mar 13  1999 os2serv.inf
-rw-r-----  1 lacofi 6,1K jun  1  1999 os2serv.msg
-rw-r-----  1 lacofi 136K ene 12  2001 readme.1st
-rw-r-----  1 lacofi 136K ene 12  2001 README.1ST
-rw-r-----  1 lacofi  91K dic  5  2000 readme2
-rw-r-----  1 lacofi  14K jul 24  1998 readme.cid
-rw-r-----  1 lacofi  11K jul 24  1998 readme.reg
-rw-r-----  1 lacofi  395 ene 17  2001 xrsm015.tbl

Ahora tenemos que acudir a Hobbes y bajarnos el Scitech Display Doctor SE 7.04. Para ello, en Hobbes, hacemos una búsqueda (Quick search) para localizar el fichero ibmsdd704.zip y nos lo bajamos. Ahora tenemos que descomprimirlo en otro directorio que llamaremos "scidoc".

[lacofi@jeanette os2zip]$ cd 
[lacofi@jeanette ~]$ mkdir scidoc 
[lacofi@jeanette ~]$ cd scidoc 
[lacofi@jeanette scidoc]$ unzip ../ibmsdd704.zip
[lacofi@jeanette scidoc]$ ls -Fohl
total 4,7M
drwxr-x---  2 lacofi 4,0K dic 13  2000 br/
-rw-r-----  1 lacofi   32 dic 13  2000 build.lvl
-rw-r-----  1 lacofi  450 dic 13  2000 bundle.os2
-rw-r-----  1 lacofi 8,3K dic 13  2000 cfgdel.dsp
drwxr-x---  2 lacofi 4,0K dic 13  2000 cn/
-rw-r-----  1 lacofi  11K dic 13  2000 combase.dsp
-rw-r-----  1 lacofi  50K dic 13  2000 comgradd.dsp
-rw-r-----  1 lacofi 147K dic 13  2000 comsvga.dsp
drwxr-x---  2 lacofi 4,0K dic 13  2000 dbcs/
drwxr-x---  2 lacofi 4,0K dic 13  2000 de/
drwxr-x---  2 lacofi 4,0K dic 13  2000 dk/
[...lista enorme...]
-rw-r-----  1 lacofi  68K dic 13  2000 swinvga
drwxr-x---  2 lacofi 4,0K dic 13  2000 tw/
-rw-r-----  1 lacofi  79K dic 13  2000 unpack2.exe
-rw-r-----  1 lacofi   69 dic 13  2000 version.txt
-rw-r-----  1 lacofi 366K dic 13  2000 vga
-rw-r-----  1 lacofi  874 dic 13  2000 vgagradd.dsp
-rw-r-----  1 lacofi  51K dic 13  2000 winvga

Con esto ya tenemos la materia prima. Primero vamos a instalar el FixPack 15, y para eso tenemos que arrancar de nuevo la emulación de OS/2 pero montando el directorio os2zip como unidad D: (con la opción -fat de Qemu)

[lacofi@jeanette ~]$ cd /mnt/qemu/os2
[lacofi@jeanette /mnt/qemu/os2]$ qemu -hda warp.raw \
> -hdb fat:/home/lacofi/os2zip \
> -cdrom cdwarp.iso \
> -m 128

Una vez que tenemos el OS/2 en pantalla, hacemos click con el ratón para que quede capturado en la emulación, y luego abrimos una sesión de ventana de comandos OS/2 en la que darle instrucciones.

*

E instalamos el Fixpack 15, tecleando comandos directamente en la Ventana OS/2:

[C:\] mkdir temp
[C:\] cd temp
[C:\] mkdir fp15
[C:\] cd fp15
[C:\] xcopy d:*.* . /E /S
[C:\] dir

Ahora instalamos ejecutamos el programa de instalación, también en la Ventana OS/2:

[C:\] cd csf
[C:\] fservice.exe /R:c:\temp\fp15\csf\response.wp4 /S:c:\temp\fp15 /SF:1

*

Ahora sale un mensaje en inglés diciendo que esperes mientras el sistema se prepara para instalar el Corrective Service. Luego empieza la copia de ficheros. Te preguntará si quieres reemplazar algunos ficheros por la versión nueva. Tu di que "Yes". Cuando termine, el programa de instalación te dice que retires cualquier disquette de la unidad A: y que pulses Ctrl-Alt-Supr. En vez de eso, pulsa Ctrl-Alt-2 y ejecuta el comando "system_reset". Luego, Ctrl-Alt-1 para volver a la emulación.

Ahora verás arrancar de nuevo OS/2, pero observa que en la pantalla gráfica de presentación (pantalla OS/2 Warp), en la esquina inferior izquierda, te dice que es la "Internal Revision 14.062_W4". Bien, eso te indica que se ha actualizado correctamente el FixPack 15. Cuando arranque el OS/2, verás que, además los colores son mejores. Bien. Ahora cierra la Ventana OS/2 (tecleando el comando exit) pulsa con el ratón en el escritorio OS/2 y elige "Concluir". Cuando te diga que "Concluir ha finalizado", pulsa Ctrl-Alt-2, y ejecuta "quit" para cerrar la emulación. Ahora tienes que instalar el SciTech Display Doctor, y eso exige un comando ligeramente distinto.

[lacofi@jeanette /mnt/qemu/os2]$ qemu -hda warp.raw \
> -hdb fat:/home/lacofi/scidoc \
> -cdrom cdwarp.iso \
> -m 128

Vuelve a arrancar OS/2. Abrimos de nuevo una Ventana OS/2 y tecleamos los comandos para instalar el SciTech Display Doctor.

[C:\] cd temp
[C:\] mkdir sdd
[C:\] cd sdd
[C:\] xcopy D:\*.* . /E /S
[C:\] set lang=es_ES
[C:\] setup gen

Se ejecuta la instalación, y luego te pide que concluyas el sistema y reinicies. Pues eso: teclea "exit" para cerrar la ventana OS/2, y luego pulsa con el botón derecho en el escritorio y "Concluir". Cuando te diga que ya ha concluido, Ctr-Alt-2 y "quit".

Ahora volvemos a arrancar OS/2 Warp desde disco duro y sin nada más, ni siquiera necesitamos el CD-ROM.

[lacofi@jeanette /mnt/qemu/os2]$ qemu -hda warp.raw -m 128

Ahora, en el OS/2, abre "Sistema OS/2", abre "Configuración del Sistema" y abre "Sistema". En la lengüeta "Pantalla" tienes la lista de resoluciones. Pero antes, pulsa el "+" de la esquina superior derecha para elegir un monitor. Selecciona "LCD Panel 1280x1024". Ahora pulsa el "-" para volver a la lista de resoluciones, y elige la que quieras, por ejemplo la que puse yo: 1024x768x16777216. Ahora cierra la ventana "Sistema - Propiedades", cierra "Configuración del sistema", y cierra "Sistema OS/2". ¿Ya?. Ahora pulsa con el botón derecho en el escritorio y concluye el sistema. Cuando te diga que ya ha concluido, pulsa Ctrl-Alt-2 y el comando "system_reset". Cuando reinicie el sistema (tardará un poco más, esta vez, porque está reconfigurando), observa bien. Observaaaaaa... :-)

*

Eso si, NO elijas 65.000 colores. Eso son 16 bits y creo que Qemu tiene problemas con esa emulación. Al menos a mí me la cuelga directamente. Pero con 16M de colores funciona bien.
  * *

He recompilado mi kernel, pero ahora no funcionan los gráficos.

Si has actualizado alguna vez tu kernel, tal vez hayas comprobado que una vez recompilado e instalado, es muy posible que dejen de funcionar algunas cosas como la red WiFi, los gráficos (X Window), etc.

Ocurre que hay una serie de funciones en el sistema que se compilan como módulos del kernel. Por eso, si has cambiado de kernel, los modulos ya no están o, aunque estén, posiblemente no sirvan porque son de versión incorrecta.

La solución es muy simple: tendrás que recompilar también todo ese software, cada vez que cambies o recompiles tu kernel. En el momento de redactar estas líneas, el software de mi ordenador portátil que es "sensible a la recompilación del kernel" es: El subsistema de red ieee80211, el driver WiFi (ipw2100), el driver del linmodem SmartLink 56K AC'97 (slmodem), y el driver propietario ATI (ati-drivers).

De esta forma, cada vez que recompilo mi kernel, después tengo que hacer (en un sistema Gentoo):

[lacofi@lynette ~]$ su
password:
[root@lynette /home/lacofi]# emerge ieee8011 &&
> emerge ipw2100 &&
> emerge slmodem &&
> emerge ati-drivers

  • Sintaxis HTML 4.01 comprobada
  • Enlaces comprobados


Hecho con gvim * Hecho con CSS