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: