dbus may need work to run in a non-global zone
This is importing a comment on the OpenIndiana wiki.
Upgraded from build 111 to 134 and then to oi_147. This worked fine for the global zone. I did have to update my two non-global zones separately, once at build 134 and then again at build 147 by running "zoneadm -z zonename detach" and then zoneadm -z zonename attach -u" as per various archived discussions about upgrading opensolaris non-global zones. No real problems there except that I had to uninstall amp-dev and php-pgsql (not quite sure php-pgsql was really required to be removed, but I did remove it) to make the upgrade from 134 to 147 work in one of the zones. The upgrade troubleshooting script recommended above was of some help there in figuring out what to remove.
After the upgrade from 134 to 147 gdm would no longer run in my 2 non-global zones. Long ago I did have to hack it a bit to get it to work on 111, things changed some after build 134 I suppose. My new trick to fix it is to edit /lib/svc/method/svc-dbus and comment out:#cwjordan commented out so gdm will run
#if smf_is_nonglobalzone; then
- /usr/sbin/svcadm disable -t svc:/system/dbus
- echo "dbus-daemon cannot be run in non-global zones"
- sleep 5 &
- exit $SMF_EXIT_OK
This lets dbus start in the non-global zone. I suppose dbus doesn't really work in the non-global zone properly, but gdm seems to run fine. I don't know what the other consequences of making that change are.