1 <?xml version="1.0"?>
   2 <!--
   3         Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
   4         Use is subject to license terms.
   5 
   6         NOTE:  This service manifest is not editable; its contents will
   7         be overwritten by package or patch operations, including
   8         operating system upgrade.  Make customizations in a different
   9         file.
  10 -->
  11 
  12 <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
  13 
  14 <service_bundle type='manifest' name='SUNWcsr:console'>
  15 
  16 <service
  17         name='system/console-login'
  18         type='service'
  19         version='1'>
  20 
  21         <dependency
  22                 name='fs'
  23                 grouping='require_all'
  24                 restart_on='none'
  25                 type='service'>
  26                 <service_fmri value='svc:/system/filesystem/minimal' />
  27         </dependency>
  28 
  29         <dependency
  30                 name='identity'
  31                 grouping='require_all'
  32                 restart_on='none'
  33                 type='service'>
  34                 <service_fmri value='svc:/system/identity:node' />
  35         </dependency>
  36 
  37         <dependency
  38                 name='utmpx'
  39                 grouping='require_all'
  40                 restart_on='none'
  41                 type='service'>
  42                 <service_fmri value='svc:/system/utmp:default' />
  43         </dependency>
  44 
  45         <!-- Note that console-login should be dependent on any services
  46              that may need to use the console. This requirement can be met
  47              by establishing a dependency on milestone/sysconfig which,
  48              among other things, collects such dependencies.
  49         -->
  50         <dependency
  51                 name='sysconfig'
  52                 grouping='require_all'
  53                 restart_on='none'
  54                 type='service'>
  55                 <service_fmri value='svc:/milestone/sysconfig' />
  56         </dependency>
  57 
  58         <exec_method
  59                 type='method'
  60                 name='start'
  61                 exec='/lib/svc/method/console-login %i'
  62                 timeout_seconds='0'>
  63                 <method_context>
  64                         <method_credential user='root' group='root' />
  65                 </method_context>
  66         </exec_method>
  67 
  68         <exec_method
  69                 type='method'
  70                 name='stop'
  71                 exec=':kill -9'
  72                 timeout_seconds='3'>
  73                 <method_context>
  74                         <method_credential user='root' group='root' />
  75                 </method_context>
  76         </exec_method>
  77 
  78 
  79         <property_group name='startd' type='framework'>
  80                 <propval name='duration' type='astring' value='child' />
  81                 <propval name='ignore_error' type='astring'
  82                         value='core,signal' />
  83                 <propval name='utmpx_prefix' type='astring' value='co' />
  84         </property_group>
  85 
  86         <property_group name='general' type='framework'>
  87                 <propval name='action_authorization' type='astring'
  88                         value='solaris.smf.manage.vt' />
  89                 <propval name='value_authorization' type='astring'
  90                         value='solaris.smf.manage.vt' />
  91         </property_group>
  92 
  93         <!-- these are passed to ttymon in the method script.
  94              note that value_authorization is not passed to ttymon
  95              and it's for smf_security(5).
  96         -->
  97         <property_group name='ttymon' type='application'>
  98                 <propval name='value_authorization' type='astring'
  99                         value='solaris.smf.value.vt' />
 100                 <propval name='device' type='astring' value='/dev/wscons' />
 101                 <propval name='label' type='astring' value='console' />
 102                 <propval name='timeout' type='count' value='0' />
 103                 <propval name='nohangup' type='boolean' value='true' />
 104                 <propval name='modules' type='astring'
 105                     value='ldterm,ttcompat' />
 106                 <propval name='prompt' type='astring'
 107                    value='`uname -n` wscons login:' />
 108                 <propval name='terminal_type' type='astring'
 109                      value='' />
 110         </property_group>
 111 
 112 
 113 <instance name='default' enabled='true'>
 114 </instance>
 115 
 116 <instance name='ttya' enabled='true'>
 117 
 118             <dependency
 119                     name='system-console'
 120                     grouping='require_all'
 121                     restart_on='none'
 122                     type='service'>
 123                     <service_fmri value='svc:/system/console-login:default' />
 124             </dependency>
 125 
 126         <!-- these are passed to ttymon in the method script -->
 127         <property_group name='ttymon' type='application'>
 128                 <propval name='value_authorization' type='astring'
 129                         value='solaris.smf.value.vt' />
 130                 <propval name='device' type='astring' value='/dev/term/a' />
 131                 <propval name='label' type='astring' value='115200' />
 132                 <propval name='timeout' type='count' value='0' />
 133                 <propval name='nohangup' type='boolean' value='true' />
 134                 <propval name='modules' type='astring'
 135                         value='ldterm,ttcompat' />
 136                 <propval name='prompt' type='astring'
 137                         value='`uname -n` ttya login:' />
 138                 <propval name='terminal_type' type='astring'
 139                         value='' />
 140         </property_group>
 141 </instance>
 142 
 143 <instance name='ttyb' enabled='true'>
 144 
 145             <dependency
 146                     name='system-console'
 147                     grouping='require_all'
 148                     restart_on='none'
 149                     type='service'>
 150                     <service_fmri value='svc:/system/console-login:default' />
 151             </dependency>
 152 
 153         <!-- these are passed to ttymon in the method script -->
 154         <property_group name='ttymon' type='application'>
 155                 <propval name='value_authorization' type='astring'
 156                         value='solaris.smf.value.vt' />
 157                 <propval name='device' type='astring' value='/dev/term/b' />
 158                 <propval name='label' type='astring' value='115200' />
 159                 <propval name='timeout' type='count' value='0' />
 160                 <propval name='nohangup' type='boolean' value='true' />
 161                 <propval name='modules' type='astring'
 162                         value='ldterm,ttcompat' />
 163                 <propval name='prompt' type='astring'
 164                         value='`uname -n` ttyb login:' />
 165                 <propval name='terminal_type' type='astring'
 166                         value='' />
 167         </property_group>
 168 </instance>
 169 
 170 <instance name='vt2' enabled='false'>
 171 
 172         <dependency
 173                 name='system-console'
 174                 grouping='require_all'
 175                 restart_on='none'
 176                 type='service'>
 177                 <service_fmri value='svc:/system/console-login:default' />
 178         </dependency>
 179 
 180         <dependency
 181                 name='vtdaemon'
 182                 grouping='require_all'
 183                 restart_on='none'
 184                 type='service'>
 185                 <service_fmri value='svc:/system/vtdaemon:default' />
 186         </dependency>
 187 
 188         <!-- these are passed to ttymon in the method script -->
 189         <property_group name='ttymon' type='application'>
 190                 <propval name='value_authorization' type='astring'
 191                         value='solaris.smf.value.vt' />
 192                 <propval name='device' type='astring' value='/dev/vt/2' />
 193                 <propval name='label' type='astring' value='console' />
 194                 <propval name='timeout' type='count' value='0' />
 195                 <propval name='nohangup' type='boolean' value='true' />
 196                 <propval name='modules' type='astring'
 197                         value='ldterm,ttcompat' />
 198                 <propval name='prompt' type='astring'
 199                         value='`uname -n` vt2 login:' />
 200                 <propval name='terminal_type' type='astring'
 201                         value='' />
 202         </property_group>
 203 
 204 </instance>
 205 
 206 
 207 <instance name='vt3' enabled='false'>
 208 
 209         <dependency
 210                 name='system-console'
 211                 grouping='require_all'
 212                 restart_on='none'
 213                 type='service'>
 214                 <service_fmri value='svc:/system/console-login:default' />
 215         </dependency>
 216 
 217         <dependency
 218                 name='vtdaemon'
 219                 grouping='require_all'
 220                 restart_on='none'
 221                 type='service'>
 222                 <service_fmri value='svc:/system/vtdaemon:default' />
 223         </dependency>
 224 
 225         <!-- these are passed to ttymon in the method script -->
 226         <property_group name='ttymon' type='application'>
 227                 <propval name='value_authorization' type='astring'
 228                         value='solaris.smf.value.vt' />
 229                 <propval name='device' type='astring' value='/dev/vt/3' />
 230                 <propval name='label' type='astring' value='console' />
 231                 <propval name='timeout' type='count' value='0' />
 232                 <propval name='nohangup' type='boolean' value='true' />
 233                 <propval name='modules' type='astring'
 234                         value='ldterm,ttcompat' />
 235                 <propval name='prompt' type='astring'
 236                         value='`uname -n` vt3 login:' />
 237                 <propval name='terminal_type' type='astring'
 238                         value='' />
 239         </property_group>
 240 
 241 </instance>
 242 
 243 
 244 <instance name='vt4' enabled='false'>
 245 
 246         <dependency
 247                 name='system-console'
 248                 grouping='require_all'
 249                 restart_on='none'
 250                 type='service'>
 251                 <service_fmri value='svc:/system/console-login:default' />
 252         </dependency>
 253 
 254         <dependency
 255                 name='vtdaemon'
 256                 grouping='require_all'
 257                 restart_on='none'
 258                 type='service'>
 259                 <service_fmri value='svc:/system/vtdaemon:default' />
 260         </dependency>
 261 
 262         <!-- these are passed to ttymon in the method script -->
 263         <property_group name='ttymon' type='application'>
 264                 <propval name='value_authorization' type='astring'
 265                         value='solaris.smf.value.vt' />
 266                 <propval name='device' type='astring' value='/dev/vt/4' />
 267                 <propval name='label' type='astring' value='console' />
 268                 <propval name='timeout' type='count' value='0' />
 269                 <propval name='nohangup' type='boolean' value='true' />
 270                 <propval name='modules' type='astring'
 271                         value='ldterm,ttcompat' />
 272                 <propval name='prompt' type='astring'
 273                         value='`uname -n` vt4 login:' />
 274                 <propval name='terminal_type' type='astring'
 275                         value='' />
 276         </property_group>
 277 
 278 </instance>
 279 
 280 
 281 <instance name='vt5' enabled='false'>
 282 
 283         <dependency
 284                 name='system-console'
 285                 grouping='require_all'
 286                 restart_on='none'
 287                 type='service'>
 288                 <service_fmri value='svc:/system/console-login:default' />
 289         </dependency>
 290 
 291         <dependency
 292                 name='vtdaemon'
 293                 grouping='require_all'
 294                 restart_on='none'
 295                 type='service'>
 296                 <service_fmri value='svc:/system/vtdaemon:default' />
 297         </dependency>
 298 
 299         <!-- these are passed to ttymon in the method script -->
 300         <property_group name='ttymon' type='application'>
 301                 <propval name='value_authorization' type='astring'
 302                         value='solaris.smf.value.vt' />
 303                 <propval name='device' type='astring' value='/dev/vt/5' />
 304                 <propval name='label' type='astring' value='console' />
 305                 <propval name='timeout' type='count' value='0' />
 306                 <propval name='nohangup' type='boolean' value='true' />
 307                 <propval name='modules' type='astring'
 308                         value='ldterm,ttcompat' />
 309                 <propval name='prompt' type='astring'
 310                         value='`uname -n` vt5 login:' />
 311                 <propval name='terminal_type' type='astring'
 312                         value='' />
 313         </property_group>
 314 
 315 </instance>
 316 
 317 
 318 <instance name='vt6' enabled='false'>
 319 
 320         <dependency
 321                 name='system-console'
 322                 grouping='require_all'
 323                 restart_on='none'
 324                 type='service'>
 325                 <service_fmri value='svc:/system/console-login:default' />
 326         </dependency>
 327 
 328         <dependency
 329                 name='vtdaemon'
 330                 grouping='require_all'
 331                 restart_on='none'
 332                 type='service'>
 333                 <service_fmri value='svc:/system/vtdaemon:default' />
 334         </dependency>
 335 
 336         <!-- these are passed to ttymon in the method script -->
 337         <property_group name='ttymon' type='application'>
 338                 <propval name='value_authorization' type='astring'
 339                         value='solaris.smf.value.vt' />
 340                 <propval name='device' type='astring' value='/dev/vt/6' />
 341                 <propval name='label' type='astring' value='console' />
 342                 <propval name='timeout' type='count' value='0' />
 343                 <propval name='nohangup' type='boolean' value='true' />
 344                 <propval name='modules' type='astring'
 345                         value='ldterm,ttcompat' />
 346                 <propval name='prompt' type='astring'
 347                         value='`uname -n` vt6 login:' />
 348                 <propval name='terminal_type' type='astring'
 349                         value='' />
 350         </property_group>
 351 
 352 </instance>
 353 
 354 
 355         <stability value='Evolving' />
 356 
 357         <template>
 358                 <common_name>
 359                         <loctext xml:lang='C'>
 360 Console login
 361                         </loctext>
 362                 </common_name>
 363                 <documentation>
 364                         <manpage title='ttymon' section='1M'
 365                                 manpath='/usr/share/man' />
 366                 </documentation>
 367 
 368                 <pg_pattern name='ttymon' type='application' target='this'
 369                     required='false'>
 370                         <prop_pattern name='device' type='astring'
 371                             required='false'>
 372                                 <description>
 373                                         <loctext xml:lang='C'>
 374 The terminal device to be used for the console login prompt.
 375                                         </loctext>
 376                                 </description>
 377                                 <visibility value='readwrite'/>
 378                                 <cardinality min='1' max='1'/>
 379                                 <values>
 380                                         <value name='/dev/console'>
 381                                                 <description>
 382                                                         <loctext xml:lang='C'>
 383 The default console device
 384                                                         </loctext>
 385                                                 </description>
 386                                         </value>
 387                                         <value name='/dev/wscons'>
 388                                                 <description>
 389                                                         <loctext xml:lang='C'>
 390 The physical workstation console (i.e. keyboard and monitor)
 391                                                         </loctext>
 392                                                 </description>
 393                                         </value>
 394                                         <value name='/dev/term/a'>
 395                                                 <description>
 396                                                         <loctext xml:lang='C'>
 397 Serial device A
 398                                                         </loctext>
 399                                                 </description>
 400                                         </value>
 401                                         <value name='/dev/term/b'>
 402                                                 <description>
 403                                                         <loctext xml:lang='C'>
 404 Serial device B
 405                                                         </loctext>
 406                                                 </description>
 407                                         </value>
 408                                 </values>
 409                                 <choices>
 410                                         <include_values type='values'/>
 411                                 </choices>
 412                         </prop_pattern>
 413                         <prop_pattern name='label' type='astring'
 414                             required='false'>
 415                                 <common_name>
 416                                         <loctext xml:lang='C'>
 417 /etc/ttydefs entry
 418                                         </loctext>
 419                                 </common_name>
 420                                 <description>
 421                                         <loctext xml:lang='C'>
 422 The appropriate entry from /etc/ttydefs
 423                                         </loctext>
 424                                 </description>
 425                                 <visibility value='readwrite'/>
 426                                 <cardinality min='1' max='1'/>
 427                         </prop_pattern>
 428                         <prop_pattern name='timeout' type='count'
 429                             required='false'>
 430                                 <description>
 431                                         <loctext xml:lang='C'>
 432 If no user input is given within the number of seconds defined by this property after the prompt is printed, ttymon should exit.
 433                                         </loctext>
 434                                 </description>
 435                                 <units>
 436                                         <loctext xml:lang='C'>
 437 seconds
 438                                         </loctext>
 439                                 </units>
 440                                 <visibility value='readwrite'/>
 441                                 <cardinality min='1' max='1'/>
 442                         </prop_pattern>
 443                         <prop_pattern name='nohangup' type='boolean'
 444                             required='false'>
 445                                 <description>
 446                                         <loctext xml:lang='C'>
 447 Do not force a hangup on the line by setting the speed to zero before setting the speed to the default or specified speed.
 448                                         </loctext>
 449                                 </description>
 450                                 <visibility value='readwrite'/>
 451                                 <cardinality min='1' max='1'/>
 452                         </prop_pattern>
 453                         <prop_pattern name='modules' type='astring'
 454                             required='false'>
 455                                 <common_name>
 456                                         <loctext xml:lang='C'>
 457 STREAMS modules
 458                                         </loctext>
 459                                 </common_name>
 460                                 <description>
 461                                         <loctext xml:lang='C'>
 462 STREAMS modules to be pushed on the terminal
 463                                         </loctext>
 464                                 </description>
 465                                 <visibility value='readwrite'/>
 466                                 <internal_separators>,</internal_separators>
 467                         </prop_pattern>
 468                         <prop_pattern name='prompt' type='astring'
 469                             required='false'>
 470                                 <description>
 471                                         <loctext xml:lang='C'>
 472 Prompt to be printed on console
 473                                         </loctext>
 474                                 </description>
 475                                 <visibility value='readwrite'/>
 476                                 <cardinality min='1' max='1'/>
 477                         </prop_pattern>
 478                         <prop_pattern name='terminal_type' type='astring'
 479                             required='false'>
 480                                 <description>
 481                                         <loctext xml:lang='C'>
 482 Sets the initial value of the TERM environment variable
 483                                         </loctext>
 484                                 </description>
 485                                 <visibility value='readwrite'/>
 486                                 <cardinality min='1' max='1'/>
 487                         </prop_pattern>
 488                 </pg_pattern>
 489 
 490         </template>
 491 </service>
 492 
 493 </service_bundle>