Solaris 10 8/07 Installation Guide: Custom JumpStart and Advanced Installations

Part II Appendixes

This part contains troubleshooting and reference information.

Appendix A Troubleshooting (Tasks)

This chapter contains a list of specific error messages and general problems you might encounter when installing Solaris 10 8/07 software. The chapter also explains how to fix the problems. Start by using this list of sections to determine where in the installation process the problem occurred.


Note –

When you see the phrase “bootable media,” this means the Solaris installation program and JumpStart installation method.


Problems With Setting Up Network Installations


Unknown client “host_name

Cause:

The host_name argument in the add_install_client command is not a host in the naming service.

Solution:

Add the host host_name to the naming service and execute the add_install_client command again.


Error: <system name> does not exist in the NIS ethers map


Add it, and rerun the add_install_client command

Description:

When you run the add_install_client command, the command fails with the above error.

Cause:

The client you are adding to the install server does not exist in the server's /etc/ethers file.

Solution:

Add the needed information to the /etc/ethers file on the install server and run the add_install_client command again.

  1. Become superuser or assume an equivalent role.

  2. On the client, find the ethers address.


    # ifconfig -a grep ethers
    ether 8:0:20:b3:39:1d
  3. On the install server, open the /etc/ethers file in an editor. Add the address to the list.

  4. On the client, run add_install_client again as in this example.


    # ./add_install_client bluegill sun4u
    

Problems With Booting a System

Booting From Media, Error Messages


le0: No carrier - transceiver cable problem

Cause:

The system is not connected to the network.

Solution:

If this is a nonnetworked system, ignore this message. If this is a networked system, ensure that the Ethernet cabling is attached securely.


The file just loaded does not appear to be executable

Cause:

The system cannot find the proper media for booting.

Solution:

Verify that the system has been set up properly to install the Solaris 10 8/07 software from the network from an install server. The following are examples of checks you can make.

  • If you copied the images of the Solaris Operating System DVD or the Solaris Software CDs to the install server, ensure that you specified the correct platform group for the system when you set it up.

  • If you are using DVD or CD media, ensure that the Solaris Operating System DVD or Solaris Software - 1 CD is mounted and accessible on the install server.


boot: cannot open <filename> (SPARC based systems only)

Cause:

This error occurs when you override the location of the boot -file by explicitly setting it.


Note –

filename is a variable for the name of the file affected.


Solution:

Follow these instructions:

  • Reset the boot -file in the PROM to “ “ (blank).

  • Ensure that the diag-switch is set to off and to true.


Can't boot from file/device

Cause:

The installation media cannot find the bootable media.

Solution:

Ensure that the following conditions are met:

  • The DVD-ROM or CD-ROM drive is installed properly and turned on.

  • Solaris Operating System DVD or the Solaris Software - 1 CD is inserted into the drive.

  • The disc is free of damage or dirt.


WARNING: clock gained xxx days -- CHECK AND RESET DATE! (SPARC based systems only)

Description:

This is an informational message.

Solution:

Ignore the message and continue with the installation.


Not a UFS file system (x86 based systems only)

Cause:

When Solaris 10 8/07 software was installed (either through the Solaris installation program or custom JumpStart), no boot disk was selected. You now must edit the BIOS to boot the system.

Solution:

Select the BIOS to boot. See your BIOS documentation for instructions.

Booting From Media, General Problems


The system does not boot.

Description:

When initially setting up a custom JumpStart server, you might encounter boot problems that do not return an error message. To verify information about the system and how the system is booting, run the boot command with the -v option. When you use the -v option, the boot command displays verbose debugging information about the screen.


Note –

If this flag is not given, the messages are still printed, but the output is directed to the system log file. For more information, see syslogd(1M).


Solution:

For SPARC based systems, at the ok prompt, type the following command.


ok boot net -v - install

Boot from DVD media fails on systems with Toshiba SD-M 1401 DVD-ROM

Description:

If your system has a Toshiba SD-M1401 DVD-ROM with firmware revision 1007, the system cannot boot from the Solaris Operating System DVD.

Solution:

Apply patch 111649–03, or later version, to update the Toshiba SD-M1401 DVD-ROM drive's firmware. The patch 111649–03 is available at sunsolve.sun.com.


The system hangs or panics when nonmemory PC cards are inserted. (x86 based systems only)

Cause:

Nonmemory PC cards cannot use the same memory resources that are used by other devices.

Solution:

To correct this problem, see the instructions for your PC card and check for the address range.


The system hangs before displaying the system prompt. (x86 based systems only)

Solution:

You have hardware that is not supported. Check your hardware manufacturer's documentation.

Booting From the Network, Error Messages


WARNING: getfile: RPC failed: error 5 (RPC Timed out).

Description:

This error occurs when you have two or more servers on a network responding to an install client's boot request. The install client connects to the wrong boot server, and the installation hangs. The following specific reasons might cause this error to occur:

