SunOS to Solaris versioning explained [updated]

I've been working with SunOS operating systems for many years going back to the days before Solaris was even born, (hmmm! the grey cells recall SunOS 3.2, back in '88).

What surprises me, even today is how many times I get asked the same question ...

What's the difference between SunOS and Solaris?

I quote the same answer everytime...

SunOS is the core operating system comprising the kernel, utilities and basic libraries. Whereas, Solaris is the broader environment comprising SunOS, a Graphical Desktop, Applications and Networking support. In a nutshell you could say that SunOS is a component of Solaris.

Matching Solaris to SunOS

SunOS and Solaris relate to each other as follows:

SunOSSolaris
SunOS 4.1.1B Solaris 1.0
SunOS 5.0 Solaris 2.0
SunOS 5.4 Solaris 2.4
SunOS 5.5 Solaris 2.5
SunOS 5.5.1 Solaris 2.5.1
SunOS 5.6 Solaris 2.6
SunOS 5.7 Solaris 7
SunOS 5.8 Solaris 8
SunOS 5.9 Solaris 9
SunOS 5.10 Solaris 10
SunOS 5.11 Solaris 11

If you want a brief history on Solaris 1.0 owards take a look at this wiki pages, but to summarise...

How can we tell if Solaris is running 32-bit or 64-bit OS?

Use the isalist command to determine whether the machine is running the 32-bit or 64-bit operating system. If you are running the 64-bit operating system on an UltraSPARC machine, then isalist will list sparcv9 first

The following is an example of the isainfo command executed on an UltraSPARC system running the 64-bit operating system:

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

The -b option prints the number of bits in the address space ( cpu’s bit size capabilities ) of the corresponding native applications environment:

% isainfo -b
64

How to boot in 64-bit or 32-bit mode?

To boot a 32-bit kernel, at the ok prompt type:

ok boot net kernel/unix

To boot a 64-bit kernel (default), at the ok prompt type:

ok boot disk kernel/sparcv9/unix

Ultra SPARC®

On Ultra SPARC systems with a CPU speed of 200 MHz or less, the file /platform/sun4u/boot.conf must have the following line uncommented:

ALLOW_64BIT_KERNEL_ON_UltraSPARC_1_CPU=true

If this line was commented out when the system was booted, isalist will NOT list sparcv9 as an option, even if all packages for 64 bit support are installed.