[LUG.ro] PATH (Ahora ABI !!!)

Fernando R lugro@lugro.org.ar
Fri, 30 Apr 2004 12:37:44 -0300


----- Original Message ----- 
From: "Ramiro Caire" <r.caire@coopvgg.com.ar>
Sent: Friday, April 30, 2004 10:40 AM
Subject: RE: [LUG.ro] PATH
> Si, me imagino que si...pero yo no pude hacerlo andar, tenes alguna
> documentacion de como lo hiciste vos? o algun howto posta que quieras
> compartir en la lista? me parece que seria de utilidad para unos
> cuantos...
> Saludos
> Ramiro

Ramiro, Estimados colisteros:

    Les pasteo un mail de otro amigo colistero que tiro la "receta" para
compilar
"ABI" con woody, mis experiencias fueron exitosas pero con la version 2.2
que
venia de serie en el kernel.

    Saludos y suerte
Fernando

----------prprpr---------------------------

 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