Cause:

Reason 1:/etc/bootparams files might exist on different servers with an entry for this install client.

Solution:

Reason 1: Ensure that servers on the network do not have multiple /etc/bootparams entries for the install client. If they do have multiple entries, remove duplicate client entries in the /etc/bootparams file on all install servers and boot servers except the one you want the install client to use.

Cause:

Reason 2: Multiple /tftpboot or /rplboot directory entries might exist for this install client.

Solution:

Reason 2: Ensure that servers on the network do not have multiple /tftpboot or /rplboot directory entries for the install client. If they do have multiple entries, remove duplicate client entries from the /tftpboot or /rplboot directories on all install servers and boot servers except the one you want the install client to use.

Cause:

Reason 3: An install client entry might exist in the /etc/bootparams file on a server and an entry in another /etc/bootparams file that enables all systems to access the profile server. Such an entry resembles the following:

* install_config=profile_server:path

A line that resembles the previous entry in the NIS or NIS+ bootparams table can also cause this error.

Solution:

Reason 3: If a wildcard entry is in the naming service bootparams map or table (for example, * install_config=), delete it and add it to the /etc/bootparams file on the boot server.


No network boot server. Unable to install the system. See installation instructions. (SPARC based systems only)

Cause:

This error occurs on a system that you are attempting to install from the network. The system is not set up correctly.

Solution:

Ensure that you correctly set up the system to install from the network. See Adding Systems to Be Installed From the Network With a CD Image in Solaris 10 8/07 Installation Guide: Network-Based Installations.


prom_panic: Could not mount file system (SPARC based systems only)

Cause:

This error occurs when you are installing Solaris from a network, but the boot software cannot locate the following:

  • Solaris Operating System DVD, either the DVD or a copy of the DVD image on the install server

  • Solaris Software - 1 CD image, either the Solaris Software - 1 CD or a copy of the CD image on the install server

Solution:

Ensure that the installation software is mounted and shared.

  • If you are installing Solaris from the install server's DVD-ROM or CD-ROM drive, ensure that the Solaris Operating System DVD or Solaris Software - 1 CD is inserted in the CD-ROM drive, is mounted, and is shared in the /etc/dfs/dfstab file.

  • If installing from a copy of the Solaris Operating System DVD image or Solaris Software - 1 CD image on the install server's disk, ensure that the directory path to the copy is shared in the /etc/dfs/dfstab file.


Timeout waiting for ARP/RARP packet...(SPARC based systems only)

Cause:

Reason 1: The client is trying to boot from the network, but it cannot find a system that knows about the client.

Solution:

Reason 1: Verify the system's host name is in the NIS or NIS+ naming service. Also, verify the bootparams search order in the boot server's /etc/nsswitch.conf file.

For example, the following line in the /etc/nsswitch.conf file indicates that JumpStart or the Solaris installation program first looks in the NIS maps for bootparams information. If the program does not find any information, the installer looks in the boot server's /etc/bootparams file.

bootparams: nis files
Cause:

Reason 2: The client's Ethernet address is not correct.

Solution:

Reason 2: Verify that the client's Ethernet address in the install server's /etc/ethers file is correct.

Cause:

Reason 3: In a custom JumpStart installation, the add_install_client command specifies the platform group that uses a specified server as an install server. If the wrong architecture value is used when using the add_install_client, this problem occurs. For example, the machine you want to install is a sun4u, but you used i86pc instead.

Solution:

Reason 3: Rerun add_install_client with the correct architecture value.


ip: joining multicasts failed on tr0 - will use link layer broadcasts for multicast (x86 based systems only)

Cause:

This error message is displayed when you boot a system with a token ring card. Ethernet multicast and token ring multicast do not work the same way. The driver returns this error message because an invalid multicast address was provided to it.

Solution:

Ignore this error message. If multicast does not work, IP uses layer broadcasts instead and does not cause the installation to fail.


Requesting Internet address for Ethernet_Address (x86 based systems only)

Cause:

The client is trying to boot from the network, but it cannot find a system that knows about the client.

Solution:

Verify the system's host name is listed in the naming service. If the system's host name is listed in the NIS or NIS+ naming service, and the system continues to print this error message, try rebooting.


RPC: Timed out No bootparams (whoami) server responding; still trying... (x86 based systems only)

Cause:

The client is trying to boot from the network, but it cannot find a system with an entry in the /etc/bootparams file on the install server.

Solution:

Use add_install_client on the install server. Using this command adds the proper entry in the /etc/bootparams file, enabling the client to boot from the network.


Still trying to find a RPL server... (x86 based systems only)

Cause:

The system is trying to boot from the network, but the server is not set up to boot this system.

Solution:

On the install server, execute add_install_client for the system to be installed. The add_install_client command sets up an /rplboot directory, which contains the necessary network boot program.


CLIENT MAC ADDR: FF FF FF FF FF FF (network installations with DHCP only)

Cause:

