A random collection of posts

OpenSolaris 2009.06 and Nv_sata: Instant Reboot


The problem

If you try to install OpenSolaris 2009.06 on a computer with an nVidia MCP55 SATA controller you will likely encounter kernel crashes while booting the live CD.


The last thing seen when you boot the live CD with the -kv kernel parameter is stacktrace like the following

ffffff000f2cb850 unix:die+cc ()
ffffff000f2cb960 unix:trap+1753 ()
ffffff000f2cb970 unix:_cmntrap+e9 ()
ffffff000f2cbab0 nv_sata:nv_copy_registers+52 ()
ffffff000f2cbb00 nv_sata:nv_intr_dma+de ()
ffffff000f2cbb50 nv_sata:mcp55_packet_complete_intr+148 ()
ffffff000f2cbba0 nv_sata:mcp55_intr_port+6c ()
ffffff000f2cbbd0 nv_sata:mcp55_intr+22 ()
ffffff000f2cbc20 unix:av_dispatch_autovect+75 ()
ffffff000f2cbc60 unix:dispatch_hardint+35 ()
ffffff000f83a760 unix:switch_sp_and_call+13 ()

(Partial) solution

For the curious, there are already bugs filed[1, 2] in bugster. From the descriptions I deducted the following procedure to boot the live cd.

Remove you disk from controller #0 and plug it into controller #1 (or #2). Boot with the -kv kernel parameter. On my system this allowed me to boot the live CD.

In [3] J├╝rgen Keil provides a slightly different approach, although that did not work for me:

1. Add kernel boot options -kdv
and boot
2. In kmdb, use these two commands:
kmem_flags/W f

From what I understood from Suns documentation this (kmem_flags/W f) enables memory debugging.

When I boot my installation with these parameters I get a constant stream of

WARNING: /pci@0,0/pci1462,7250@5:
SATA device detached at port 0

Obviously this did not cut it.

Next try

I re-attached my SATA boot disk to controller #0 and disabled IDE in the BIOS. After that I could reboot my system (once ..) with the -kdv option.
The second and all subsequent reboots lead to the “SATA device detached” stream but maybe this is something else. Some posts also hint that this problem might be caused by interupt sharing.

To recapture:

  1. Remove all SATA devices from controller #0
  2. Boot from CD and install OpenSolaris
  3. Shutdown and
    1. re-attach your boot disk to controller #0
    2. disable the IDE controller in your systems BIOS
  4. Boot with -kdv


When leave my disk attached to controller #1 the “drive detached” errors disappeared.

[1] nv_sata: NULL pointer panic at resume from test suspend to ram
[2] Bug 9283 – Solaris Installation panics immediality after Configuring /dev in nv_sata / in bugster
[3] Bug 11870 – OpenSolaris LiveCDs 0906 and 1002