Virtual Terminal (Console) showing non-global zone?

Hope that everyone is doing well today. Happy Friday.

I am running an illumos (opensolaris) based system which is like SmartOS, OmniOS, and OpenIndiana

I have been searching all over the Internet into various documents and forms that have to do with Solaris, Opensolaris, Illumos, and SmartOS to try and find a simple answer to this question but to no avail, so I am hoping that there might be someone in this forum that can assist me since I am sure that there has to be a way, but I just do not know how to configure it.

I have read, from Solaris sites, that it is possible to assign devices to non-global zones so this might help.

What I want to do is to start up a native zone (non-global) on boot and then find a way to attach the physical console to it.

I have the virtual terminals that can be switched to from the keyboard, but I need to have a non-global zone running directly showing up on the screen at boot time in one of those virtual terminals.

Any ideas?

Basically, I would like to have one virtual terminal (console) that shows the non-global screen (as default) and then be able to use a keyboard hot-key to switch to the standard global zone login if desired, or something like this would be perfect.

Thanks in advance.

Which version of Illumos are you talking? I guess it's the equivalent of Solaris 10 or Solaris 11?

Why are you trying to do this?

A zone can be configured to boot automatically when the global boots (set when the zone is configured). So you can stop the zone booting automatically and start it manually using zoneadm .

A connection to the zone virtual console will persist across zone reboots.

Are you trying to debug something? Looking for an error message?

When you boot a zone manually ( zoneadm ) it will return to a prompt long before the zone is actually 'ready'. You can use truss to provide more feedback if the zone crashes on boot:

 # truss -o /var/tmp/zoneadm.out -aef -vall -wall zoneadm -z <zone name> boot

You can then view the /var/tmp/zoneadm.out file to see if it tells you anything.

Reference material from Oracle:
Non-Global Zone Login Methods - Oracle Solaris Administration: Oracle Solaris Zones, Oracle Solaris 10 Zones, and Resource Management

More information please. The skillset on this forum is awesome and I'm sure somebody here will help once we know what you are trying to achieve.

Hello Hicksd8,

Thanks so much for your reply and let me give a little more information as I am a bit new to the Unix (Solaris 11 based) side of things while coming from the Linux world.

The version that I am using is actually SmartOS which is Illumos-based and I think that it is closest to Solaris 11 from the OpenSolaris branch, if my reading has been correct, but could be wrong on this.

So then, what I am thinking is this. When I boot, the result is that the system starts up and I have a physical console (wscons) that I can login to which is the Global Zone, from what I understand. From there, if I hist <Alt>+<F2>, then I get the "vt2" screen which will also allow me to login. Of course, it looks to be configured all of the way to "vt6" via <Alt>+<F6>. I have seen in the source code where this is setup so I now have a basic idea on the virtual terminals.

I am also figuring out the zone system which is similar to "jails", "sandboxes", or "chroot" in Linux and other systems so that they are basically configurable virtual machines akin to Docker containers which can also be configured as assigning physical devices to them from what I have read in the Solaris 11 world with "zonecfg".

I do not want to run many things in the global zone, so what I am attempting to figure out, if it is possible, is to have the Global Zone on, say "vt2" and have a Non-Global Zone on "wscons" since I want to have an xserver running in the non-global zone such that the xserver does not need to be added to the global zone. This way, the xserver and x11 application is in the non-global zone and comes up at boot time, and to access the global zone, I can use <Alt>+<F2>, for example and then login to it as needed.

Basically, the user interfaces via "wscons" console and admin stuff is in the global zone on "vt2", for example.

Something like this is what I was actually thinking.
Thanks

So if your Illumos behaves like Solaris and you read the Oracle documentation link I provided in my previous post, you should be able to use one of your virtual terminals, say vt2, to login to the global as normal. Then, after that,

# zlogin -C -z <zone name>

(check that Illumos syntax with man zlogin )
will connect you to the zone console. The documentation says that this connection will survive a zone reboot (but obviously not a global reboot) and the zone doesn't even have to be running to connect to its console.