Oct 5, 1998 onl7v2: Solaris 2.6 cc ドライバのテスト cc ドライバのインストール ~~~~~~~~~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/CAMAC-shared/ onl7v2-sol2.6/camac-step01.txt) 高エネルギー加速器研究機構 素粒子原子核研究所 物理、オンライングループ 井上 栄二 (1). 現状確認 (A). 英語版 Soalris2.6 & VMEドライバ v2.2.2 が届いた。 (B). CPU-7V に Solaris2.6 のシステムをインストールした。 (C). /etc の下の各設定、および /export/home の作成をやった。 (D). Solaris2.6用の VMEドライバ、FRCvme-2.2.2 をインストールした。 (2). ここでやるべきこと camac ライブラリをシェアード・ライブラリ形式で作成して、onl7v2 に インストールする。 (3). ccドライバのキットを入手 (3-1). オンライン・グループの anonymous ftp サイトから、キットを入手 onl7v2[57]% pwd /export/home/onl7v2/inoue/CAMAC-shared onl7v2[58]% ftp online.kek.jp Connected to onlax2.kek.jp. 220 onlax2.kek.jp FTP server (Version wu-2.4(1) Tue May 9 18:06:21 JST 1995) rea dy. Name (online.kek.jp:inoue): anonymous 331 Guest login ok, send your complete e-mail address as password. Password: 230-*** KEK Online Group Anonymous FTP service *** 230- 230-Welcome to KEK Online Group FTP service. 230- 230-ALL YOUR TRANSFERS WILL BE LOGGED. 230- 230 Guest login ok, access restrictions apply. ftp> cd pub/kek/camac 250-Please read the file README 250- it was last modified on Fri Dec 2 00:40:41 1994 - 1381 days ago 250 CWD command successful. ftp> dir 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. total 3260 -rw-r--r-- 1 0 10 1173 Apr 19 1995 122d_to_e.tar.gz -rw-r--r-- 1 0 10 22160 Nov 19 1997 FORCE-5V-sol2.5.tar.gz -rw-r--r-- 1 0 10 2494 Dec 2 1994 README -rwxr--r-- 1 0 10 3573 Jun 11 15:49 SPARC-status.html -rw-r--r-- 1 0 10 21435 Dec 13 1994 camac.sol2-1.30.tar.gz -rw-r--r-- 1 0 10 169539 Aug 18 1993 camac.sparc-1.22b.tar.Z -rw-r--r-- 1 0 10 91662 Aug 18 1993 camac.sparc-1.22b.tar.gz -rw-r--r-- 1 0 10 198417 Aug 19 1993 camac.sparc-1.22c.tar.Z -rw-r--r-- 1 0 10 110755 Aug 19 1993 camac.sparc-1.22c.tar.gz -rw-r--r-- 1 0 10 199103 Sep 4 1993 camac.sparc-1.22d.tar.Z -rw-r--r-- 1 0 10 110752 Sep 4 1993 camac.sparc-1.22d.tar.gz -rw-r--r-- 1 0 10 287493 Apr 20 1995 camacv1.01_decs.tar.Z -rw-r--r-- 1 0 10 231505 Dec 2 1994 camacv1.01_hprt.tar.Z -rw-r--r-- 1 0 10 132002 Dec 2 1994 camacv1.01_hprt.tar.gz -rw-r--r-- 1 0 10 283202 Dec 2 1994 camacv1.0_decs.tar.Z -rw-r--r-- 1 0 10 159495 Dec 2 1994 camacv1.0_decs.tar.gz -rw-r--r-- 1 0 10 216777 Sep 13 1994 camacv1.0_hprt.tar.Z -rw-r--r-- 1 0 10 122114 Sep 13 1994 camacv1.0_hprt.tar.gz -rw-r--r-- 1 0 10 87379 Nov 30 1994 camlib-docs-1.0.tar.Z -rw-r--r-- 1 0 10 51118 Nov 30 1994 camlib-docs-1.0.tar.gz -rw-r--r-- 1 0 10 13589 Jan 17 1995 sparc-3ce.tar.gz -rw-r--r-- 1 0 10 233395 Aug 18 1993 tdaq-1.00.tar.Z -rw-r--r-- 1 0 10 121288 Apr 2 1992 tdaq-1.00.tar.gz -rw-r--r-- 1 0 10 277799 Jan 20 1995 vme-3CE.tar.gz 226 Transfer complete. 1830 bytes received in 0.049 seconds (36.21 Kbytes/s) ftp> binary 200 Type set to I. ftp> get FORCE-5V-sol2.5.tar.gz 200 PORT command successful. 150 Opening BINARY mode data connection for FORCE-5V-sol2.5.tar.gz (22160 bytes) . 226 Transfer complete. local: FORCE-5V-sol2.5.tar.gz remote: FORCE-5V-sol2.5.tar.gz 22160 bytes received in 0.049 seconds (440.58 Kbytes/s) ftp> !ls -l total 44 -rw-r--r-- 1 inoue kek 22160 Sep 14 15:19 FORCE-5V-sol2.5.tar.gz ftp> quit 221 Goodbye. onl7v2[59]% ls -l total 44 -rw-r--r-- 1 inoue kek 22160 Sep 14 15:19 FORCE-5V-sol2.5.tar.gz onl7v2[60]% (3-2). 入手したキットを展開する onl7v2[60]% gzip -d FORCE-5V-sol2.5.tar.gz onl7v2[61]% ls -l total 256 -rw-r--r-- 1 inoue kek 120320 Nov 10 1997 FORCE-5V-sol2.5.tar onl7v2[62]% tar xvf FORCE-5V-sol2.5.tar x FORCE-5V-sol2.5, 0 bytes, 0 tape blocks x FORCE-5V-sol2.5/Makefile, 2041 bytes, 4 tape blocks x FORCE-5V-sol2.5/README, 2730 bytes, 6 tape blocks x FORCE-5V-sol2.5/cam1.c, 1170 bytes, 3 tape blocks x FORCE-5V-sol2.5/cam3.c, 2055 bytes, 5 tape blocks x FORCE-5V-sol2.5/camlib.c, 9740 bytes, 20 tape blocks x FORCE-5V-sol2.5/camlib.h, 1415 bytes, 3 tape blocks x FORCE-5V-sol2.5/cc.c, 64403 bytes, 126 tape blocks x FORCE-5V-sol2.5/cc.conf, 288 bytes, 1 tape blocks x FORCE-5V-sol2.5/cc.h, 2748 bytes, 6 tape blocks x FORCE-5V-sol2.5/cc_common.h, 2288 bytes, 5 tape blocks x FORCE-5V-sol2.5/cc_config.h, 876 bytes, 2 tape blocks x FORCE-5V-sol2.5/forlib.c, 3289 bytes, 7 tape blocks x FORCE-5V-sol2.5/k2917.h, 4058 bytes, 8 tape blocks x FORCE-5V-sol2.5/script, 0 bytes, 0 tape blocks x FORCE-5V-sol2.5/script/cc_build.sh, 234 bytes, 1 tape blocks x FORCE-5V-sol2.5/script/cc_load.sh, 611 bytes, 2 tape blocks x FORCE-5V-sol2.5/script/cc_unload.sh, 270 bytes, 1 tape blocks x FORCE-5V-sol2.5/script/cc_build.gcc.sh, 233 bytes, 1 tape blocks x FORCE-5V-sol2.5/script/cc_link.sh, 528 bytes, 2 tape blocks x FORCE-5V-sol2.5/script/awk2.txt, 37 bytes, 1 tape blocks x FORCE-5V-sol2.5/script/awk1.txt, 66 bytes, 1 tape blocks x FORCE-5V-sol2.5/cam2.f, 2295 bytes, 5 tape blocks onl7v2[63]% (3-3). 展開したキットを修正する 入手した camac ドライバ・キットは、オブジェクト・ライブラリ形式(.a の 接尾辞のついたもの)を使用するものである。 このキットの Makefile を修正 してシェアード・オブジェクト形式(.so の接尾辞のついたもの)の camac ライブラリを使えるようにする。 (3-3-1). ダイナミック・リンクについて Solaris 2.6 のリンク・エディタでは、ダイナミック・モードが標準の動作 になっている。 -dn オプションを使用しない場合には、-dy オプションを 明示してよい。 ダイナミック・モードでは、リロケータブル・オブジェクト、シェアード オブジェクトおよびアーカイブ・ライブラリの入力形式が利用可能である。 -l オプションを付けるとディレクトリのサーチが行われる。 まず、シェアード オブジェクトがサーチされる、目的のものが見つからない時には、次に 同じディレクトリに対して、アーカイブ・ライブラリがサーチされる。 アーカイブ・ライブラリだけをサーチするようにするには、-B static オプションを付けることで行うことができる。 (3-3-1-a). シェアード・オブジェクトを作るには 1. -G オプションを使う。 2. -z text オプションを使う。 インプット・リロケータブル オブジェクトはポジション・インディペンデント・コードから作られる べきなので、このオプションを使う。 3. グローバル・シンボルを定義することで、シェアード・オブジェクト "public interface" を設定する。 これは、-M オプションと マップ ファイルの組み合わせによって定義される。 4. 将来のアップグレードのために、シェアード・オブジェクトにバージョン 付きの名前を使う。 5. 作ろうとしているシェアード・オブジェクトが他のシェアード オブジェクトと従属関係にあり、これらの従属関係が /usr/lib で完結 しない場合には、-R オプションを使用して、そのファイルのパス名を 記述する。 6. 自制化を行うために、-z defs を使う。 自制化シェアード・オブジェク トは、最高の適応性を提供し、従属関係が必要とされるときに作られる。 (参考). -G オプション 動的モード専用である。共有オブジェクトを生成する。未定義 シンボルがあっても許容される。 -z text オプション 動的モード専用でる。書き込み不可の割り当て可能セクションに対する 再配置がある場合に、致命的エラーを強制的に出力する。 -z defs オプション リンク終了時に未定義のシンボルがあると、致命的エラーを強制的に 出力する。 実行可能オブジェクトを作成する際のデフォルト時の設定 である。 共有オブジェクト作成時に、そのオブジェクトが自己完結 していること、つまり、シンボリック参照がすべてオブジェクト内で 解決されることを確認するためにこれを使用すると便利である。 上記のポイントを考慮した例を以下に示す。 % cc -c -o foo.o -Kpic foo.c % cc -M mapfile -G -o libfoo.so.1 -z text -z defs \ -R /home/lib foo.o -L. -lbar 7. 作ろうとしているシェアード・オブジェクトが他のリンク・エディタの 入力として使われる場合には、-h オプションを使ってシェアード・ オブジェクトのランタイム名をその中に記述する。 8. コンパイルの環境で利用するシェアード・オブジェクトを作る。 これを作るには、バージョン番号無しのシェアード・オブジェクト名に システム・リンクしたファイルを作ればよい。 上記のポイントを考慮した例を以下に示す。 % cc -M mapfile -G -o libfoo.so.1 -z text -z defs \ -R /home/lib-h libfoo.so.1 foo.o % ln -s libfoo.so.1 libfoo.so 9. シェアード・オブジェクトのかかわり合いについてよく考える; 最高の共有化およびページング動作の最小化、特にシンボリック リロケーションの最小化によるリロケーション・オーバーヘッドの低減、 インターフェースを通してのデータへのアクセス許可。 (3-3-1-b). ダイナミック・エクセキュタブルを作るには 1. -G あるいは -dn オプションを使用しないこと。 2. 作ろうとしているダイナミック・エクセキュタブルが他のシェアード オブジェクトと関連があり、これらの従属関係が /usr/lib の中に存在 しないならば、-R オプションを使用してそのファイルのパス名を記述 せよ。 上記のポイントを考慮した例を以下に示す。 % cc -o prog -R /home/lib -L. -lfoo file1.o file2.o file3.o ..... (3-3-2). camac ドライバ・キットの修正 onl7v2[37]% pwd /export/home/onl7v2/inoue/CAMAC-shared/FORCE-5V-sol2.5 onl7v2[38]% mv Makefile Makefile.org onl7v2[39]% cp Makefile.org Makefile onl7v2[40]% ls -l Makefile* -rw-r--r-- 1 inoue kek 2041 Sep 30 14:20 Makefile -rw-r--r-- 1 inoue kek 2041 May 23 1997 Makefile.org onl7v2[41]% vi Makefile : OBJ = camlib.o forlib.o OBJ1 = camlib1.o forlib1.o : all : cc libcamac.a cam1 cam2 cam3 libcamac.so cam1so cam2so cam3so : libcamac.so: $(OBJ1) $(CC) -G -o libcamac.so.1 -z text -z defs $(OBJ1) : camlib1.o: camlib.h camlib.c $(CC) $(CFLAGS) -c -Kpic camlib.c -o camlib1.o -I. forlib1.o: camlib.h forlib.c $(CC) $(CFLAGS) -c -Kpic forlib.c -o forlib1.o -I. : cam1 : cam1.c $(CC) $(CFLAGS) cam1.c -Bstatic -o cam1 $(CLIB) cam2 : cam2.f $(FC) $(FFLAGS) cam2.f -Bstatic -o cam2 $(CLIB) cam3 : cam3.c $(CC) $(CFLAGS) cam3.c -Bstatic -o cam3 $(CLIB) cam1so : cam1.c $(CC) $(CFLAGS) cam1.c -o cam1so $(CLIB) cam2so : cam2.f $(FC) $(FFLAGS) cam2.f -o cam2so $(CLIB) cam3so : cam3.c $(CC) $(CFLAGS) cam3.c -o cam3so $(CLIB) : /usr/ucb/install -m 644 libcamac.so.1 /usr/local/vme/camac/lib ln -s /usr/local/vme/camac/lib/libcamac.so.1 /usr/local/vme/camac/lib/li bcamac.so : onl7v2[42]% ここでコンパイルしてみる。 onl7v2[61]% make ./script/cc_build.sh [Building for sun4m] rm -f cc.o cc -O -c camlib.c -o camlib.o -I. cc -O -c forlib.c -o forlib.o -I. rm -f libcamac.a ar rcv libcamac.a camlib.o forlib.o a - camlib.o a - forlib.o ar: writing libcamac.a cc -O cam1.c -Bstatic -o cam1 -I. -L. -lcamac f77 -fast -O3 -u cam2.f -Bstatic -o cam2 -I. -L. -lcamac cam2.f: MAIN: cc -O cam3.c -Bstatic -o cam3 -I. -L. -lcamac cc -O -c -Kpic camlib.c -o camlib1.o -I. cc -O -c -Kpic forlib.c -o forlib1.o -I. cc -G -o libcamac.so.1 -z text -z defs camlib1.o forlib1.o Undefined first referenced symbol in file read camlib1.o creat camlib1.o writev camlib1.o fclose camlib1.o fscanf camlib1.o ioctl camlib1.o write camlib1.o errno camlib1.o close camlib1.o open camlib1.o fopen camlib1.o lseek camlib1.o ld: fatal: Symbol referencing errors. No output written to libcamac.so.1 *** Error code 1 make: Fatal error: Command failed for target `libcamac.so' onl7v2[62]% リンクされてないシェアード・オブジェクトがあるようだ。 onl7v2[44]% pwd /usr/lib onl7v2[45]% ls lib*so libICE.so@ libc.so@ libkrb.so@ libsec.so@ libMrm.so@ libc2.so@ libkstat.so@ libsocket.so@ libPEX5.so@ libc2stubs.so@ libkvm.so@ libssagent.so@ libSM.so@ libdemangle.so@ liblm.so@ libssasnmp.so@ libUil.so@ libdevice.so@ libm.so@ libsx.so@ libX11.so@ libdevid.so@ libmapmalloc.so@ libsys.so@ libXIE.so@ libdevinfo.so@ libmp.so@ libthread.so@ libXaw.so@ libdhcp.so@ libnisdb.so@ libthread_db.so@ libXext.so@ libdl.so@ libnsl.so@ libtnf.so@ libXi.so@ libdmi.so@ libpam.so@ libtnfctl.so@ libXm.so@ libdmici.so@ libposix4.so@ libtnfprobe.so@ libXmu.so@ libdmimi.so@ libprint.so@ libvolmgt.so@ libXol.so@ libdoor.so@ libpthread.so@ libw.so@ libXt.so@ libelf.so@ librac.so@ libxfn.so@ libadm.so@ libfn_p.so@ libresolv.so@ libxil.so@ libaio.so@ libfn_spf.so@ librpcsvc.so@ libxnet.so@ libauth.so@ libintl.so@ librtld_db.so@ libbsm.so@ libkcs.so@ libsched.so@ onl7v2[46]% dump -C libc.so | grep writev [981] 0x0 0 4 0 0 0xfff1 writev.s [3215] 0x39234 72 2 2 0 0xc writev [4021] 0x39234 72 2 1 0 0xc _writev onl7v2[47]% /usr/lib/libc.so をリンクするように、Makefile を再修正する。 onl7v2[93]% vi Makefile : CLIB = -I. -L. -lcamac CLIB1 = -I. -L./ -lcamac -R/usr/local/vme/camac/lib:./ : all : cc libcamac.so.1 cam1so cam2so cam3so : #libcamac.a: $(OBJ) # rm -f libcamac.a # ar rcv libcamac.a $(OBJ) : libcamac.so.1: $(OBJ1) $(CC) -G -o libcamac.so.1 -lc -z text -z defs $(OBJ1) ln -s ./libcamac.so.1 ./libcamac.so : # $(CC) $(CFLAGS) -c camlib.c -o $@ -I. : # $(CC) $(CFLAGS) -c forlib.c -o $@ -I. : #cam1 : cam1.c # $(CC) $(CFLAGS) cam1.c -Bstatic -o cam1 $(CLIB) : #cam2 : cam2.f # $(FC) $(FFLAGS) cam2.f -Bstatic -o cam2 $(CLIB) : #cam3 : cam3.c # $(CC) $(CFLAGS) cam3.c -Bstatic -o cam3 $(CLIB) : cam1so : cam1.c $(CC) $(CFLAGS) cam1.c -Bdynamic -o cam1so $(CLIB1) : cam2so : cam2.f $(FC) $(FFLAGS) cam2.f -Bdynamic -o cam2so $(CLIB1) : cam3so : cam3.c $(CC) $(CFLAGS) cam3.c -Bdynamic -o cam3so $(CLIB1) : # /usr/ucb/install -m 644 libcamac.a /usr/local/vme/camac/lib : clean: \rm -f cc *.o *~ core libcamac.so* cam1so cam2so cam3so : onl7v2[94]% (3-4). 展開したキットをコンパイルおよびインストールする (3-4-1). 使用コンパイラの確認 onl7v2[143]% which cc /kek/compilers/volume5/SUNWspro/bin/cc onl7v2[144]% cc -V cc: WorkShop Compilers 4.2.1 04 Feb 1997 C 4.2.1 usage: cc [ options] files. Use 'cc -flags' for details onl7v2[145]% which f77 /kek/compilers/volume5/SUNWspro/bin/f77 onl7v2[146]% f77 -V f77: WorkShop Compilers 4.2.1 04 Feb 1997 FORTRAN 77 4.2.1 Usage: f77 [ options ] files. Use 'f77 -flags' for details onl7v2[147]% (3-4-2). コンパイルする onl7v2[147]% pwd /export/home/onl7v2/inoue/CAMAC-shared/FORCE-5V-sol2.5 onl7v2[148]% ls -l total 218 -rw-r--r-- 1 inoue kek 3181 Oct 2 11:31 Makefile -rw-r--r-- 1 inoue kek 2041 May 23 1997 Makefile.org -rw-r--r-- 1 inoue kek 2730 Jul 1 1997 README -rw-r--r-- 1 inoue kek 1170 May 13 1997 cam1.c -rw-r--r-- 1 inoue kek 2295 May 22 1997 cam2.f -rw-r--r-- 1 inoue kek 2055 May 21 1997 cam3.c -rw-r--r-- 1 inoue kek 9740 May 21 1997 camlib.c -rw-r--r-- 1 inoue kek 1415 May 13 1997 camlib.h -rw-r--r-- 1 inoue kek 64403 Jun 2 1997 cc.c -rw-r--r-- 1 inoue kek 288 May 13 1997 cc.conf -rw-r--r-- 1 inoue kek 2748 May 13 1997 cc.h -rw-r--r-- 1 inoue kek 2288 May 13 1997 cc_common.h -rw-r--r-- 1 inoue kek 876 May 13 1997 cc_config.h -rw-r--r-- 1 inoue kek 3289 May 13 1997 forlib.c -rw-r--r-- 1 inoue kek 4058 May 13 1997 k2917.h drwxr-xr-x 2 inoue kek 512 Nov 10 1997 script/ onl7v2[149]% make ./script/cc_build.sh [Building for sun4m] rm -f cc.o cc -O -c -Kpic camlib.c -o camlib1.o -I. cc -O -c -Kpic forlib.c -o forlib1.o -I. cc -G -o libcamac.so.1 -lc -z text -z defs camlib1.o forlib1.o ln -s ./libcamac.so.1 ./libcamac.so cc -O cam1.c -Bdynamic -o cam1so -I. -L./ -lcamac -R/usr/local/vme/camac/lib:./ f77 -fast -O3 -u cam2.f -Bdynamic -o cam2so -I. -L./ -lcamac -R/usr/local/vme/camac/lib:./ cam2.f: MAIN: cc -O cam3.c -Bdynamic -o cam3so -I. -L./ -lcamac -R/usr/local/vme/camac/lib:./ onl7v2[150]% ls -l total 454 -rw-r--r-- 1 inoue kek 3181 Oct 2 11:31 Makefile -rw-r--r-- 1 inoue kek 2041 May 23 1997 Makefile.org -rw-r--r-- 1 inoue kek 2730 Jul 1 1997 README -rw-r--r-- 1 inoue kek 1170 May 13 1997 cam1.c -rwxr-xr-x 1 inoue kek 7444 Oct 2 15:27 cam1so* -rw-r--r-- 1 inoue kek 2295 May 22 1997 cam2.f -rwxr-xr-x 1 inoue kek 18756 Oct 2 15:27 cam2so* -rw-r--r-- 1 inoue kek 2055 May 21 1997 cam3.c -rwxr-xr-x 1 inoue kek 8284 Oct 2 15:27 cam3so* -rw-r--r-- 1 inoue kek 9740 May 21 1997 camlib.c -rw-r--r-- 1 inoue kek 1415 May 13 1997 camlib.h -rw-r--r-- 1 inoue kek 8064 Oct 2 15:27 camlib1.o -rw-r--r-- 1 inoue kek 54400 Oct 2 15:26 cc -rw-r--r-- 1 inoue kek 64403 Jun 2 1997 cc.c -rw-r--r-- 1 inoue kek 288 May 13 1997 cc.conf -rw-r--r-- 1 inoue kek 2748 May 13 1997 cc.h -rw-r--r-- 1 inoue kek 2288 May 13 1997 cc_common.h -rw-r--r-- 1 inoue kek 876 May 13 1997 cc_config.h -rw-r--r-- 1 inoue kek 3289 May 13 1997 forlib.c -rw-r--r-- 1 inoue kek 3492 Oct 2 15:27 forlib1.o -rw-r--r-- 1 inoue kek 4058 May 13 1997 k2917.h lrwxrwxrwx 1 inoue kek 15 Oct 2 15:27 libcamac.so -> ./libcamac.so.1* -rwxr-xr-x 1 inoue kek 14628 Oct 2 15:27 libcamac.so.1* drwxr-xr-x 2 inoue kek 512 Nov 10 1997 script/ onl7v2[151]% (3-4-3). インストールする onl7v2[151]% su Password: # csh onl7v2# source /.cshrc onl7v2# pwd /export/home/onl7v2/inoue/CAMAC-shared/FORCE-5V-sol2.5 onl7v2# ls -l /usr/local/vme/camac/lib total 28 -rw-r--r-- 1 root staff 13852 Sep 17 11:22 libcamac.a.bak onl7v2# make install /usr/ucb/install -d /usr/local/vme/camac/include /usr/ucb/install -d /usr/local/vme/camac/lib /usr/ucb/install -m 644 camlib.h cc_config.h cc_common.h cc.h \ k2917.h /usr/local/vme/camac/include /usr/ucb/install -m 644 libcamac.so.1 /usr/local/vme/camac/lib ln -s /usr/local/vme/camac/lib/libcamac.so.1 /usr/local/vme/camac/lib/libcamac.so onl7v2# ls -l /usr/local/vme/camac/lib total 60 -rw-r--r-- 1 root staff 13852 Sep 17 11:22 libcamac.a.bak lrwxrwxrwx 1 root other 38 Oct 2 15:35 libcamac.so -> /usr/local/vme/camac/lib/libcamac.so.1 -rw-r--r-- 1 root staff 14628 Oct 2 15:35 libcamac.so.1 onl7v2# ok. シェアード・オブジェクトをインストールできた。 ここで、システムを "boot -r" で立ち上げ直す。 (3-4-4). システムを "boot -r" で立ち上げ直す onl7v2 console login: root Password: Oct 2 16:07:56 onl7v2 login: ROOT LOGIN /dev/console Last login: Fri Sep 25 15:47:58 on console Sun Microsystems Inc. SunOS 5.6 Generic August 1997 Starting OpenWindows in 5 seconds (type Control-C to interrupt) ^C# # /usr/sbin/shutdown -i0 -g0 Shutdown started. Fri Oct 2 16:08:14 JST 1998 Do you want to continue? (y or n): y Broadcast Message from root (console) on onl7v2 Fri Oct 2 16:08:16... THE SYSTEM IS BEING SHUT DOWN NOW ! ! ! Log off now or risk your files being damaged showmount: onl7v2: RPC: Program not registered Changing to init state 0 - please wait # INIT: New run level: 0 The system is coming down. Please wait. System services are now being stopped. Print services stopped. Stopping the syslog service. syslogd: going down on signal 15 Oct 2 16:09:05 snmpdx: received signal 15 The system is down. syncing file systems... done Program terminated Type help for more information ok ok boot -r Resetting ... screen not found. Can't open input device. Keyboard not present. Using tty for input and output. SPARC CPU-7V, No Keyboard ROM Rev. 2.15.1, 64 MB memory installed, Serial #9157050. Ethernet address 0:80:42:b:49:ba, Host ID: 808bb9ba. apply failed. Rebooting with command: -r Boot device: /iommu/sbus/espdma@5,8400000/esp@5,8800000/sd@3,0 File and args: - r SunOS Release 5.6 Version Generic [UNIX(R) System V Release 4.0] Copyright (c) 1983-1997, Sun Microsystems, Inc. FRCvme VME Nexus V2.2.2 (FGA-5000 FGA-5100) NOTICE: VME: slavewin at vme=0x0, size=0x100000 space=0x2c020017 configuring network interfaces:hme0: No such device or address ifconfig: SIOCGIFFLAGS: hme0: no such interface hme0 le0. Hostname: onl7v2 Configuring the /devices directory CAMAC device driver V1.3x, 1991-1993 by Y.TAKEUCHI (T.I.T.) cc0 at VME0: vme16d16 0xff00 VME level 4 vector 0xff sparc ipl 7 vmemem0 at VME0: vme32d16 0x0 vmemem1 at VME0: vme16d16 0x0 vmemem2 at VME0: vme24d16 0x0 vmemem3 at VME0: vme32d32 0x0 vmemem4 at VME0: vme16d32 0x0 vmemem5 at VME0: vme24d32 0x0 vmeplus0 at VME0: vme16d16 0x0 and vme24d16 0x0 and vme32d16 0x0 and vme16d32 0x 0 and vme24d32 0x0 and vme32d32 0x0 and space 0x2f offset 0x0 and space 0x6f offset 0x0 and space 0x10 offset 0x0 and space 0x11 offset 0x0 and space 0x50 offset 0x0 and space 0x51 offset 0x0 vmectl0 at VME0 Configuring the /dev directory Configuring the /dev directory (compatibility devices) The system is coming up. Please wait. checking ufs filesystems /dev/rdsk/c0t3d0s5: is clean. /dev/rdsk/c0t3d0s7: is clean. add net default: gateway ICCFG1 NIS domainname is kek.jp starting rpc services: rpcbind keyserv done. Setting netmask of le0 to 255.255.252.0 Setting default interface for multicast: add net 224.0.0.0: gateway onl7v2 syslog service starting. Print services started. volume management starting. The system is ready. onl7v2 console login: ok. 正常に立ち上がった。 (3-4-5). camac ドライバのロードおよびアンロード onl7v2# pwd /export/home/onl7v2/inoue/CAMAC-shared/FORCE-5V-sol2.5 onl7v2# make load ./script/cc_load.sh [Installing CAMAC device driver] [Adding CAMAC device driver to system] Driver (cc) is already installed. [Configuring CAMAC device driver] [Making CAMAC device files] ln: cannot create /dev/cc: File exists onl7v2# ls -l /dev/cc lrwxrwxrwx 1 root other 3 Oct 2 16:05 /dev/cc -> :cc onl7v2# rm /dev/cc onl7v2# make load ./script/cc_load.sh [Installing CAMAC device driver] [Adding CAMAC device driver to system] Driver (cc) is already installed. [Configuring CAMAC device driver] [Making CAMAC device files] onl7v2# ls -l /dev/cc lrwxrwxrwx 1 root other 69 Oct 2 16:15 /dev/cc -> /devices/iommu@ 0,10000000/sbus@0,10001000/VME@5,ffffe00/cc@2d,ff00:cc onl7v2# onl7v2# make unload ./script/cc_unload.sh [Removing CAMAC device driver] [Removing CAMAC device driver from system] [Deleting CAMAC device files] onl7v2# make load ./script/cc_load.sh [Installing CAMAC device driver] [Adding CAMAC device driver to system] [Configuring CAMAC device driver] [Making CAMAC device files] onl7v2# ls -l /dev/cc lrwxrwxrwx 1 root other 69 Oct 2 16:16 /dev/cc -> /devices/iommu@ 0,10000000/sbus@0,10001000/VME@5,ffffe00/cc@2d,ff00:cc onl7v2# onl7v2# modinfo | grep CAMAC 104 f5ff3000 898b3 60 1 cc (CAMAC driver v1.3x by Y.Takeuch) onl7v2# ok. camac ドライバは正常にロードおよびアンロードできた。 --- (6). 項目タイトル (6-1). サブ項目タイトル (6-1-1). サブサブ項目タイトル