The DHCP server is not configured correctly. This error might occur if the options or macros are not correctly defined in the DHCP Manager software.

Solution:

In the DHCP Manager software, verify that the options and macros are correctly defined. Confirm that the Router option is defined, and that the value of the Router option is correct for the subnet you are using for the network installation.

Booting From the Network, General Problems


The system boots from the network, but from a system other than the specified install server.

Cause:

An /etc/bootparams and perhaps an /etc/ethers entry exist on another system for the client.

Solution:

On the name server, update the /etc/bootparams entry for the system that is being installed. The entry should conform to the following syntax:

install_system root=boot_server:path install=install_server:path

Also, ensure that only one bootparams entry is on the subnet for the install client.


The system does not boot from the network (network installations with DHCP only).

Cause:

The DHCP server is not configured correctly. This error might occur if the system is not configured as an installation client on the DHCP server.

Solution:

In the DHCP manager software, verify that installation options and macros are defined for the client system. For more information, see Preconfiguring System Configuration Information With the DHCP Service (Tasks) in Solaris 10 8/07 Installation Guide: Network-Based Installations.

Initial Installation of the Solaris OS


Initial installation fails

Solution:

If the Solaris installation fails, you must restart the installation. To restart the installation, boot the system from the Solaris Operating System DVD, the Solaris Software - 1 CD, or from the network.

You cannot uninstall the Solaris software after the software has been partially installed. You must restore your system from a backup or begin the Solaris installation process again.


/cdrom/cdrom0/SUNWxxxx/reloc.cpio: Broken pipe

Description:

This error message is informational and does not affect the installation. The condition occurs when a write on a pipe does not have a reading process.

Solution:

Ignore the message and continue with the installation.


WARNING: CHANGE DEFAULT BOOT DEVICE (x86 based systems only)

Cause:

This is an informational message. The default boot device set in the system's BIOS might be set to a device that requires you to use the Solaris Device Configuration Assistant to boot the system.

Solution:

Continue with the installation and, if necessary, change the system's default boot device specified in the BIOS after you install the Solaris software to a device that does not require the Solaris Device Configuration Assistant.


x86 only –

If you are using the locale keyword to test a custom JumpStart profile for an initial installation, the pfinstall -D command fails to test the profile. For a workaround, see the error message “could not select locale,” in the section, Upgrading the Solaris OS.


Procedurex86: To Check IDE Disk for Bad Blocks

IDE disk drives do not automatically map out bad blocks like other drives supported by Solaris software. Before installing Solaris on an IDE disk, you might want to perform a surface analysis on the disk. To perform surface analysis on an IDE disk, follow this procedure.

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Boot to the installation media.

  3. When you are prompted to select an installation type, select option 6, Single user shell.

  4. Start the format(1M) program.


    # format
    
  5. Specify the IDE disk drive on which you want to perform a surface analysis.


    # cxdy
    
    cx

    Is the controller number

    dy

    Is the device number

  6. Determine if you have an fdisk partition.

    • If a Solaris fdisk partition already exists, proceed to Step 7.

    • If a Solaris fdisk partition does not exist, use the fdisk command to create a Solaris partition on the disk.


      format> fdisk
      
  7. To begin the surface analysis, type:


    format> analyze
    
  8. Determine the current settings, type:


    analyze> config
    
  9. (Optional) To change settings, type:


    analyze> setup
    
  10. To find bad blocks, type:


    analyze> type_of_surface_analysis
    
    type_of_surface_analysis

    Is read, write, or compare

    If format finds bad blocks, it remaps them.

  11. To exit the analysis, type:


    analyze> quit
    
  12. Determine if you want to specify blocks to remap.

    • If no, go to Step 13.

    • If yes, type:


      format> repair
      
  13. To exit the format program, type:


    quit
    
  14. Restart the media in multiuser mode by typing the following command.


    # exit
    

Upgrading the Solaris OS

Upgrading, Error Messages


No upgradable disks

Cause:

A swap entry in the /etc/vfstab file is causing the upgrade to fail.

Solution:

Comment out the following lines in the /etc/vfstab file:

  • All swap files and slices on disks not being upgraded

  • Swap files that are no longer present

  • Any unused swap slices


usr/bin/bzcat not found

Cause:

Solaris Live Upgrade fails because of needing a patch cluster.

Solution:

A patch is needed to install Solaris Live Upgrade. Ensure that you have the most recently updated patch list by consulting http://sunsolve.sun.com. Search for the info doc 72099 on the SunSolve web site.


Upgradeable Solaris root devices were found, however, no suitable partitions to hold the Solaris install software were found. Upgrading using the Solaris Installer is not possible. It might be possible to upgrade using the Solaris Software 1 CDROM. (x86 based systems only)

Cause:

You cannot upgrade with the Solaris Software - 1 CD because you do not have enough space.

Solution:

