The banner is displayed at a system-dependent screen location (usually either at the top of the screen or at the current cursor position). If the current output device has a device_type property whose value is display, displays a logo by executing the current output device’s draw-logo method with the following arguments:
The line# argument, at the system’s discretion, is either 0 or the line number corresponding to the current cursor position.
If oem-logo? is true, the addr argument is the address returned by oem-logo. Otherwise, it is the address of the system-dependent default logo. The width and height arguments are both 64. Note – oem-logo? is only effective for graphics-based console output devices.
In any case, display additional information as follows:
If oem-banner? is true, display the text given by the value of oem-banner.
Otherwise, display implementation-dependent information about the system (for example, the machine type, serial number, firmware revision, network address, and hardware configuration).
If executed within an NVRAMRC script, it suppresses automatic execution of the following OpenBoot start-up sequence:
probe-all, install-console, banner
See also: suppress-banner.
oem-banner ( -- text-str text-len ).
oem-banner? ( -- custom? ).
If true, banner displays custom message in oem-banner. If false, banner displays the normal system-dependent messages.
Although it is not a direct preventative or detective control, a banner can be used for these reasons:
Convey ownership.
Warn users of the acceptable use.
Indicate that access or modifications to OpenBoot variables is restricted to authorized personnel.
The banner configuration variables are:
oem-banner
oem-banner?
oem-logo
oem-logo?
The banner consists of two parts: the text field and the logo (over serial ports, only the text field is displayed). You can replace the existing text field with a custom text message using the oem-banner and oem-banner? configuration variables. The banner can be up to 68 characters. All printable characters are accepted.
The graphic logo is handled differently. The oem-logo variable is a 512-byte array, containing a total of 4096 bits arranged in a 64 x 64 array. Each bit controls one pixel. The most significant bit (MSB) of the first byte controls the upper-left corner pixel. The next bit controls the pixel to the right of it, and so on.
To restore the original power-on banner, set the oem-logo? and oem-banner? variables to false, as in these examples:
{0} ok setenv oem-logo? false {0} ok setenv oem-banner? false
Because the oem-logo array is so large, printenv displays approximately the first 8 bytes (in hexadecimal). To display the entire array, type oem-logo dump. The oem-logo array is not erased by set-defaults, since it might be difficult to restore the data. However, oem-logo? is set to false when set-defaults executes, so the custom logo is no longer displayed.
{0} ok banner SPARC T5-8, No Keyboard Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved. OpenBoot 4.37.4.build_xx, 315.5000 GB memory available, Serial #136621172. Ethernet address x:xx:xx:xx:xx:xx, Host ID: 1234ac12. {0} ok
The banner for your system will be different.
{0} ok setenv oem-banner Hello World oem-banner = Hello World {0} ok setenv oem-banner? true oem-banner? = true {0} ok banner Hello World {0} ok
This example fills the top half of the oem-logo variable with an ascending pattern.
{0} ok create logoarray d# 512 allot
{0} ok logoarray d# 256 0 do i over i + c! loop drop
{0} ok logoarray d# 256 " oem-logo" $setenv
{0} ok setenv oem-logo? true
{0} ok banner