Alta's HowTo's Complement
Boot into 32-bit kernel on 64-bit platform
Sometimes you need to boot into the 32-bit kernel on a 64-bit platform. Perhaps you have an application that is 32-bit only. Or perhaps you have developed a device driver for the Solaris OS. In general, Solaris device drivers must work both in 32-bit mode and in 64-bit mode.
To boot into the 32-bit kernel on a 64-bit platform, edit the GRUB menu. Either edit the file /boot/grub/menu.lst and reboot, or reboot and enter e at the grub menu.
For Solaris 10, the lines in the menu.lst file look something like this:
title Solaris 10 11/06 s10x_u3wos_10 X86 root (hd0,2,a) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive
Change the kernel line to this:
kernel /platform/i86pc/kernel/unix
For Solaris Express (nevada, SXDE, SXCE, OpenSolaris), the lines in the menu.lst file look something like this:
title Solaris Express Community Edition snv_79 X86 kernel$ /platform/i86pc/kernel/$ISADIR/unix module$ /platform/i86pc/$ISADIR/boot_archive
Change the kernel and module lines to this:
kernel$ /platform/i86pc/kernel/unix module$ /platform/i86pc/boot_archive
Save and reboot
To make this change persistent across reboots, become the root user and make this change using
eeprom boot-file="kernel/unix"
See also Forcing Solaris to load 32 bit kernel.
For more information on the GRUB menu, see GRUB's user interface on the GNU web site.
Posted at 08:14PM Jan 30, 2008 by alta in Device Support | Comments[3]
Wednesday Jan 30, 2008

Thanks a ton for this information.
Posted by Jitander Das on November 11, 2008 at 06:36 AM PST #
If you have a 32-bit only application it will run fine even if Solaris runs in 64-bit mode...
Posted by Henrik Johansson on December 28, 2008 at 04:45 PM PST #
I meant for this post to be about developing, not running. I should have been more specific. For example, you can boot into 32-bit mode (rather than use a machine that is 32-bit only) to compile and test a 32-bit driver that you have developed.
Posted by Alta on January 05, 2009 at 08:29 AM PST #