<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>Linux ADSM Mini-Howto: Installing the iBCS module</TITLE> <LINK HREF="ADSM-Backup-3.html" REL=next> <LINK HREF="ADSM-Backup-1.html" REL=previous> <LINK HREF="ADSM-Backup.html#toc2" REL=contents> </HEAD> <BODY> <A HREF="ADSM-Backup-3.html">Next</A> <A HREF="ADSM-Backup-1.html">Previous</A> <A HREF="ADSM-Backup.html#toc2">Contents</A> <HR> <H2><A NAME="s2">2. Installing the iBCS module</A></H2> <P>The iBCS2 module is available from <A HREF="ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2">ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2</A>. If you are running kernel version 1.2.13, get <CODE>ibcs-1.2-950721.tar.gz</CODE>, unpac it and apply the patches <CODE>ibcs-1.2-950808.patch1</CODE> and <CODE>ibcs-1.2-950828.patch2</CODE>. You can then type "<CODE>make</CODE>" and install the iBCS modlue with "<CODE>insmod</CODE>". <P>For a 2.0 kernel version, get <CODE>ibcs-2.0-960610.tar.gz</CODE>, unpack it in a suitable place, chdir into that directory, and apply the following patch: <PRE> --- iBCSemul/ipc.c.orig Wed Jan 15 21:32:15 1997 +++ iBCSemul/ipc.c Wed Jan 15 21:32:31 1997 @@ -212,7 +212,7 @@ switch (command) { case U_SEMCTL: cmd = ibcs_sem_trans(arg3); - arg4 = (union semun *)get_syscall_parameter (regs, 4); + arg4 = (union semun *)(((unsigned long *) regs->esp) + (5)); is_p = (struct ibcs_semid_ds *)get_fs_long(arg4->buf); #ifdef IBCS_TRACE if ((ibcs_trace & TRACE_API) || ibcs_func_p->trace) </PRE> Then, copy <CODE>CONFIG.i386</CODE> to <CODE>CONFIG</CODE>, and type <CODE>make</CODE>. <P>If you don't have them already, create the needed device files by executing <PRE> # cd /dev # ln -s null XOR # ln -s null X0R # mknod socksys c 30 0 # mknod spx c 30 1 </PRE> <HR> <A HREF="ADSM-Backup-3.html">Next</A> <A HREF="ADSM-Backup-1.html">Previous</A> <A HREF="ADSM-Backup.html#toc2">Contents</A> </BODY> </HTML>