To upgrade, you can either create a swap slice that is larger than or equal to 512 Mbytes or use another method of upgrading such as the Solaris installation program from Solaris Operating System DVD, a net installation image, or JumpStart.


ERROR: Could not select locale (x86 based systems only)

Cause:

When you test your JumpStart profile by using the pfinstall -D command, the dry run test fails under the following conditions:

  • The profile contains the locale keyword.

  • You're testing a release that contains GRUB software. Starting with the Solaris 10 1/06 release, the GRUB boot loader facilitates booting different operating systems installed on your system with the GRUB menu.

With the introduction of GRUB software, the miniroot is compressed. The software can no longer find the list of locales from the compressed miniroot. The miniroot is the smallest possible Solaris root (/) file system and is found on the Solaris installation media.

Solution:

Perform the following steps. Use the following values.

  • MEDIA_DIR is /cdrom/cdrom0/

  • MINIROOT_DIR is $MEDIA_DIR/Solaris_10/Tools/Boot

  • MINIROOT_ARCHIVE is $MEDIA_DIR/boot/x86.miniroot

  • TEMP_FILE_NAME is /tmp/test

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Uncompress the miniroot archive.


    # /usr/bin/gzcat $MINIROOT_ARCHIVE > $TEMP_FILE_NAME
    
  3. Create the miniroot device by using the lofiadm command.


    # LOFI_DEVICE=/usr/sbin/lofiadm -a $TEMP_FILE_NAME
    # echo $LOFI_DEVICE
    /dev/lofi/1
  4. Mount the miniroot with the lofi command under the Miniroot directory.


    # /usr/sbin/mount -F ufs  $LOFI_DEVICE  $MINIROOT_DIR
    
  5. Test the profile.


    # /usr/sbin/install.d/pfinstall -D -c $MEDIA_DIR $path-to-jumpstart_profile
    
  6. After the testing is completed, unmount the lofi device.


    # umount  $LOFI_DEVICE
    
  7. Delete the lofi device.


    # lofiadm -d $TEMP_FILE_NAME
    

Upgrading, General Problems


The upgrade option is not presented even though there is a version of Solaris software that's upgradable on the system.

Cause:

Reason 1: The /var/sadm directory is a symlink or it is mounted from another file system.

Solution:

Reason 1: Move the /var/sadm directory into the root (/) or /var file system.

Cause:

Reason 2: The /var/sadm/softinfo/INST_RELEASE file is missing.

Solution:

Reason 2: Create a new INST_RELEASE file by using the following template:

OS=Solaris
VERSION=x 
REV=0
x

Is the version of Solaris software on the system

Cause:

Reason 3: SUNWusr is missing from /var/sadm/softinfo.

Solution:

Solution 3: You need to do an initial installation. The Solaris software is not upgradable.


Couldn't shut down or initialize the md driver

Solution:

Follow these instructions:


The upgrade fails because the Solaris installation program cannot mount a file system.

Cause:

During an upgrade, the script attempts to mount all the file systems that are listed in the system's /etc/vfstab file on the root (/) file system that is being upgraded. If the installation script cannot mount a file system, it fails and exits.

Solution:

Ensure that all file systems in the system's /etc/vfstab file can be mounted. Comment out any file systems in the /etc/vfstab file that cannot be mounted or that might cause the problem so that the Solaris installation program does not try to mount them during the upgrade. Any system-based file systems that contain software to be upgraded (for example, /usr) cannot be commented out.


The upgrade fails

Description:

The system does not have enough space for the upgrade.

Cause:

Check Upgrading With Disk Space Reallocation in Solaris 10 8/07 Installation Guide: Planning for Installation and Upgrade for the space problem and see if you can fix it without using auto-layout to reallocate space.


Problems upgrading RAID–1 volume root (/) file systems

Solution:

If you have problems upgrading when using Solaris Volume Manager RAID-1 volumes that are the root (/) file system, see Chapter 25, Troubleshooting Solaris Volume Manager (Tasks), in Solaris Volume Manager Administration Guide.

ProcedureTo Continue Upgrading After a Failed Upgrade

The upgrade fails and the system cannot be soft-booted. The failure is for reasons beyond your control, such as a power failure or a network connection failure.

  1. Reboot the system from the Solaris Operating System DVD, the Solaris Software - 1 CD, or from the network.

  2. Choose the upgrade option for installation.

    The Solaris installation program determines if the system has been partially upgraded and continues the upgrade.

x86: Problems With Solaris Live Upgrade When You Use GRUB

The following errors can occur when you use Solaris Live Upgrade and the GRUB boot loader on an x86 based system.


ERROR: The media product tools installation directory path-to-installation-directory does not exist.


ERROR: The media dirctory does not contain an operating system upgrade image.

Description:

The error messages are seen when using the luupgrade command to upgrade a new boot environment.

Cause:

An older version of Solaris Live Upgrade is being used. The Solaris Live Upgrade packages you have installed on your system are incompatible with the media and the release on that media.

