This part contains troubleshooting and reference information.
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.
When you see the phrase “bootable media,” this means the Solaris installation program and JumpStart installation method.
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.
Become superuser or assume an equivalent role.
On the client, find the ethers address.
# ifconfig -a grep ethers ether 8:0:20:b3:39:1d |
On the install server, open the /etc/ethers file in an editor. Add the address to the list.
On the client, run add_install_client again as in this example.
# ./add_install_client bluegill sun4u |
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.
filename is a variable for the name of the file affected.
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.
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.
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).
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.
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
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 filesCause:
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.
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 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.
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.
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.
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.
Boot to the installation media.
When you are prompted to select an installation type, select option 6, Single user shell.
Start the format(1M) program.
# format |
Specify the IDE disk drive on which you want to perform a surface analysis.
# cxdy |
Is the controller number
Is the device number
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 |
To begin the surface analysis, type:
format> analyze |
Determine the current settings, type:
analyze> config |
(Optional) To change settings, type:
analyze> setup |
To find bad blocks, type:
analyze> type_of_surface_analysis |
Is read, write, or compare
If format finds bad blocks, it remaps them.
To exit the analysis, type:
analyze> quit |
Determine if you want to specify blocks to remap.
If no, go to Step 13.
If yes, type:
format> repair |
To exit the format program, type:
quit |
Restart the media in multiuser mode by typing the following command.
# exit |
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
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.
Uncompress the miniroot archive.
# /usr/bin/gzcat $MINIROOT_ARCHIVE > $TEMP_FILE_NAME |
Create the miniroot device by using the lofiadm command.
# LOFI_DEVICE=/usr/sbin/lofiadm -a $TEMP_FILE_NAME # echo $LOFI_DEVICE /dev/lofi/1 |
Mount the miniroot with the lofi command under the Miniroot directory.
# /usr/sbin/mount -F ufs $LOFI_DEVICE $MINIROOT_DIR |
Test the profile.
# /usr/sbin/install.d/pfinstall -D -c $MEDIA_DIR $path-to-jumpstart_profile |
After the testing is completed, unmount the lofi device.
# umount $LOFI_DEVICE |
Delete the lofi device.
# lofiadm -d $TEMP_FILE_NAME |
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
Is the version of Solaris software on the system
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:
If the file system is not a RAID-1 volume, comment out in the vsftab file.
If the file system is a RAID-1 volume, break the mirror and reinstall. For information about unmirroring, see Removing RAID-1 Volumes (Unmirroring) in Solaris Volume Manager Administration Guide.
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.
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.
Reboot the system from the Solaris Operating System DVD, the Solaris Software - 1 CD, or from the network.
Choose the upgrade option for installation.
The Solaris installation program determines if the system has been partially upgraded and continues the upgrade.
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.
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.
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.
Create an inactive boot environment. See Creating a New Boot Environment in Solaris 10 8/07 Installation Guide: Solaris Live Upgrade and Upgrade Planning.
Before upgrading the inactive boot environment, you must disable the existing Veritas software on the inactive boot environment.
Mount the inactive boot environment.
# lumount inactive_boot_environment_name mount_point |
For example:
# lumount solaris8 /mnt |
Change to the directory that contains the vfstab, for example:
# cd /mnt/etc |
Make a copy of the inactive boot environment's vfstab file, for example:
# cp vfstab vfstab.501 |
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.
Copy the changed vfstab file, for example:
# cp vfstab.novxfs vfstab |
Change directories to the inactive boot environment's system file, for example:
# cd /mnt/etc |
Make a copy of the inactive boot environment's system file, for example:
# cp system system.501 |
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.
Create the Veritas install-db file, for example:
# touch vx/reconfig.d/state.d/install-db |
Unmount the inactive boot environment.
# luumount inactive_boot_environment_name |
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.
Activate the inactive boot environment. See Activating a Boot Environment in Solaris 10 8/07 Installation Guide: Solaris Live Upgrade and Upgrade Planning.
Shut down the system.
# init 0 |
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.
Upgrade Veritas.
Restore the original vfstab and system files:
# cp /etc/vfstab.original /etc/vfstab # cp /etc/system.original /etc/system |
Reboot the system.
# init 6 |
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.
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.
To install the software from a net installation image or from the Solaris Operating System DVD over the network, follow these steps.
Delete the contents of the disk.
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.
Boot the system from the network.
The Customize fdisk Partitions screen is displayed.
To load the default boot disk partition layout, click Default.
The installation program preserves the service partition and creates the Solaris partition.
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.
Delete the contents of the disk.
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.
The installation program prompts you to choose a method for creating the Solaris partition.
Boot the system.
Select the Use rest of disk for Solaris partition option.
The installation program preserves the service partition and creates the Solaris partition.
Complete the installation.
This appendix is for system administrators who install or remove packages, especially third-party packages. Following these packaging requirements enables the following:
Avoids modifying the currently running system so you can upgrade with Solaris Live Upgrade and create and maintain non-global zones and diskless clients
Prevents a package from being interactive to automate installations when using installation programs such as custom JumpStart
This chapter contains the following sections:
Following the requirements in this section keeps the currently running OS unaltered.
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.
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
$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 |
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. |
X |
X |
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. |
X |
X |
Scripts are free to use other standard UNIX commands such as expr, cp, and ls and other commands that facilitate shell scripting. |
X |
X |
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. |
X |
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.
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 |
Specifies the name of the directory where the package resides
Specifies the name of the 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.
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.
For example, the dircmp or fssnap commands can be used to verify that packages behave properly.
Also, the ps command can be used for testing daemon compliance by making sure daemons are not stopped or started by the package.
The truss, pkgadd -v, and pkgrm commands can test runtime package installation compliance, but might not work in all situations. In the following example, the truss command strips out all read-only, non-$TEMPDIR access and shows only non-read-only access to paths that do not lie within the specified inactive boot environment.
# 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} |
Packages must be added or removed without the user being prompted for information when using the following standard Solaris utilities.
The custom JumpStart program
Solaris Live Upgrade
Solaris installation program program
Solaris Zones
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.
If no administration file is provided, pkgadd uses /var/sadm/install/admin/default. Using this file might result in user interaction.
# pkgadd |
If a relative administration file is provided on the command line, pkgadd looks in /var/sadm/install/admin for the file name and uses it. In this example, the relative administration file is named nocheck and pkgadd looks for /var/sadm/install/admin/nocheck.
# pkgadd -a nocheck |
If an absolute file is provided pkgadd uses it. In this example, pkgadd looks in /tmp for the nocheck administration file.
# pkgadd -a /tmp/nocheck |
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
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.
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.
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.
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.
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.
Note – Any attempt to install the package in a non-global zone fails. |
Description |
For More Information |
---|---|
For more details on packages and zones | |
For an overview of sparse and whole root zones | |
For information about package characteristics and parameters | |
For information about displaying package parameter values |
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 | |
For an overview of custom JumpStart | |
For an overview of Solaris Zones |