Sun OBP
Stop/L1-A bez sun klavesnice
- CONTROL-]
- CONTROL-L
- alt-b
- BREAK
- http://www.idevelopment.info/data/Unix/Solaris/SOLARIS_UsingSerialConsoles.shtml
- http://www.abclinuxu.cz/clanky/system/openboot-prompt
Rozhraní OpenBoot (OpenBoot Prompt, OBP, OK prompt) na počítačích Sun. Skládá se z Boot PROM (1MiB paměť obsahující interpreter kódu, POST, obecné ovladače zařízení, CLI, výchozí nastavení a diagnostické příkazy) a z NVRAM (baterií zálohované EEPROM, obsahuje SN, HostID, MAC, hesla, obsah proměnných nvramrc). OBP je napsán v jazyku Forth (interpretovaný jazyk), pouze nejnutnější příkazy jsou psány v assembleru. OBP používá dva zásobníky (návratové adresy a data). K přístupu z OS slouží API openrom.
Verze OBP
- 1.x ... SPARCstation 1, 1+, IPC, SLC
- 2.x ... SPARCstation 2, 5, 10, 20
- 3.x ... Ultra workstations 95, 10, 30, 60, 80), Enterprise Server (250, 450, 3x00-6x00)
- 4.x ... Sun Fire, Sun Blade
Pohyb kurzoru v OBP
- ^P ... nahoru
- ^N ... dolu
- ^F ... vlevo
- ^B ... vpravo
Příkazy OBP
- .version ... vypíše verzi OBP
- .speed ... vypíše frekvenci procesoru
- banner ... zobrazí základní informace o systému (verzi OBP, platformu, MAC, ID)
- boot, go ... start OS
- devalias ... nastavuji aliasy zařízení (do prvního vypnutí/restartu)
- nvalias ... alisay zařízení, ale uloženo v nvram (tj. platí stále)
- nvedit ... editor nvramrc (^C ukončuje editaci)
- nvquit ... ukončí editor bez uložení
- nvstore ... uloží konfiguraci do nvram
- nvunalias ... smaže nastavení z nvram, ale nesmaže aktuální nastavení aliasu
- power-off ... vypnutí počítače
- printenv ... vypíše proměnné prostředí
- probe-ide ... vypíše IDE zařízení
- probe-scsi ... vypíše SCSI zařízení
- probe-scsi-all ... vypíše SCSI zařízení 9všechna, tj. i externí)
- properties ... výpis vlastností v device tree
- reset, reset-all ... restart počítače
- see ... vypíše význam slova
- set-default ... nastaví výchozí hodnotu proměnné na danou hodnotu
- set-defaults .. nastaví všechny proměnné do výchozího nastavení
- show-devs ... vypíše device tree
- show-disks ... vypíše adresy disků, vybráním jednoho řádku se tento zkopíruje do schránky
- show-post-results ... vypíše výsledky POSTu
- sifting ... vyhledá všechna slova obsahující daný výraz
- sync ... zavolá jádro, vyprázdní cache
- test floppy ... test disketové mechaniky
- test net ... test síťového rozhraní
- test scsi ... test SCSI rozhraní
- test-all ... test všeho, co otestovat jde
- watch-clock ... vypíše hodiny
- watch-net ... vypíše stav sítě
- words ... výpis definovaných slov v prostředí OBP
Proměnné OBP
- auto-boot? ... automatický start počítače ze zařízení definovaných v boot-device
- boot-device ... seznam zařízení pro boot (cdrom disk net)
- boot-file ... soubor s jídrem
- diag-device ... seznam zařízení pro boot v diagnostickém režimu
TN105 - Sun OpenBoot Prom 105.1 General 105.2 Getting to the boot monitor 105.3 Restore default NVRAM settings 105.4 Set boot device 105.5 Other good open boot commands to know 105.6 ttya console with framebuffer and keyboard attached 105.7 Show SCSI devices 105.8 Show fiber channel devices 105.9 Booting 105.10 LOMlite 105.11 Keyboard interrupt sequence (RS-232 BREAK Signal)
105.1 General
Sun computers use a boot monitor program called "OpenBoot". From the boot monitor we can perform certain hardware tests, issue boot instructions, and set many parameters stored in nonvolatile RAM on the CPU board. Some of these setting must be adjusted for particular situations.
Full documentation is available at:
http://docs.sun.com:80/ab2/coll.216.2/@Ab2CollView
105.2 Getting to the boot monitor
The best way is to cause an orderly system shutdown with one of these commands, shown in order of preference:
shutdown -yi 0 init 0 halt
If this is not possible then it can be forced by:
From the tty console send a RS-232 BREAK signal. (serial consoles default to 9600,8,N,1)
From a Sun Framebuffer/keyboard press the STOP key and the 'a' key at the same time.
In general this method is BAD and has the same risks to the file system as just turning off the power.
If you accidently sends a break or STOP-a, you can safely return to the running OS state with this command:
ok> go
If you issue ANY other commands first then go may not work.
105.3 Restore default NVRAM settings
ok> set-defaults
105.4 Set boot device
ok> setenv boot-device disk
Other options include:
disk0 main SCSI controller target 0 disk1 main SCSI controller target 1 disk2 main SCSI controller target 2 disk3 main SCSI controller target 3 disk is same as disk3
[if disk is not main SCSI controller ]
ok> nvalias disk /sbus@1,f8000000/dma@3,81000/esp@3,80000/sd@3,0
System may take 30 seconds during POST to show any response. Setting diag-switch? true will cause the POST to print details and system will show a response immediately but POST may take 2 minutes.
With diag-switch? true the boot device is set by diag-device
105.5 Other good open boot commands to know
reset - reset system (like power cycle) devalias - Display all device aliases devalias <name> <value> - Create or change a device alias show-devs - Display the names of all devices show-disks diag-switch? true - extended POST diags nvunalias <alias> - This will unset an alias - you must then reset for it to take affect. setenv diag-switch? true - turn on diagnostic messages (will boot from diag boot device also.)
105.6 ttya console with framebuffer and keyboard attached
ok> setenv output-device ttya ok> setenv input-device ttya
105.7 Show SCSI devices
ok> probe-scsi ok> probe-scsi-all
it may be necessary to set auto-boot?=false and then reset before probe-scsi will work Syntax: setenv auto-boot? false
105.8 Show fiber channel devices
ok> probe-fcal-all
it may be necessary to set auto-boot?=false and then reset before probe-scsi will work Syntax: setenv auto-boot? false
ok> show-disks a) /sbus@3,0/SUNW,fas@3,8800000/sd b) /sbus@2,0/SUNW,soc@d,10000/SUNW,pln@b0000000,87300d/SUNW,ssd c) /sbus@2,0/SUNW,soc@d,10000/SUNW,pln@a0000000,8a1abd/SUNW,ssd q) NO SELECTION Enter Selection, q to quit: c
ok> nvalias ra001 ^Y@3,0:a
105.9 Booting
ok> boot # Normal boot
ok> boot -v # Normal boot, verbose output
ok> boot -s # boot single user
ok> boot -r # boot and reconfigured devices # necessary when new devices are added
ok> boot -a # ask for configuration info # if /etc/system file was damaged try: # /etc/system.orig or /dev/null
105.10 LOMlite
Some systems support Lights Out Management. LOMlite is a monitor program available on the system console when the system is powered off and provides event monitoring the running OS.
LOMlite is documented in the "LOMlite User's Guide" 806-2038-10 and in the Netra t1 User and Administration Guide.
Summary of common LOM commands
#. To get to LOM from when the console is used by the boot monitor or the OS
console To get return the console to it original state.
environment Display status of system
faulton Turn fault light on
faultoff Turn fault light off
reset Reset system
poweron Turn power on
poweroff Turn power off
show Show all available info
From Solaris LOM can be configured using lomctl. There is a configuration file /etc/lom.conf.
By default systems with LOM run a watch dog process: tsdog started by /etc/init.d/tsaldog. /etc/init.d/lomlited starts daemon that reports any state changes to syslogd.
See also lomctl(1M), lominfo(1M), lomprog(1M), lom(7d), tsdog(1M), tsctl(1M), tsstate(1M), and tsunlock(1M) man pages.
The LOM software for Solaris is not included in the standard distribution. To reinstall order CD: X6972A.
105.11 Keyboard interrupt sequence (RS-232 BREAK Signal)
By default consoles attached via the serial port interrupt the system and bring up the boot monitor when an RS-232 Break is received.
A BREAK condition that originates from an erroneous electrical signal cannot be distinguished from one deliberately sent by the attached terminal or terminal server. The Cisco 2511 terminal for example typically sends a BREAK when it is power cycled, causing the attached Sun's to stop and go the boot monitor prompt. It may also be caused by unplugging or plugging in a serial cable. While the Sun can be restarted by typing 'go' it may be better to prevent the problem.
Solaris 8 provides a solution. For a full explanation see the man page on kbd.
For a general discussion of the problem:
http://www.stokely.com/unix.sysadm.resources/faqs.sun.html
For Cisco's discussion of the problem:
http://www.cisco.com/warp/public/770/fn-tsbreak.html
For a list of terminal servers that do and don't have the problem:
http://www.conserver.com/consoles/breakoff.html
For a device that prevents it:
http://www.nudata.com/workstationproducts1.htm