I was hoping you wouldn't ask. PMadm stands for Port Monitor Admin, and it's part of a ridiculously complicated bit of software over-engineering that is destined to make everybody an expert.
Best advice for workstations: don't touch it! It works out of the box. For servers, you'll have to read the manual. This should be in admintool in Solaris 2.3 and later. For now, here are some basic instructions from Davy Curry.
"Not guaranteed, but they worked for me."
To add a terminal to a Solaris system:
1. Do a "pmadm -l" to see what's running. The serial ports on the CPU board are probably already being monitored by "zsmon".
PMTAG PMTYPE SVCTAG FLGS ID <PMSPECIFIC> zsmon ttymon ttya u root \ /dev/term/a I - /usr/bin/login - 9600 ldterm,ttcompat ttya \ login: - tvi925 y #
2. If the port you want is not being monitored, you need to create a new port monitor with the command
sacadm -a -p PMTAG -t ttymon -c /usr/lib/saf/ttymon -v VERSION
where PMTAG is the name of the port monitor, e.g. "zsmon" or "alm1mon", and VERSION is the output of "ttyadm -V".
3. If the port you want is already being monitored, and you want to change something, you need to delete the current instance of the port monitor. To do this, use the command
pmadm -r -p PMTAG -s SVCTAG
where PMTAG and SVCTAG are as given in the output from "pmadm -l". Note that if the "I" is present in the <PMSPECIFIC> field (as it is above), you need to get rid of it.
4. Now, to create a specific instance of ttymon for a port, issue the command:
pmadm -a -p PMTAG -s SVCTAG -i root -fu -v 1 -m \ "`ttyadm -m ldterm,ttcompat -p 'PROMPT' -S YORN -T TERMTYPE \ -d DEVICE -l TTYID -s /usr/bin/login`"
Note the assorted quotes; Bourne shell (sh) and Korn (ksh) users leave off the second backslash!
In the above:
PMTAG is the port monitor name you made with "sacadm", e.g. "zsmon".
SVCTAG is the service tag, which can be the name of the port, e.g., "ttya" or "tty21".
PROMPT is the prompt you want to print, e.g. "login: ".
YORN is "y" to turn software carrier on (you want this for directly connected terminals" and "n" to leave it off (you want this for modems).
TERMTYPE is the value you want in $TERM.
DEVICE is the name of the device, e.g. "/dev/term/a" or "/dev/term/21".
TTYID is the line you want from /etc/ttydefs that sets the baud rate and stuff. I suggest you use one of the "contty" ones for directly connected terminals.
5. To disable ("turn off") a terminal, run
pmadm -d -p PMTAG -s SVCTAG
To enable ("turn on") a terminal, run
pmadm -e -p PMTAG -s SVCTAG
Ports are enabled by default when you "create" them as above.
For more details, see: Celeste's Tutorial on Solaris 2.x Modems & Terminals