Solution:

Always use the Solaris Live Upgrade packages from the release you are upgrading to.

Example:

In the following example, the error message indicates that the Solaris Live Upgrade packages on the system are not the same version as on the media.


# luupgrade -u -n s10u1 -s /mnt
	Validating the contents of the media </mnt>.
	The media is a standard Solaris media.
	ERROR: The media product tools installation directory 
</mnt/Solaris_10/Tools/Boot/usr/sbin/install.d/install_config> does 
not exist.
	ERROR: The media </mnt> does not contain an operating system upgrade 
image.

ERROR: Cannot find or is not executable: </sbin/biosdev>.


ERROR: One or more patches required by Solaris Live Upgrade has not been installed.

Cause:

One or more patches required by Solaris Live Upgrade are not installed on your system. Beware that this error message does not catch all missing patches.

Solution:

Before using Solaris Live Upgrade, always install all the required patches. Ensure that you have the most recently updated patch list by consulting http://sunsolve.sun.com. Search for the info doc 72099 on the SunSolve web site.


ERROR: Device mapping command </sbin/biosdev> failed. Please reboot and try again.

Cause:

Reason 1: Solaris Live Upgrade is unable to map devices because of previous administrative tasks.

Solution:

Reason 1: Reboot the system and try Solaris Live Upgrade again

Cause:

Reason 2: If you reboot your system and get the same error message, you have two or more identical disks. The device mapping command is unable to distinguish between them.

Solution:

Reason 2: Create a new dummy fdisk partition on one of the disks. See the fdisk(1M) man page. Then reboot the system.


Cannot delete the boot environment that contains the GRUB menu

Cause:

Solaris Live Upgrade imposes the restriction that a boot environment cannot be deleted if the boot environment contains the GRUB menu.

Solution:

Use lumake(1M) or luupgrade(1M) commands to reuse that boot environment.


The file system containing the GRUB menu was accidentally remade. However, the disk has the same slices as before. For example, the disk was not re-sliced.

Cause:

The file system that contains the GRUB menu is critical to keeping the system bootable. Solaris Live Upgrade commands do not destroy the GRUB menu. But, if you accidentally remake or otherwise destroy the file system containing the GRUB menu with a command other than a Solaris Live Upgrade command, the recovery software attempts to reinstall the GRUB menu. The recovery software puts the GRUB menu back in the same file system at the next reboot. For example, you might have used the newfs or mkfs commands on the file system and accidentally destroyed the GRUB menu. To restore the GRUB menu correctly, the slice must adhere to the following conditions:

  • Contain a mountable file system

  • Remain a part of the same Solaris Live Upgrade boot environment where the slice resided previously

Before rebooting the system, make any necessary corrective actions on the slice.

Solution:

Reboot the system. A backup copy of the GRUB menu is automatically installed.


The GRUB menu's menu.lst file was accidentally deleted.

Solution:

Reboot the system. A backup copy of the GRUB menu is automatically installed.

ProcedureSystem Panics When Upgrading With Solaris Live Upgrade Running Veritas VxVm

When you use Solaris Live Upgrade while upgrading and running Veritas VxVM, the system panics on reboot unless you upgrade by using the following procedure. The problem occurs if packages do not conform to Solaris advanced packaging guidelines.

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Create an inactive boot environment. See Creating a New Boot Environment in Solaris 10 8/07 Installation Guide: Solaris Live Upgrade and Upgrade Planning.

  3. Before upgrading the inactive boot environment, you must disable the existing Veritas software on the inactive boot environment.

    1. Mount the inactive boot environment.


      # lumount inactive_boot_environment_name mount_point
      

      For example:


      # lumount solaris8 /mnt 
      
    2. Change to the directory that contains the vfstab, for example:


      # cd /mnt/etc
      
    3. Make a copy of the inactive boot environment's vfstab file, for example:


      # cp vfstab vfstab.501
      
    4. In the copied vfstab, comment out all Veritas file system entries, for example:


      #  sed  '/vx\/dsk/s/^/#/g'  < vfstab >  vfstab.novxfs
      

      The first character of each line is changed to #, which makes the line a comment line. Note that this comment line is different than the system file-comment lines.

    5. Copy the changed vfstab file, for example:


      # cp vfstab.novxfs vfstab
      
    6. Change directories to the inactive boot environment's system file, for example:


      # cd /mnt/etc
      
    7. Make a copy of the inactive boot environment's system file, for example:


      # cp system system.501
      
    8. Comment out all “forceload:” entries that include drv/vx.


      # sed '/forceload:   drv\/vx/s/^/*/' <system> system.novxfs
      

      The first character of each line is changed to *, which makes the line a command line. Note that this comment line is different than the vfstab file comment lines.

    9. Create the Veritas install-db file, for example:


      # touch vx/reconfig.d/state.d/install-db
      
    10. Unmount the inactive boot environment.


      # luumount inactive_boot_environment_name 
      
  4. Upgrade the inactive boot environment. See Chapter 5, Upgrading With Solaris Live Upgrade (Tasks), in Solaris 10 8/07 Installation Guide: Solaris Live Upgrade and Upgrade Planning.

  5. Activate the inactive boot environment. See Activating a Boot Environment in Solaris 10 8/07 Installation Guide: Solaris Live Upgrade and Upgrade Planning.

  6. Shut down the system.


    # init 0
    
  7. Boot the inactive boot environment in single-user mode:


    OK boot -s
    

    Several messages and error messages that contain “vxvm” or “VXVM” are displayed that can be ignored. The inactive boot environment becomes active.

  8. Upgrade Veritas.

    1. Remove the Veritas VRTSvmsa package from the system, for example:


      # pkgrm VRTSvmsa
      
    2. Change directories to the Veritas packages.


      # cd /location_of_Veritas_software
      
    3. Add the latest Veritas packages to the system:


      #  pkgadd -d `pwd` VRTSvxvm VRTSvmsa VRTSvmdoc VRTSvmman VRTSvmdev
      
  9. Restore the original vfstab and system files:


    # cp /etc/vfstab.original /etc/vfstab
    # cp /etc/system.original /etc/system
    
  10. Reboot the system.


    # init 6
    

