Ten dokument to lista użytecznych poleceń OBP, które mogą być pomocne podczas uruchamiania, konfigurowania oraz wykonywania czynności diagnostycznych na komputerach typu Sun SPARC i ich klonach.
Należy zauważyć, że nie wszystkie polecenia są dostępne na wszystkich wersjach PROM. W szczególności systemy sun4c mają odmienny tryb wprowadzania danych oraz niektórym modelom JavaStation dużo brakuje z możliwości OBP.
Jednakże OBP jest niespójny jeśli chodzi o nazwy poleceń. Czasem myślniki są używane do oddzielenia wyrazów, czasem nie. Niektóre polecenia, które wyświetlają informacje zaczynają się lub zawierają kropkę (jest to konwencja FORTH).
W tym dokumencie terminy "OBP", "OpenBoot PROM" i "PROM" są używane wymiennie.
W zwykłych systemach Sun (i jego klonach, które używają klawiatury Sun) należy wcisnąć Stop+A w trakcie uruchamiania systemu, aby wejść do OBP. Przycisk Stop znajduje się w lewym górnym rogu na dodatkowym zestawie przycisków, który się znajduje po lewej stronie klawiatury (na naprawdę starych systemach może on być oznaczony jako L1).
Podczas uruchamiania systemu wciśnięcie kombinacji Stop+N na wielu systemach sprowadzi domyślne ustawienia PROM. Natomiast Stop+D na niektórych płytach włączy tryb diagnostyczny.
Aby wejść do OBP poprzez konsolę szeregową należy wysłać sygnał przerwy. W minicom uzyskamy to wciskając ctrl+A F, w xc wciskając ctrl+A B.
Systemy z klawiaturą typu innego niż Sun (typu PC)
Na systemach z klawiaturą typu PC (na przykład na niektórych systemach JavaStation oraz niektórych klonach Ultra) generalnie używana jest kombinacja ctrl+break lub alt+ctrl+break.
Zauważmy, że na JavaStation JK, ctrl+break uruchomi ponownie komputer zamiast uruchomić PROM. Aby wejść do OBP należy na płycie głównej przestawić zworkę J1300 na piny 7-8.
3. Podstawowe polecenia systemowe
Wyłączanie i uruchamianie ponownie
Polecenie power-off zatrzyma pracę komputera i odetnie zasilanie. To polecenie czasem zawodzi na systemach Ultra5/10.
Polecenie reset uruchomi komputer ponownie. Jeśli diagnostyka nie jest uruchomiona nie zostanie uruchomiona ponownie. W niektórych dokumentacjach to polecenie jest odnoszone do polecenia r\eset-all.
Polecenie boot uruchamia system. Aby zastąpić domyślne urządzenie rozruchowe należy użyć w tym poleceniu parametru, który jest pełną nazwą urządzenia lub jego aliasem (na przykład disk, cdrom lub net). Jakiekolwiek inne, dodatkowe argumenty przekazywane są do startowego programu ładującego lub do systemu operacyjnego.
Polecenie .version wyświetla wersję OBP.
Listing 3.1: Wyjście polecenia .version |
{0} ok .version
Release 3.7 Version 0 created 1997/01/09 13:06
OBP 3.7.0 1997/01/09 13:06
POST 3.2.1 1996/12/20 03:01
|
Polecenie banner wyświetla nagłówek informacji systemowej.
Listing 3.2: Wyjście polecenia banner |
{0} ok banner
Sun Ultra 2 UPA/SBus (2 X UltraSPARC-II 296MHz), No Keyboard
OpenBoot 3.7, 704 MB memory installed, Serial #9705521.
Ethernet address 8:0:20:94:18:31, Host ID: 80941831
|
Polecenie .speed wyświetla prędkość magistrali.
Listing 3.3: Wyjście polecenia .speed |
{0} ok .speed
CPU Speed : 296.00 MHz
UPA Speed : 098.66 MHz
SBus Speed : 025.00 MHz
|
Polecenie show-devs wyświetla listę urządzeń dostępnych w systemie.
Polecenie probe-scsi wyświetla wewnętrzne urządzenia SCSI dostępne w systemie. Polecenie probe-scsi-all wyświetla wewnętrzne oraz zewnętrzne urządzenia na każdym z interfejsów SCSI. Po wywołaniu któregokolwiek z tych poleceń należy wykonać reset-all przed przystąpieniem do uruchamiania systemu operacyjnego.
Listing 3.4: Wyjście polecenia probe-scsi-all |
{0} ok probe-scsi-all
This command may hang the system if a Stop-A or halt command
has been executed. Please type reset-all to reset the system
before executing this command.
Do you wish to continue? (y/n) y
/sbus@1f,0/SUNW,fas@e,8800000
Target 1
Unit 0 Disk SEAGATE ST34371W SUN4.2G74629710B00491
Copyright (c) 1997 Seagate
All rights reserved
|
Polecenie probe-ide jest także dostępne w systemach na bazie IDE.
Listing 3.5: Wyjście polecenia probe-ide |
ok probe-ide
Device 0 ( Primary Master )
ATA Model: ST320420A
Device 1 ( Primary Slave )
ATA Model: Maxtor 6E040L0
Device 2 ( Secondary Master )
Not Present
Device 3 ( Secondary Slave )
Not Present
|
4. Zmienne środowiskowe i aliasy urządzeń
Pobieranie oraz ustawianie zmiennych środowiskowych
Użyjemy printenv, aby dostać listę zmiennych środowiskowych. Aby zobaczyć wartość którejś ze zmiennych należy użyć polecenia printenv fnord.
Aby ustawić zmienną, używamy setenv zmienna wartosc.
Aby przywrócić wartość domyślną danej zmiennej wpisujemy set-default zmienna. Aby przywrócić wartość domyslną wszystkim zmiennym, używamy polecenia set-defaults.
Należy zauważyć, że zmienne logiczne zwykle kończą się znakiem ? oraz są one oddzielone od zmiennych o tej samej nazwie, które nie mają znaku zapytania na końcu. Dla zmiennych logicznych używane są wartości true oraz false.
Użyteczne zmienne środowiskowe
Niektóre użyteczne zmienne środowiskowe:
| Zmienna | Znaczenie |
| ttya-mode | Ustawia prędkość transmisji (w bodach) oraz pokrewne ustawienia używane przez konsolę szeregową. Domyślnie używana jest wartość 9600,8,n,1,-, która znaczy 9600 bodów, 8 bitów, nieparzystość, jeden bit stopu, niekontrolowanie przepływu. |
| auto-boot? | Domyślnie OBP uruchamia się przy starcie. Ustawiamy wartość na false jesli chcemy, wpisać polecenie uruchomienia OBP ręcznie. |
| boot-device | Gdy jest uaktywniony auto-boot i polecenie boot jest wykonywane bez argumentów, wtedy ta zmienna służy do określenia urządzenia rozruchowego. Więcej niż jedna wartość może być zadana (każda oddzielona spacją), z których każda będzie próbowana po kolei// in which case each is tried in turn//. Każda z wartości może być pełną nazwą lub aliasem urządzenia. |
| diag-device | To samo co boot-device, lecz używana wtedy gdy diag-switch? jest włączona. |
| local-mac-address? | Jeśli jest ustawiona, wtedy interfejsy sieciowe będą używały własnego adresu MAC niż system-wide MAC. Jest to spójne ze sposobem w jaki zachowują sie komputery PC, ale narusza to specyfikacje sieci Ethernet. |
| diag-switch? | Jeśli jest ustawiona, wtedy dodatkowe kontrole diagnostyczne zostaną przeprowadzone podczas startu systemu. Należy zauważyć, że to może zająć bardzo dużo czasu na systemach SMP i/lub HyperSparc. W dodatku zmienna diag-device jest używana do określenia urządzenia rozruchowego zamiast zmiennej boot-device. Niektóre systemy mają zworkę na płycie głównej lub przełącznik z przodu maszyny, który wymusza to ustawienie. |
Pobieranie oraz ustawianie aliasów urządzeń
Aliasy urządzeń mogą być użyte do uproszczenia argumentów wielu poleceń. Na przykład: zamiast pisać boot /sbus/SUNW,hme@e,8c00000, można napisać boot net. Ilość aliasów urządzeń jest domyślnie zdefiniowana przez każdy system.
Aby zobaczyć aliasy wszystkich urządzeń, należy użyć polecenia devalias. Aby zobaczyć szczególny alias należy użyć devalias cokolwiek. Nadajemy alias urządzeniu poprzez polecenie devalias cokolwiek wartość.
Zmiana rozdzielczości monitora
Zmienna output-device może być użyta, aby kontrolować, który bufor ramki na konsoli PROM jest używany i z jaką rozdzielczością wyświetla. Na przykład, aby użyć karty Creator na Ultra1C lub 2 przy rozdzielczości 1024x768@76Hz:
Listing 4.1: Zmiana ustawień monitora |
{0} ok devalias screen /SUNW,ffb
{0} ok setenv output-device screen:r1024x768x76
|
Zmiany nie zostaną wprowadzone dopóki komputer nie zostanie uruchomiony ponownie. Należy zauważyć, że niektóre karty graficzne nie obsługują wszystkich rozdzielczości oraz częstotliwości odświeżania monitora.
Przed uruchomieniem jakiejkolwiek diagnostyki najlepiej jest włączyć diag-switch? i wykonać pełny cykl włącz/wyłącz (poprzez twarde wyłączenie zasilania). Dodatkowe informacje diagnostyczne zostaną dostarczone przez konsolę szeregową podczas uruchamiania systemu.
Jeśli autotest zasilania (POST) zakończy się powodzeniem, wtedy dodatkowe testy mogą być wykonane przy pomocy poleceń test, test-all, watch-net i watch-clock.
Polecenie test nazwaurzadzenia wykona sprawdzenie wskazanego urządzenia (które może być określone przy pomocy pełnej ścieżki dostępu lub jego aliasu).
Listing 5.1: Przykładowe testy |
{0} ok test scsi
CE DMA fill from address fff8e000 for 80 bytes succeeded.
Dma register test -- succeeded.
Esp register test -- succeeded.
Dma read test -- succeeded.
Dma write test -- succeeded.
{0} ok test /sbus/SUNW,hme
Internal loopback test -- succeeded.
Transceiver check -- Using Onboard Transceiver - Link Up.
passed
{0} ok test ttya
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn
|
Polecenie test-all wykona sprawdzenie wszystkich urządzeń zdolnych do wykonania autotestu.
Polecenie watch-net może być użyte do monitorowania transmitowanych pakietów przesyłanych przez sieć.
Polecenie watch-clock może byc użyte do zweryfikowania czy działa wewnętrzny zegar. Polecenie to powinno odliczać od 1 do 59 w pętli z 1-sekundową przerwą.
Rozszerzona dianostyka używając obdiag
Uwaga: Programy obdiag są dostępne tylko na maszynach Ultra 5/10 lub nowszych. |
Aby włączyć tryb rozszerzonej diagnostyki należy wykonać:
Listing 5.2: Wchodzenie do obdiag |
ok setenv mfg-mode on mfg-mode = on ok setenv diag-switch? true diag-switch? = true ok setenv auto-boot? false auto-boot? = false ok reset-all ok obdiag |
To polecenie powinno wyświetlić menu. Najpierw należy wybrać 16, aby włączyć rozwlekłe komunikaty.
Listing 5.3: menu obdiag |
OBDiag Menu
0 ..... PCI/Cheerio
1 ..... EBUS DMA/TCR Registers
2 ..... Ethernet
3 ..... Keyboard
4 ..... Mouse
5 ..... Floppy
6 ..... Parallel Port
7 ..... Serial Port A
8 ..... Serial Port B
9 ..... NVRAM
10 ..... Audio
11 ..... EIDE
12 ..... Video
13 ..... All Above
14 ..... Quit
15 ..... Display this Menu
16 ..... Toggle script-debug
17 ..... Enable External Loopback Tests
18 ..... Disable External Loopback Tests
Enter (0-13 tests, 14 -Quit, 15 -Menu) ===> 16
Enter (0-13 tests, 14 -Quit, 15 -Menu) ===>
|
Pojedyncze testy mogą być wtedy uruchomione poprzez wybranie odpowiedniego numeru. Należy zauważyć, że niektóre testy (na przykład portu szeregowego) zakładając, że zewnętrzna pętla zwrotna jest dołączona. Test Ethernet zakłada, że kabel jest podpięty i podłączony do switcha.
Aby wyjść wpisujemy 14.
Materiał udostępniany na podstawie licencji Creative Commons - Attribution / Share Alike.