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 [EMAIL PROTECTED] [EMAIL PROTECTED]