x86: Service Partition Not Created by Default on Systems With No Existing Service Partition

If you install the Solaris 10 8/07 OS on a system that does not currently include a service or diagnostic partition, the installation program might not create a service partition by default. If you want to include a service partition on the same disk as the Solaris partition, you must re-create the service partition before you install the Solaris 10 8/07 OS.

If you installed the Solaris 8 2/02 OS on a system with a service partition, the installation program might not have preserved the service partition. If you did not manually edit the fdisk boot partition layout to preserve the service partition, the installation program deleted the service partition during the installation.


Note –

If you did not specifically preserve the service partition when you installed the Solaris 8 2/02 OS, you might not be able to re-create the service partition and upgrade to the Solaris 10 8/07 OS.


If you want to include a service partition on the disk that contains the Solaris partition, choose one of the following workarounds.

ProcedureTo Install Software From a Network Installation Image or From the Solaris Operating System DVD

To install the software from a net installation image or from the Solaris Operating System DVD over the network, follow these steps.

  1. Delete the contents of the disk.

  2. Before you install, create the service partition by using the diagnostics CD for your system.

    For information about how to create the service partition, see your hardware documentation.

  3. Boot the system from the network.

    The Customize fdisk Partitions screen is displayed.

  4. To load the default boot disk partition layout, click Default.

    The installation program preserves the service partition and creates the Solaris partition.

ProcedureTo Install From the Solaris Software - 1 CD or From a Network Installation Image

To use the Solaris installation program to install from the Solaris Software - 1 CD or from a network installation image on a boot server, follow these steps.

  1. Delete the contents of the disk.

  2. Before you install, create the service partition by using the diagnostics CD for your system.

    For information about how to create the service partition, see your hardware documentation.

  3. The installation program prompts you to choose a method for creating the Solaris partition.

  4. Boot the system.

  5. Select the Use rest of disk for Solaris partition option.

    The installation program preserves the service partition and creates the Solaris partition.

  6. Complete the installation.

Appendix B Additional SVR4 Packaging Requirements (Reference)

This appendix is for system administrators who install or remove packages, especially third-party packages. Following these packaging requirements enables the following:

This chapter contains the following sections:

Preventing Modification of the Current OS

Following the requirements in this section keeps the currently running OS unaltered.

Using Absolute Paths

For an installation of an operating system to be successful, packages must recognize and correctly respect alternate root (/) file systems, such as a Solaris Live Upgrade inactive boot environment.

Packages can include absolute paths in their pkgmap file (package map). If these files exist, they are written relative to the -R option of the pkgadd command. Packages that contain both absolute and relative (relocatable) paths can be installed to an alternative root (/) file system as well. $PKG_INSTALL_ROOT is prepended to both absolute and relocatable files so all paths are resolved properly when being installed by pkgadd.

Using the pkgadd -R Command

Packages being installed by using the pkgadd -R option or being removed using the pkgrm -R option must not alter the currently running system. This feature is used by custom JumpStart, Solaris Live Upgrade, non-global zones and diskless client.

Any procedure scripts that are included in the packages being installed with the pkgadd command -R option or being removed by using the pkgrm command -R option must not alter the currently running system. Any installation scripts that you provide must reference any directory or file that is prefixed with the $PKG_INSTALL_ROOT variable. The package must write all directories and files with the $PKG_INSTALL_ROOT prefix. The package must not remove directories without a $PKG_INSTALL_ROOT prefix.

Table B–1 provides examples of script syntax.

Table B–1 Examples of Installation Script Syntax

Script Type 

Correct Syntax 

Incorrect Syntax 

Bourne shell “if” statement fragments 

