
                             Linux ADSM Mini-Howto
                                       
: by Thomas K&ouml;nig, Thomas.Koenig@ciw.uni-karlsruhe.de : Mile Yeh
mile@mail.timenet.net

   v, 15 January 1997
     _________________________________________________________________
   
   ļ Linux/i386 ֮ҵԵ ADSM ϵͳȥװʹһ
   ͻ.
     _________________________________________________________________
   
1. 

2. װ iBCS ģ

3. װ ADSMͻ

4. ִпͻ

5. ֪
     _________________________________________________________________
   
1. 

   ADSM һ IBM ·Ϊıϵͳ,ڶ֯ʹ 
   ʽϵͳ (ͬƷƵ UNIX,Ӵϵ, Novell, Mac,Ӵ
   NT). ҵ,ʱûԭ Linux 汾.
   
   Ҫʹ SCO λԪ,װ iBCS2-emulator ִ ADSM.
    ADSM v2r1.
   
   дͬʱ,Ψһķ  i386汾 Linux һİ
   .
   
2. װ iBCS ģ

   iBCS2ģǿԴӴ˴ȡ
   [1]ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2. ִк 汾
   1.2.13,ȡ ⿪ ibcs-1.2-950721.tar.gz, ⿪
   ibcs-1.2-950808.patch1 ibcs-1.2-950828.patch2. ܹȻ "make"Ȼ
   ʹ "insmod" װ iBCS modlue ;.
   
   һ 2.0İ汾,ȡ ibcs-2.0-960610.tar.gz,⿪һ ʵ
   ,ıĿ¼Ŀ¼,ʹ޲:

--- 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)

   Ȼ, CONFIG.i386 CONFIG, make.
   
   ûЩ豸,ִнҪ豸
   
# cd /dev
# ln -s null XOR
# ln -s null X0R
# mknod socksys c 30 0
# mknod spx c 30 1

3. װ ADSMͻ

   SCOλԪ tar ṩ,ɴŵṩ.ı· Ŀ
   ¼,趨 umask ,Ȼ һĿ¼⿪ (Ʃ Ŀ¼).
   Ŀ¼ /tmp, ҵһ;ִ
   
   ʱҪֶ༭ /usr/adsm/dsm.sys /usr/adsm/dsm.opt.  dsm.sys,
   Ҫϸ˵:
   
   Servername
          The name of the server(ŷ)
          
   TCPServeraddress
          ŷ DNS ȫ
          
   NODename
          Լ
          
   In dsm.opt,Ҫϸ˵
   
   Server
          ͬǰ
          
   Followsymbolic
          ҪҪӵ (һ˵һ)
          
   SUbdir
          ֧ԮĿ¼ (ͨҪ)
          
   domain
          ϵͳ
          
   ʱҪ봴һ SCO-ݵ /etc/mnttab  /etc/fstab.ʹ
   и Perl , fstab2mnttab,.
       ______________________________________________________________
     
#!/usr/bin/perl

$mnttab_struct = "a32 a32 I L";
open(MTAB, "/etc/mtab") || die "Cannot open /etc/mtab: $!\n";
open(MNTTAB, ">/etc/mnttab") || die "Cannot open /etc/mnttab: $!\n";

while(<MTAB>) {
    next if /pid/;
    chop;
    /^(\S*)\s(\S*)\s(\S*)\s.*$/;
    $device = $1;
    $mountpt = $2;
    $fstype = $3;
    if($fstype ne "nfs" && $fstype ne "proc") {
        $mnttab_rec =
            pack($mnttab_struct, $device, $mountpt, 0x9d2f, time());
        syswrite(MNTTAB, $mnttab_rec, 72);
        print "Made entry for: $device $mountpt $fstype\n";
    }
}

close(MNTTAB);
exit 0;
       ______________________________________________________________
     
   Щͻ㲻ҪװκεĹʽ; ÿӵ̶.
   
4. ִпͻ

   ֿͻ, dsm,һ X11, dsmc,һн.ĵĻ
   β .һЩʱ𶯳,
dsmc schedule -quiet 2>&1 >/dev/null &

   ܽҪ
   
5. ֪

   ҵ, SCO ֻܴ 8 Ԫ̵ .,
    Internet ȫ,Ҳ Ҫ NODenameline in /usr/adsm/dsm.sysϸ
   ˵Ļ..
   
   ʹ DISPLAY ,Ҫṩ ŷ DNS ȫ (.
   DISPLAY=host.full.do.main:0 instead of DISPLAY=host:0).

References

   1. ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2
