Gentoo Logo

Omówienie OpenBoot PROM (OBP)

Spis treści:

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



Drukuj

Zaktualizowano 27 sierpnia 2004

Podsumowanie: Odsyłacze w OpenBoot PROM (OBP) zawierają listę użytecznych poleceń OBP, które mogą pomóc podczas uruchamiania, konfigurowania oraz wykonywania czynności diagnostycznych na komputerach typu Sun SPARC i ich klonach.

Ciaran McCreesh
Autor

Mateusz Kotyrba
Tłumaczenie

Donate to support our development efforts.

Support OSL

Support OSL

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

Global Netoptex Inc.

Global Netoptex Inc.

Bytemark

Bytemark

Copyright 2001-2008 Gentoo Foundation, Inc. Questions, Comments? Contact us.