if [ -f ${PKG_INSTALL_ROOT}\
/etc/myproduct.conf ] ; then
if [ -f /etc/myproduct.conf ] ; \
 then

Removing a file 

/bin/rm -f ${PKG_INSTALL_ROOT}\
/etc/myproduct.conf
/bin/rm -f /etc/myproduct.conf 

Changing a file 

echo "test=no" > ${PKG_INSTALL_ROOT}\
/etc/myproduct.conf
echo "test=no" > \
/etc/myproduct.conf

Differences Between $PKG_INSTALL_ROOT and $BASEDIR Overview

$PKG_INSTALL_ROOT is the location of the root (/) file system of the machine to which you are adding the package. The location is set to the -R argument of the pkgadd command. For example, if the following command is invoked, then $PKG_INSTALL_ROOT becomes /a during the installation of the package.


# pkgadd -R /a SUNWvxvm

$BASEDIR points to the relocatable base directory into which relocatable package objects are installed. Only relocatable objects are installed here. Nonrelocatable objects (those that have absolute paths in the pkgmap file) are always installed relative to the inactive boot environment, but not relative to the $BASEDIR in effect. If a package has no relocatable objects, then the package is said to be an absolute package (or nonrelocatable), and $BASEDIR is undefined and not available to package procedure scripts.

For example, suppose a package's pkgmap file has two entries:


1 f none sbin/ls 0555 root sys 3541 12322 1002918510
1 f none /sbin/ls2 0555 root sys 3541 12322 2342423332

The pkginfo file has a specification for $BASEDIR:


BASEDIR=/opt

If this package is installed with the following command, then ls is installed in /a/opt/sbin/ls, but ls2 is installed as /a/sbin/ls2.


# pkgadd -R /a SUNWtest

Guidelines for Writing Scripts

Your package procedure scripts must be independent of the currently running OS to prevent modifying the OS. Procedure scripts define actions that occur at particular points during package installation and removal. Four procedure scripts can be created with these predefined names: preinstall, postinstall, preremove, and postremove.

Table B–2 Guidelines For Creating Scripts

Guidelines 

Affects Solaris Live Upgrade 

Affects non-global zones 

Scripts must be written in Bourne shell (/bin/sh). Bourne shell is the interpreter that is used by the pkgadd command to execute the procedure scripts.

Scripts must not start or stop any processes or depend on the output of commands such as ps or truss, which are operating system dependent and report information about the currently running system.

Scripts are free to use other standard UNIX commands such as expr, cp, and ls and other commands that facilitate shell scripting.

Any commands that a script invokes must be available in all supported releases, since a package must run on all of those releases. Therefore, you cannot use commands that were added or removed after the Solaris 8 release.  

To verify that a specific command or option is supported in a Solaris 8, 9, or 10 release, see the specific version of Solaris Reference Manual AnswerBook on http://docs.sun.com.

 

Maintaining Diskless Client Compatibility

Packages must not execute commands delivered by the package itself. This is to maintain diskless client compatibility and avoids running commands that might require shared libraries that are not installed yet.

Verifying Packages

All packages must pass pkgchk validation. After a package is created and before it is installed, it must be checked with the following command.


# pkgchk -d dir_name pkg_name
dir_name

Specifies the name of the directory where the package resides

pkg_name

Specifies the name of the package


Example B–1 Testing a Package

After a package is created, it must be tested by installing it in an alternate root (/) file system location by using the -R dir_name option to pkgadd. After the package is installed, it must be checked for correctness by using pkgchk, as in this example.


# pkgadd -d . -R /a SUNWvxvm
# pkgchk -R /a SUNWvxvm

No errors should be displayed.



Example B–2 Testing a Package on /export/SUNWvxvm

If a package exists at /export/SUNWvxvm, then you would issue the following command.


# pkgchk -d /export SUNWvxvm

No errors should be displayed.


Other commands can check the package when you are creating, modifying, and deleting files. The following commands are some examples.


# TEMPDIR=/a; export TEMPDIR
# truss -t open /usr/sbin/pkgadd -R ${TEMPDIR} SUNWvxvm \
2>&1 > /dev/null | grep -v O_RDONLY | grep -v \
'open("'${TEMPDIR}

Preventing User Interaction When Installing or Upgrading

Packages must be added or removed without the user being prompted for information when using the following standard Solaris utilities.

To test a package to ensure that it will install with no user interaction, a new administration file can be set up with the pkgadd command -a option. The -a option defines an installation administration file to be used in place of the default administration file. Using the default file might result in the user being prompted for more information. You can create an administration file that indicates to pkgadd that it should bypass these checks and install the package without user confirmation. For details, see the man page admin(4) or pkgadd(1M).

The following examples show how the pkgadd command uses the administration file.


Example B–3 Installation Administration File

The following is an example of an installation administration file that requires very little user interaction with the pkgadd utility. Unless the package requires more space than is available on the system, the pkgadd utility uses this file and installs the package without prompting the user for more information.

