Loading AFS into the Solaris Kernel

The modload program is the dynamic kernel loader provided by Sun Microsystems for Solaris systems. Solaris does not support incorporation of AFS modifications during a kernel build. For AFS to function correctly, the modload program must run each time the machine reboots, so the AFS initialization script (included on the AFS CD-ROM) invokes it automatically. In this section you copy the appropriate AFS library file to the location where the modload program accesses it and then run the script.

  1. Access the AFS distribution by changing directory as indicated. Substitute "sun4x_56" or "sun4x_57" for the sysname variable.

    • If you copied the contents of the root.client directory into AFS (in Step 6 of Storing Binaries in AFS), change directory as indicated.

         # cd /afs/cellname/sysname/usr/afsws/root.client    

    • If copying files from the CD-ROM, mount the CD-ROM for this machine's system type on the local /cdrom directory. For instructions on mounting CD-ROMs (either locally or remotely via NFS), consult the operating system documentation. Then change directory as indicated.

         # cd /cdrom/sysname/root.client     

    • If accessing the distribution electronically, you possibly already downloaded it in Storing Binaries in AFS. If so, it is still in the temp_afs36_dir directory. If not, download it and run any commands necessary to uncompress or unpack the distribution. Place it in a temporary location (temp_afs36_dir), and change directory to the indicated subdirectory.

         # cd temp_afs36_dir/root.client     

  2. If this machine is running Solaris 2.6 or the 32-bit version of Solaris 7, and ran that operating system with AFS 3.5, the appropriate AFS initialization file possibly already exists as /etc/init.d/afs. Compare it to the version in the root.client/usr/vice/etc directory of the AFS 3.6 distribution to see if any changes are needed.

    If this machine is running the 64-bit version of Solaris 7, the AFS initialization file differs from the AFS 3.5 version. Copy it from the AFS 3.6 distribution.

    Note the removal of the .rc extension as you copy.

       # cd usr/vice/etc
        
       # cp  -p  afs.rc  /etc/init.d/afs   

  3. Copy the appropriate AFS kernel library file to the appropriate file in a subdirectory of the local /kernel/fs directory. If the machine is running Solaris 2.6 or the 32-bit version of Solaris 7 and is not to act as an NFS/AFS translator:

       # cp -p modload/libafs.nonfs.o /kernel/fs/afs   
    If the machine is running Solaris 2.6 or the 32-bit version of Solaris 7 and is to act as an NFS/AFS translator, in which case its kernel must support NFS server functionality and the nfsd process must be running:
       # cp -p modload/libafs.o /kernel/fs/afs   
    If the machine is running the 64-bit version of Solaris 7 and is not to act as an NFS/AFS translator:
       # cp -p modload/libafs64.nonfs.o /kernel/fs/sparcv9/afs   
    If the machine is running the 64-bit version of Solaris 7 and is to act as an NFS/AFS translator, in which case its kernel must support NFS server functionality and the nfsd process must be running:
       # cp -p modload/libafs64.o /kernel/fs/sparcv9/afs      

  4. Verify the existence of the symbolic links specified in the following commands, which incorporate the AFS initialization script into the Solaris startup and shutdown sequence. If necessary, issue the commands to create the links.

       # ln -s ../init.d/afs /etc/rc3.d/S99afs
      
       # ln -s ../init.d/afs /etc/rc0.d/K66afs   

  5. (Optional) If the machine is configured as a client, there are now copies of the AFS initialization file in both the /usr/vice/etc and /etc/init.d directories. If you want to avoid potential confusion by guaranteeing that they are always the same, create a link between them. You can always retrieve the original script from the AFS distribution if necessary.

       # cd /usr/vice/etc
       
       # rm afs.rc
      
       # ln -s  /etc/init.d/afs  afs.rc   

  6. Reboot the machine.

       # shutdown -i6 -g0 -y      

  7. If you are upgrading a server machine, login again as the local superuser root, then return to Step 6 in Upgrading Server Machines.

       login: root
       Password: root_password