Commit | Line | Data |
---|---|---|
805e021f CE |
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 /usr/sbin/bootinfo ]; then | |
53 | kernel=`/usr/sbin/bootinfo -K` | |
54 | fi | |
55 | ||
56 | # Load AFS into the kernel | |
57 | ||
58 | echo "$0: Loading $kernel bit kernel AFS modules" | |
59 | cd /usr/vice/etc/dkload | |
60 | if [ $kernel -eq 32 ]; then | |
61 | ./cfgexport -a export.ext${ExportExt} && ./cfgafs -a afs.ext.32 | |
62 | else | |
63 | ./cfgexport64 -a export64.ext${ExportExt} && ./cfgafs64 -a afs.ext.64 | |
64 | fi | |
65 | if [ $? -ne 0 ]; then | |
66 | /bin/echo "Unable to load AFS extensions into kernel. Not starting client." | |
67 | exit 1 | |
68 | fi | |
69 | ||
70 | ||
71 | # Start bosserver | |
72 | if [ -x /usr/afs/bin/bosserver ]; then | |
73 | echo 'Starting bosserver' > /dev/console | |
74 | /usr/afs/bin/bosserver & | |
75 | fi | |
76 | ||
77 | ||
78 | # | |
79 | # Check that all of the client configuration files exist | |
80 | # | |
81 | for file in afsd cacheinfo ThisCell CellServDB; do | |
82 | if [ ! -f /usr/vice/etc/${file} ]; then | |
83 | /bin/echo "/usr/vice/etc/${file} does not exist. Not starting AFS client." | |
84 | exit 2 | |
85 | fi | |
86 | done | |
87 | ||
88 | ||
89 | # | |
90 | # Check that the root directory for AFS (/afs) | |
91 | # and the cache directory (/usr/vice/cache) both exist | |
92 | # | |
93 | for dir in `awk -F: '{print $1, $2}' /usr/vice/etc/cacheinfo`; do | |
94 | if [ ! -d ${dir} ]; then | |
95 | echo "${dir} does not exist. Not starting AFS client." | |
96 | exit 3 | |
97 | fi | |
98 | done | |
99 | ||
100 | # | |
101 | # Make sure afs exists in /etc/name_to_sysnum | |
102 | # | |
103 | if grep -s "afs" /etc/vfs > /dev/null; then | |
104 | echo "Entry for afs already exists in /etc/vfs" | |
105 | else | |
106 | echo "Creating entry for afs in /etc/vfs" | |
107 | cp /etc/vfs /etc/vfs.orig | |
108 | sed '/cdrfs/i\ | |
109 | afs 4 none none remote' /etc/vfs > /tmp/vfs | |
110 | mv /tmp/vfs /etc/vfs | |
111 | fi | |
112 | ||
113 | ||
114 | # Start afsd | |
115 | /usr/vice/etc/afsd $OPTIONS $RMTSYS | |
116 | ||
117 | ||
118 | # Start AFS inetd services | |
119 | if [ -x /etc/inetd.afs -a -f /etc/inetd.conf.afs ]; then | |
120 | /etc/inetd.afs /etc/inetd.conf.afs | |
121 | fi |