mail=
instance=overwrite
partial=nocheck
runlevel=nocheck
idepend=nocheck
space=ask
setuid=nocheck
confiict=nocheck
action=nocheck
basedir=default

Setting Package Parameters For Zones

Packages have parameters that control how their content is distributed and made visible on a system with non-global zones installed. The SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW, and SUNW_PKG_THISZONE package parameters define the characteristics of packages on a system with zones installed. These parameters must be set so that packages can be administered in a system with non-global zones.

The following table lists the four valid combinations for setting package parameters. If you choose setting combinations that are not listed in the following table, those settings are invalid and result in the package failing to install.


Note –

Ensure that you have set all three package parameters. You can leave all three package parameters blank. The package tools interpret a missing zone package parameter as if the setting were “false,” but not setting the parameters is strongly discouraged. By setting all three package parameters, you specify the exact behavior the package tools should exhibit when installing or removing the package.


Table B–3 Valid Package Parameter Settings For Zones

SUNW_PKG_ALLZONES Setting

SUNW_PKG_HOLLOW Setting

SUNW_PKG_THISZONE Setting

Package Description 

false 

false 

false 

This is the default setting for packages that do not specify values for all the zone package parameters. 

A package with these settings can be installed in either the global zone or a non-global zone.  

  • If the pkgadd command is run in the global zone, the package is installed in the global zone and in all non-global zones.

  • If the pkgadd command is run in a non-global zone, the package is installed in the non-global zone only.

In both cases, the entire contents of the package is visible in all zones where the package is installed. 

false 

false 

true 

A package with these settings can be installed in either the global zone or a non-global zone. If new non-global zones are created after the installation, the package is not propagated to these new non-global zones. 

  • If the pkgadd command is run in the global zone, the package is installed in the global zone only.

  • If the pkgadd command is run in a non-global zone, the package is installed in the non-global zone only.

In both cases, the entire contents of the package is visible in the zone where the package is installed. 

true 

false 

false 

A package with these settings can be installed in the global zone only. When the pkgadd command is run, the package is installed in the global zone and in all non-global zones. The entire contents of the package is visible in all zones.


Note –

Any attempt to install the package in a non-global zone fails.


true 

true 

false 

A package with these settings can only be installed in the global zone, by the global administrator. When the pkgadd command is run, the contents of the package is fully installed in the global zone. If a package has the package parameters set to these values, the package content itself is not delivered on any non-global zone. Only the package installation information necessary to make the package appear to be installed is installed on all non-global zones. This enables the installation of other packages to be installed that depend on this package. For more information on “hollow” packages, see Chapter 24, About Packages and Patches on a Solaris System With Zones Installed (Overview), in System Administration Guide: Solaris Containers-Resource Management and Solaris Zones.

For package dependency checking purposes, the package appears to be installed in all zones. 

  • In the global zone, the entire contents of the package is visible.

  • In whole root non-global zones, the entire contents of the package is not visible.

  • When a non-global zone inherits a file system from the global zone, a package installed in this file system is visible in a non-global zone. All other files delivered by the package are not visible within the non-global zone.

    For example, a sparse root non-global zone shares certain directories with the global zone. These directories are read-only. Sparse root non-global zones share the /platform file system among others. Another example is packages that deliver files relevant only to booting hardware.


Note –

Any attempt to install the package in a non-global zone fails.


Description 

For More Information 

For more details on packages and zones 

Chapter 24, About Packages and Patches on a Solaris System With Zones Installed (Overview), in System Administration Guide: Solaris Containers-Resource Management and Solaris Zones

For an overview of sparse and whole root zones 

Chapter 16, Introduction to Solaris Zones, in System Administration Guide: Solaris Containers-Resource Management and Solaris Zones

For information about package characteristics and parameters 

pkginfo(4)

For information about displaying package parameter values 

pkgparam(1)

For Background Information

The following references provide background information about packaging requirements and specific command syntax.

For more specific information about packaging requirements and definitions of terminology 

Chapter 6, Advanced Techniques for Creating Packages, in Application Packaging Developer’s Guide

For basic information about adding and removing packages and the installation administration file 

Chapter 16, Managing Software (Overview), in System Administration Guide: Basic Administration

For detailed information about specific commands that are referenced in this appendix, see these man pages 

dircmp(1), fssnap(1M), ps(1), or truss(1) pkgadd(1M), pkgchk(1M), or pkgrm(1M)

For an overview of Solaris Live Upgrade 

Chapter 2, Solaris Live Upgrade (Overview), in Solaris 10 8/07 Installation Guide: Solaris Live Upgrade and Upgrade Planning

For an overview of custom JumpStart 

Chapter 2, Custom JumpStart (Overview)

For an overview of Solaris Zones 

Chapter 16, Introduction to Solaris Zones, in System Administration Guide: Solaris Containers-Resource Management and Solaris Zones