System Administration Guide, Volume I

Appendix A The 64-bit Solaris Operating Environment

This section provides information for system administrators who are working with systems running the 32-bit and 64-bit Solaris operating environments, both of which are available with the Solaris 7 release.

64-bit: Overview of the 64-bit Solaris Operating Environment

The Solaris 7 release provides the ability to run both of the following environments on a SPARC or Intel platform:

Currently, the only platforms capable of supporting the 64-bit Solaris 7 operating environment are systems that have an UltraSPARCTM processor. Developing 64-bit applications on other platforms or previous Solaris releases is not supported.


Note -

Systems that have an UltraSPARC processor are referred to as UltraSPARC systems for the remainder of this appendix.


64-bit: Do I Need to Use the 64-bit Solaris Application Environment?

No, unless you are developing 64-bit applications on a 32-bit or 64-bit Solaris 7 system or running 64-bit applications on UltraSPARC systems.

Although running 64-bit applications can have enormous advantages over running some 32-bit applications--particularly applications which are able to manipulate large address spaces, such as databases--the 32-bit Solaris application environment will continue to be the default application environment for a long time to come.

64-bit: Do I Need to Use the 64-bit Solaris Operating Environment?

The 64-bit Solaris operating environment provides 32-bit application source and binary compatibility. The typical end-user and developer won't even be aware of the Solaris 64-bit environment.

64-bit: Which SPARC Systems Support 64-bit Application Development?

You can develop 64-bit applications on the Solaris 7 release running on the sun4c, sun4m, sun4d, and sun4u systems. And, of course, you can run 64-bit applications on UltraSPARC systems running the Solaris 7 release.

64-bit: How Do I Install the 64-bit Solaris Operating Environment?

Software selection choices include a 64-bit support option when installing the Solaris 7 release for all system types:

Look for the 64-bit support option during the various Solaris 7 installation scenarios:

64-bit: How Do I Know Whether a System Can Run the 64-bit Solaris Operating Environment?

Currently, the only platform capable of supporting the 64-bit Solaris operating environment is an UltraSPARC system. You can verify whether a system is an UltraSPARC system by using the following command:


$ uname -m
sun4u

If the output of the uname -m command is sun4u, then the machine is an UltraSPARC system.

If you are running the Solaris 7 release, you can verify this by using the psrinfo command:


# psrinfo -v 		
Status of processor 0 as of: 02/10/98 14:25:55 		  
  Processor has been on-line since 01/30/98 15:10:29. 
	  The sparcv9 processor operates at 168 MHz,
        and has a sparcv9 floating point processor. 		
Status of processor 1 as of: 02/10/98 14:25:55 		  
  Processor has been on-line since 01/30/98 15:10:33. 
	  The sparcv9 processor operates at 168 MHz,
	        and has a sparcv9 floating point processor.  	

If the processor type is sparcv9, the platform is capable of running the 64-bit Solaris operating environment. This test does not work on previous versions of the psrinfo command, where all platforms report the less precise sparc as the processor type.

64-bit: How Do I Determine Whether a System Has 64-bit Solaris Capabilities Enabled?

The basic 64-bit Solaris operating environment looks unchanged from the previous 32-bit environment. You can use a new command to determine whether a system has 64-bit capabilities enabled, which means the system is booted with the 64-bit kernel.

The isainfo(1) command, (for instruction set architecture information), has two functions:

64-bit: Examples--Determining Whether a System Has 64-bit Solaris Capabilities Enabled

An UltraSPARC system running a 32-bit kernel looks like this:


$ isainfo -v
32-bit sparc applications

The output means this system is capable of supporting only 32-bit applications.

An UltraSPARC system running a 64-bit kernel looks like this:


 $ isainfo -v 
64-bit sparcv9 applications 
32-bit sparc applications

This output means this system is capable of supporting both 32-bit and 64-bit applications.

Use the isainfo -b command to display the number of bits supported by native applications on the running system.

The output from a SPARC, Intel, or UltraSPARC system running the 32-bit Solaris operating environment looks like this:


$ isainfo -b
32  

The output from a 64-bit UltraSPARC system running the 64-bit Solaris operating environment looks like:


$ isainfo -b
64

The command returns 64 only. Even though a 64-bit UltraSPARC system is capable of running both types of applications, 64-bit applications are the best kind of applications to run on a 64-bit system.

The uname -p output remains sparc or i386 to ensure that existing 32-bit applications continue to run without interruption.

64-bit: How Do I Run Applications in the 64-bit Solaris Operating Environment?

You probably run applications in the 64-bit Solaris environment no differently than in the 32-bit Solaris environment.

A user's PATH environment variable does not need to change to use a 64-bit Solaris system. Although most system utilities remain 32-bit applications, some are available in 64-bit versions. The 64-bit command versions are automatically invoked by a command wrapper program that transparently starts the correct version of the command based upon the capabilities of the running system.

Other issues to keep in mind when running applications in the 64-bit Solaris operating environment:

64-bit: What About 64-bit Device Drivers or Third-Party Device Drivers?

System administrators should be certain that they have the correct device drivers available for their 64-bit Solaris systems by following these steps:

  1. Verify whether the UltraSPARC system needs a firmware upgrade to boot the 64-bit Solaris kernel. See your hardware manufacturer's documentation to determine whether your UltraSPARC system needs a firmware upgrade.

  2. Select the 64-bit Solaris packages during installation.

  3. Boot the 64-bit Solaris operating environment.

Another important administration issue is making sure your third-party device drivers are available in 64-bit versions; otherwise you probably won't be able to run the 64-bit Solaris environment until they are available in 64-bit versions.

64-bit: Using the LD_LIBRARY_PATH Variable in the 64-bit Solaris Operating Environment

If you are running 64-bit applications, you may need to customize your LD_LIBRARY_PATH environment variable as follows:

Do I Boot Systems Running a 32-bit and 64-bit Solaris 7 Kernel the Same Way?

No, but you shouldn't have to boot them differently. The 64-bit Solaris 7 kernel is booted by default if it is installed on an UltraSPARC system. If it isn't installed, the 32-bit kernel is booted instead.

Also, on UltraSPARC systems, kadb and various boot programs are now 64-bit programs that can boot either a 32-bit or 64-bit kernel.

If you have problems booting either system type, see the next section.

Troubleshooting 64-bit Solaris Boot Problems

After the 64-bit Solaris release is installed on an UltraSPARC system, the 64-bit kernel will be booted automatically unless any of the following conditions are true:

You cannot boot the 64-bit Solaris operating environment on a 32-bit Solaris system.

64-bit: 64-bit Solaris Package Changes

Certain Solaris 7 system packages provide both 32-bit and 64-bit versions. For example:

You can add 64-bit application tools (64-bit shared libraries) to 32-bit platforms if you want to develop 64-bit applications on a 32-bit system.

Automatically Mounting 32-bit or 64-bit Applications

System administrators can use a new variable, NATISA, which corresponds to the output of the isainfo -n command, in automounter maps. You can set this variable to allow different parts of a directory hierarchy to be mounted on the system depending on whether the system supports 32-bit or 64-bit native applications.

For example, the following map entry allows a client to mount either /export/sparc/bin or /export/sparcv9/bin depending on whether 64-bit applications are supported on that system.


/export/bin	server:/export/$NATISA/bin -ro

See automount(1m) for more information.