Dual Booting Solaris and Mac OS X on MacBook Pro
January 6th, 2008 by Lou
This is a collection of notes and links related to a dual installation of Solaris Nevada and Mac OS using Boot Camp. Although all of the links are helpful, this is a rapidly evolving set of technologies, thus there are some adjustments.
Possibly the most important adjustment I ran into is that the Boot Camp Beta was closed on December 31st, so you are compelled to use Leopard.
As you work through the installation, there are several things you can expect not to work, at least as of build 80 of Nevada.
- Sound does not work.
- Dual head configurations may result in irritating color differences between the two screens.
- Solaris does not support HID 1.1. This bit me with my Microsoft Optical Desktop 4000 mouse. The keyboard works. The mouse doesn’t.
- The one button trackpad won’t cut it. You’ll need a real wired three-buttoon mouse. No bluetooth. No bluetooth mice. The Wireless Mighty Mouse won’t work.
There are probably other issues, but these are the ones I’ve run into.
There are quite a number of links out there with helpful information, and on the whole, the installation works at least as well as I expected, and wasn’t too difficult. The biggest hassles are the Marvell yukon driver, and the Atheros wireless driver.
- Google “solaris nevada macbook boot camp”
- How to install Solaris on MacBook Pro
- Solaris Wireless on a MacBook
- How to Dual Partition a MacBook Pro with MacOS and Solaris is interesting since it shows how to dual partition without Boot Camp. I didn’t use this directly, but it was referred to by several other posts.
I somewhat mitigated the color differences between my laptop and my Apple Cinema display by using a Xinerama installation with different “Gamma” options for each monitor, rather than an Nvidia TwinView configuration. This allowed me to set the gamma separately for each monitor. All my attempts to use the Nvidia configuration mechanisms to deal with this were futile. Here is my /etc/xorg.conf
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
RgbPath "/usr/X11/lib/X11/rgb"
FontPath "/usr/X11/lib/X11/fonts/misc/:unscaled"
FontPath "/usr/X11/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/X11/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11/lib/X11/fonts/misc/"
FontPath "/usr/X11/lib/X11/fonts/Type1/"
FontPath "/usr/X11/lib/X11/fonts/100dpi/"
FontPath "/usr/X11/lib/X11/fonts/75dpi/"
FontPath "/usr/X11/lib/X11/fonts/TrueType/"
FontPath "/usr/X11/lib/X11/fonts/Type1/sun/"
FontPath "/usr/X11/lib/X11/fonts/F3bitmaps/"
EndSection
Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "IA"
Load "bitstream"
Load "xtsol"
Load "glx"
EndSection
Section "ServerFlags"
Option "Xinerama" "1"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/mouse"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "keyboard"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Apple Color LCD"
HorizSync 30.0 - 75.0
VertRefresh 60.0
Option "DPMS"
Gamma 1.2 1.0 0.85
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor1"
VendorName "Unknown"
ModelName "Apple Cinema HD"
HorizSync 74.0 - 74.6
VertRefresh 60.0
Option "DPMS"
Gamma 0.95 1.0 1.0
EndSection
Section "Device"
Identifier "Videocard0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8600M GT"
BusID "PCI:1:0:0"
Screen 0
EndSection
Section "Device"
Identifier "Videocard1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8600M GT"
BusID "PCI:1:0:0"
Screen 1
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Option "metamodes" "DFP-0: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Videocard1"
Monitor "Monitor1"
DefaultDepth 24
Option "metamodes" "DFP-1: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
EndSection