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='xterm' /> 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='xterm' /> 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>