The Solaris 2.5 release includes the .platform directory, a new directory on the Solaris CD image. This directory contains files (created by SunSoft and Solaris OEMs) that define platform support. These files are generically referred to as platform definition files. They provide a means to map different platform types into a platform group.
Platform definition files in the .platform directory are used by the installation software to ensure that software appropriate for the architecture of the system will be installed.
SunSoft provides a platform definition file named .platform/Solaris . This file is the only one that can define platform groups to which other platform definition files can refer. For example, an OEM platform definition file can refer to any platform group specified in the Solaris platform definition file.
Other platform definition files are delivered by OEMs. To avoid name conflicts, OEMs will name their platform definition file with an OEM-unique string. OEM's should use whatever string they use to make their package names unique. This unique string is often the OEM's stock symbol.
Comments are allowed in a platform definition file. A "#" begins a comment and can be placed anywhere on a line.
Platform definition files are composed of keyword-value pairs, and there are two kinds of stanzas in the file: platform group definitions and platform identifications.
Platform group definitions:
The keywords in a platform group definition stanza are:
The PLATFORM_GROUP keyword must be the first keyword in the platform group definition stanza. The value assigned to this keyword is the name of the platform group, for example:
The PLATFORM_GROUP name is an arbitrary name assigned to a group of platforms. However, PLATFORM_GROUP typically equals the output of the uname -m command. PLATFORM_GROUP value cannot have white space and is limited to 256 ASCII characters.
The instruction set architecture of all platforms in the platform group, for example:
The INST_ARCH keyword value must be the value returned by the uname -p command on all platforms in the platform group.
The keywords in a platform identification stanza are:
The PLATFORM_NAME keyword must be the first keyword in the platform identification stanza. The PLATFORM_NAME is the name assigned to the platform, for example:
Typically, this name is the same as the value returned by the uname -i command on the machine, but it need not be the same.
The PLATFORM_NAME value cannot have white space and is limited to 256 ASCII characters. If it contains parentheses, it must contain only balanced parentheses. For example. the string "foo(bar)foo" is a valid value for this keyword, but "foo(bar" is not.
The other keywords in the platform identification stanza can be in any order, as long as the PLATFORM_NAME keyword is first.
The value returned by the uname -i command on the machine, for example:
The value returned by the uname -m command on the machine, for example:
The platform group of which the platform is a member, for example:
The platform group name must be specified in the same file as the platform identification stanza or in the platform definition file with the name .platform/Solaris .
The IN_PLATFORM_GROUP keyword is optional. A platform doesn't have to belong to a platform group. If a platform isn't explicitly assigned to a platform group, it essentially forms its own platform group, where the platform group name is the PLATFORM_NAME value. The IN_PLATFORM_GROUP value typically equals the output of the uname -m command. IN_PLATFORM_GROUP value cannot have white space and is limited to 256 ASCII characters.
The instruction set architecture of the platform, for example:
This field is only required if the platform does not belong to a platform group. The INST_ARCH keyword value must be the value returned by the uname -p command on all platforms in the platform group.
The installation program will remain compatible with the old Solaris CD format. If a Solaris CD image does not contain any platform definition files, the installation and upgrade programs will select the packages to be installed based on machine type (i.e., the value returned by the uname -m command).
# PLATFORM_GROUP=sun4c INST_ARCH=sparc # PLATFORM_GROUP=sun4d INST_ARCH=sparc # PLATFORM_GROUP=sun4m INST_ARCH=sparc # PLATFORM_GROUP=sun4u INST_ARCH=sparc
# PLATFORM_NAME=SUNW,Sun_4_20 PLATFORM_ID=SUNW,Sun_4_20 IN_PLATFORM_GROUP=sun4c PLATFORM_NAME=SUNW,Sun_4_25 PLATFORM_ID=SUNW,Sun_4_25 IN_PLATFORM_GROUP=sun4c # PLATFORM_NAME=SUNW,SPARCstation-5 PLATFORM_ID=SUNW,SPARCstation-5 IN_PLATFORM_GROUP=sun4m # PLATFORM_NAME=SUNW,SPARCstation-10 PLATFORM_ID=SUNW,SPARCstation-10 IN_PLATFORM_GROUP=sun4m
The .platform directory must reside as / cd_image/Solaris_vers/.platform, where
Is the path to the mounted Solaris CD (/cdrom/cdrom0/s0 by default) or the path to a copy of the Solaris CD on a disk.
Is the version of Solaris: e.g., Solaris_2.5.
Typically, a platform identification stanza contains either a PLATFORM_ID or a MACHINE_TYPE stanza, but not both.
If both are specified, both must match for a platform to be identified as this platform type. Each platform identification stanza must contain either a PLATFORM_ID value or a MACHINE_TYPE value. If a platform matches two different platform identification stanzas—one which matched on the value of PLATFORM_ID and one which matched on the value of MACHINE_TYPE , the one that matched on PLATFORM_ID will take precedence.
The .platform directory is part of the Solaris CD image, whether that be the Solaris CD or a copy of the Solaris CD on a system's hard disk.