[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

INSTALACION ABI ( Emulación binaria para otros sistemas)



  INSTALACION DEL PARCHE ABI ( Emulación binaria para otros sistemas).

 Esto solo pretende ser una pequeña guía para la instalación del modulo
linux-abi-2.4.18 para el mismo kernel de Debian Woody. ( Debería funcionar
para otras versiones de Linux, de hecho la mayoría de la información la he
obtenido de SuSe.

 Lo primero que necesitaremos serán las fuentes del kernel-2.4.18 que se
distribuyen con Debian Woody (kernel-source-2.4.18.tar.bz2.

 El parche del Abi ( linux-abi-2.4.18.0.patch.gz ) que podemos obtenerlo en
la dirección

  http://www.kernel.org/pub/linux/people/hch/linux-abi/v2.4/

 Y la librería de emulación del 286 ( x286emul.gz ), si la necesitas
buscarla con los módulos de ibcs, o me la pedís por correo.


        1. Descomprimir el kernel en /usr/src y crear el enlace linux.

           /usr/src# ln -s /usr/src/kernel-source-2.4.18 /usr/src/linux

        2. copiar en /usr/src/linux el parche linux-abi-2.4.18..

 3. Parchear el fichero.

           /usr/src/linux# zcat linux-abi-2.4.18.0.patch.gz | patch -p1

           (a tener en cuenta el comando patch, en la mayoría de las ayudas
viene con las opciones -p0, tanto en este parche como el del 2.4.17
tienen un error por lo que hay que usar la opción -p1 )

        4. Actualizar el kernel, para ello.

            /usr/src/linux# make menuconfig

                En "Binary emulation of other systems" activar todas
Las opciones ( recomendable en formato fijo, no en módulos.

        5. Compilar el kernel.
             5.1 make dep
                 make bzImage
                 make modules
                 make install
                 lilo
             5.2. yo prefiero ( hay que tener instalado el kernel-package )
                en /usr/src/linux
                   make-kpkg clean
                   make-kpkg --revision=? kernel_image
                en /usr/src
                   dpkg -i kernel-image-2.4.18.?.i386.deb
                   lilo

        6. Descomprimir el fichero x286emul.gz ( gzip -d x286emul.gz ),
darle permisos 755 ( chmod 755 x286emul.gz ) y copiarlo en /usr/lib. ( Solo
para emular 286 ).


        7. arrancar el sistema.



        Nota: Es posible que al compilar el kernel nos den errores algunos
        Ficheros de /usr/src/linux/abi..


http:/www.kernelnewbies.org/kernels/SuSe81/SOURCES/patches/51_abi-fixes-2.4.
19-pre7aa2.

         Son modificaciones de fuentes del parche para actualizar a
        2.4.19, estas modificaciones nos sirven para arreglar los errores,
        Pero ojo, modificar solo aquellos que os den error. Ej.


        error en fichero abi/svr4/sysi86.c la modificación seria:
        -----------------------------------------------------
        diff ... notas de modificación

        @@ -7,6 +7,7 @@

          #include <linux/sched.h>
          #include <linux/kernel.h>
        + #include <linux/mm.h>
          #include <linux/ptrace.h>
          #include <linux/syscall.h>
          #include <asm/uaccess.h>
        @@ -129,7 +130,7 @@
          * least. For now let's lie..
                        * (actually SCO Unix 3.4. gives me -1...)
                        */
        -  return put_user(FP_387, arg1);
        +  return put_user(FP_387, (unsigned long *)arg1);
         case STIME
                 /*
                         * Set the System time. The argument is a long,
 --------------------------------------------------------------

Para aquellos que no sepan solo hay que añadir las líneas que empiecen con +
y borrar las que empiecen con -.

Después de esto a mí me ha funcionado perfectamente un runtime del
RMCOBOL-74 para Xenix/Unix 286  y un runtime de RMCOBOL-85 para SCO UNIX.

 Espero que os sirva.

Links:

http://sourceforge.net/projects/linux-abi/
http://www.piensa.com/foro_principiantes/1021922612/index_html
http://www.google.com


Francisco Javier Rodriguez
Córdoba - España

rodna64@soymo.es
rodna64@terra.es



Reply to: