Omówienie OpenBoot PROM (OBP)
1.
O dokumencie
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.
2.
Wchodzenie do OBP
Systemy z klawiaturą Sun
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.
Poprzez konsolę szeregową
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.
PROM i informacja systemowa
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
|
Informacja o urządzaniach
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.
5.
Diagnostyka
Wejście w tryb diagnostyczny
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.
Podstawowe testy
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.
6.
Odnośniki
Materiał udostępniany na podstawie licencji Creative Commons -
Attribution / Share Alike.
|