[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