1fd8ba4c6bb82b415f97a01674f4de81f0ecf064
[openafs.git] / src / afsd / rc.afs.rs_aix
1 #!/bin/sh
2 # Copyright 2000, International Business Machines Corporation and others.
3 # All Rights Reserved.
4
5 # This software has been released under the terms of the IBM Public
6 # License.  For details, see the LICENSE file in the top-level source
7 # directory or online at http://www.openafs.org/dl/license10.html
8
9 # rc.afs: rc script for AFS on AIX platforms
10 #
11 # Install this script as /etc/rc.afs
12 # then make an entry in /etc/inittab after the NFS entry:
13 # rcnfs:2:wait:/etc/rc.nfs > /dev/console 2>&1 # Start NFS Daemons
14 # rcafs:2:wait:/etc/rc.afs > /dev/console 2>&1 # Start AFS Daemons
15
16
17 # Choose one depending on how much usage this client gets
18 SMALL="-stat 300 -dcache 100 -daemons 2 -volumes 50"
19 MEDIUM="-stat 2000 -dcache 800 -daemons 3 -volumes 70"
20 LARGE="-stat 2800 -dcache 2400 -daemons 5 -volumes 128"
21 OPTIONS=$LARGE
22
23 # Choose one depending on how you want NFS requests handled by AFS
24 # Use "none" if this machine won't be an AFS/NFS Translator.
25 # To make the machine an AFS/NFS Translator, use iauth for:
26 #   AIX 4.1.x  where x >= 5
27 #   AIX 4.2.x  where x >= 1
28 #   AIX 4.3.x  for any x
29 # otherwise use "nfs"
30 NFS_NONE="none"
31 NFS_NFS="nfs"
32 NFS_IAUTH="iauth"
33 NFS=$NFS_NONE
34
35 if [ "$NFS" = "nfs" ]; then
36   ExportExt=""
37   AFSExt=".trans"
38   RMTSYS="-rmtsys"
39 elif [ "$NFS" = "iauth" ]; then
40   ExportExt=".nonfs"
41   AFSExt=".iauth"
42   RMTSYS="-rmtsys"
43 else
44   ExportExt=".nonfs"
45   AFSExt=""
46   RMTSYS=""
47 fi
48
49 # find out whether we have 32 or 64 bit kernel
50
51 kernel=32
52 if [ -x /bin/w64 ]; then
53     /bin/w64 >/dev/null 2>&1
54     if [ $? -eq 0 ]; then
55         kernel=64
56     fi
57 fi
58
59 # Load AFS into the kernel
60
61 cd /usr/vice/etc/dkload
62 if [ $kernel -eq 32 ]; then
63     echo "32-bit kernel found"
64     ./cfgexport -a export.ext${ExportExt} && ./cfgafs -a afs.ext.32
65 else
66     echo "64-bit kernel assumed"
67     ./cfgexport64 -a export64.ext${ExportExt} && ./cfgafs64 -a afs.ext.64
68 fi
69 if [ $? -ne 0 ]; then
70   /bin/echo "Unable to load AFS extensions into kernel. Not starting client."
71   exit 1
72 fi
73
74
75 # Start bosserver
76 if [ -x /usr/afs/bin/bosserver ]; then
77   echo 'Starting bosserver' > /dev/console
78   /usr/afs/bin/bosserver &
79 fi
80
81
82 #
83 # Check that all of the client configuration files exist
84 #
85 for file in afsd cacheinfo ThisCell CellServDB; do
86   if [ ! -f /usr/vice/etc/${file} ]; then
87     /bin/echo "/usr/vice/etc/${file} does not exist. Not starting AFS client."
88     exit 2
89   fi
90 done
91
92
93 #
94 # Check that the root directory for AFS (/afs) 
95 # and the cache directory (/usr/vice/cache) both exist
96 #
97 for dir in `awk -F: '{print $1, $2}' /usr/vice/etc/cacheinfo`; do
98   if [ ! -d ${dir} ]; then
99     echo "${dir} does not exist. Not starting AFS client."
100     exit 3
101   fi
102 done
103
104
105 # Start afsd
106 /usr/vice/etc/afsd $OPTIONS $RMTSYS
107
108
109 # Start AFS inetd services
110 if [ -x /etc/inetd.afs -a -f /etc/inetd.conf.afs ]; then
111     /etc/inetd.afs /etc/inetd.conf.afs
112 fi