








			     Linux ADSM Mini-Howto

   @: by Thomas Knig, Thomas.Koenig@ciw.uni-karlsruhe.de Ķ: Mile Yeh
			     mile@mail.timenet.net

			      v, 15 January 1997



				   Abstract

     oyzpb Linux/i386 wӷ~ʪ ADSM ƥt
     hw˨ϥΤ@ӫȤ.



1.  

ADSM O@ӥ IBM XBH¦ƥt,bhƲ´ϥ
䤤][\hUU˪t (P~P UNIX,tC, Novell, Mac, NT).
,boӮɭԨSͪ Linux .

Anϥ SCO Gi줸,w iBCS2-emulator Ӱ ADSM.oyzOw ADSM
v2r1.

ڼgP,oOڰߤ@oıiH P i386 Linux @_u@.


2.  w iBCS Ҳ

iBCS2ҲլOiHqBo ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2.
pGAO֤  1.2.13,o Ѷ}oB ibcs-1.2-950721.tar.gz,
Ѷ}oB ibcs-1.2-950808.patch1  ibcs-1.2-950828.patch2.  AMJ
'make'Mϥ 'insmod' w iBCS modlue ;.

w@ 2.0֤ߪ,o ibcs-2.0-960610.tar.gz,Ѷ}b@
XAm,ܥؿ즹ؿ,ϥΤUC׸:


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




Linux ADSM Mini-Howto							      1





Linux ADSM Mini-Howto							      2



M,ƻs CONFIG.i386 CONFIG,J make.

pGASwoǳ],̵ۤUCإߥn]ɮ

     # cd /dev
     # ln -s null XOR
     # ln -s null X0R
     # mknod socksys c 30 0
     # mknod spx c 30 1


3.  w ADSMȤ

SCOGi줸ɪOѤT tar ɮ״Ѫ,Ϊ̥ѺϺд.ܸ|
ڥؿ,ھڧAF]wA umask ,M b@ӥؿѶ}L (Ĵp ڥؿ).bؿ
/tmp,A| @ӵ{;楦

oɧAnʽs /usr/adsm/dsm.sys /usr/adsm/dsm.opt.  b
dsm.sys,nƸԲӻpU:

      Servername
	    The name of the server(AW)

      TCPServeraddress
	    A DNS W

      NODename
	    AۤvDW

In dsm.opt,AnԲӻ

      Server
	    pPeyz

      Followsymbolic
	    nΤnHŸsI (@ӻAO@ӦnDN)

      SUbdir
	    䴩lؿ (Aq`ݭn)

      domain
	    ɮרtγƥ

oɧAnгy@ SCO-ۮe /etc/mnttab qA
/etc/fstab.AiHϥΤUCU Perl {, fstab2mnttab,o.

















Linux ADSM Mini-Howto							      3



	  #!/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;



woǫȤݧAݭnw˥󪺦@ɵ{w; CƬO챵Tw{Ǯw.


4.  Ȥ

ثȤ, dsm,@جO X11ɭ,
dsmc,@өROɭ.Aq߷|iDApާ@ .@ǰ_ʮɪ_ʵ{,Ҧp

     dsmc schedule -quiet 2>&1 >/dev/null &

iNOݭn


5.  wD

, SCO uBz 8 ӦrٵuDW .pGADW,Ϊ̬O Inter
net W,A]\ ݭnb NODenameline in /usr/adsm/dsm.sysԲӻAW..

pGAϥ DISPLAY ܼ,An A DNS W (|. DIS
PLAY=host.full.do.main:0 instead of DISPLAY=host:0).
















Linux ADSM Mini-Howto							      4





































































				   CONTENTS



1.  ..................................................................... 1

2. w iBCS Ҳ ........................................................... 1

3. w ADSMȤ .......................................................... 2

4. Ȥ ............................................................... 3

5. wD ............................................................... 3











































				       i


