Предупреждение :
Этот документ находится в разработке, и его пока не следует считать официальным.
|
Справочное руководство по ППЗУ OpenBoot PROM (OBP)
1.
Об этом документе
Этот документ предоставляет список наиболее используемых команд OBP, которые
могут быть полезны при загрузке, настройке и диагностике оборудования Sun SPARC
и его клонов.
Отметим что не все команды доступны на всех версиях PROM. На некоторых, системы
sun4c имеют другой режим ввода, а в некоторых моделях JavaStation отсутствует
очень большой функциональный кусок.
OBP не постоянен в названиях команд. Иногда для раздела слов используются
дефисы, иногда они не используются. Некоторые команды, отображающие информацию,
начинаются с или содержат точку (это правило — из языка Форт).
В этом документе использование терминов "OBP", "OpenBoot PROM" и "PROM"
взаимозаменяемо.
2.
Вход в OBP
Системы с клавиатурой Sun
На обычных системах Sun (и их корнах использующих клавиатуру Sun), нажмите
Stop+A когда система начинает загрузку для входа в OBP. Клавиша
Stop находится в лквом верхнем углу в районе дополнительного набора
клавиш с левой стороны клавиатуры. (на очень старых системах она может быть
помечена как L1).
Нажатие клавиш Stop+N во время загрузки на большинстве систем сбросит
настройки PROM в установки по умолчанию. Stop+D включит режимы проверки
на некоторых системах.
Через последовательный терминал
Для входа в OBP через серийный терминал, пошлите прерывание. В системах
minicom, нажмите ctrl+A F. В системах xc, нажмитеe ctrl+A B.
Системы с не Sun'овскими клавиатурами (стиль персональных компьютеров)
На системах с клавиатурами в стиле персональных компьютеров (таких как
JavaStations и некоторые клоны Ultra), обычно используется ctrl+break
или alt+ctrl+break.
Заметим что в системах JavaStation JK, нажатие клавиш ctrl+break
перезапустит систему, вместо загрузки PROM. Чтобы войти в OBP, нужно будет
установить на переключателе материнской платы J1300 разъёмы 7-8.
3.
Базовые команды системы
Остановка и перезапуск
Команда power-off остановит систему и выключит питание. Эта команда
иногда работает неправильно на системах Ultra5/10.
Команда reset выполнит мягкий сброс. Если включен режим тестирования.
тесты не будут перезапущены. В некоторых документах этак оманда
описывается как reset-all.
Команда boot загружает систему. Команда может быть запущена с
параметром, указывающим на устройство загрузки по умолчанию -- это может быть
полное имя диска или псевдоним устройства, такой как disk, cdrom
или net. Любой дополнительный аргумент будет передан загрузчику или
операционной системе.
PROM и информация о системе
Команда .version покажет версию OBP.
Листинг 3.1: вывод команды .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
|
Команда banner покажет заголовок системной информации.
Листинг 3.2: вывод команды 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
|
Команда .speed покажет скорость шин.
Листинг 3.3: вывод команды .speed |
{0} ok .speed
CPU Speed : 296.00 MHz
UPA Speed : 098.66 MHz
SBus Speed : 025.00 MHz
|
Информация об устройствах
Команда show-devs выведет на экран список устройств доступных в
системе.
Команда probe-scsi покажет внутренние SCSI-устройства доступные системе.
Команда probe-scsi-all покажет внутренние и наружные устройства на
каждом интерфейсе SCSI. После запуска одной из этих двух команд, вы
обязаны выполнить команду reset-all перед попыткой загрузить
операционную систему.
Листинг 3.4: вывод команды 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
|
Команда probe-ide также доступна на системах базирующихся на интерфейсе
IDE.
Листинг 3.5: вывод команды 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.
Переменные среды и псевдонимы устройств
Получение и установка переменных среды
Команда printenv используется для того чтобы получить список переменных
среды. Чтобы получить значение конкретной переменной, воспользуйтесь командой
printenv fnord.
Чтобы установить значение переменной воспользуйтесь командой setenv myvar
the new value.
Чтобы восстановить значение переменной по умолчанию, воспользуйтесь командой
set-default blah. Чтобы вернуть значения всех переменных к значению по
умолчанию воспольуйтесь командой set-defaults.
Заметим что имена булевских переменных обычно заканчиваются символом ?,
и это отличает их от переменных не булевского типа с тем же именем. Для
переменных булевского типа используются значения true и
false.
Полезные переменные среды
Некоторые полезные переменные среды:
| Переменная |
Значение |
| ttya-mode |
Устанавливает скорость передачи информации и соответствующие установки
используемые серийным терминалом. По умолчанию используется значение
9600,8,n,1,-, означающее 9600 baud, 8 битов, отсутствует контроль
четности, один стоп бит, отсутствует контроль процесса.
|
| auto-boot? |
По умолчанию OBP будет автоматически загружаться в момент загрузки.
Установив эту переменную в false можно будет подавать команды
загрузки самому.
|
| boot-device |
При автоматической загрузке, когда вы дали команду boot без
аргументов, данная переменная используется для определения загрузочного
устройства. Переменная может принимать более одного значения (значения
должны быть разделены пробелами). В этом случае, испытывается каждое
значение по очереди. Каждое значение должно быть полным путём к устройству
или псевдонимом устройства.
|
| diag-device |
как и в случае с boot-device, но
используется если включен параметр diag-switch?.
|
| local-mac-address? |
Если установлена сетевые интерфейсы будут использовать собственные, а не
системные MAC. Так себя ведут персональные компьютеры, и это поведение
расходится со стандартами Ethernet.
|
| diag-switch? |
Если установлена, будут выполнены дополнительные тестировочные проверки
при включении питания. Заметим, что это может отнимать очень много
времени на SMP системах и/или системах HyperSparc. Дополнительно заметим,
что переменная diag-device, а не переменная boot-device будет
использоваться для определения загрузочного устройства. На некоторых
системах на материнской плате или на корпусе спереди находится
переключатель который переключает эту переменную.
|
Получение и установка псевдонимов устройств
Псевдонимы устройств могут быть использованы для упрощения аргументов к многим
командам. Например, вместо того чтобы написать boot
/sbus/SUNW,hme@e,8c00000, можно воспользоваться командой boot net.
Количество псевдонимов устройств определено по умолчанию на каждой системе.
Чтобы просмотреть все псевдонимы устройств воспользуйтесь командой
devalias. Чтобы увидетьотдельный псевдоним, используйте команду
devalias whatever. Чтобы установить псевдоним устройства, воспользуйтесь
командой devalias whatever newvalue.
Изменение разрешения монитора
Переменная output-device можнт быть использована для контроля над тем
какой используется кадровый буффер, кокае разрешение используется для консоли
PROM. Например, чтобы использовать видеокарту Creator на системе Ultra 1C или 2
с разрешением в 1024x768@76Hz:
Листинг 4.1: Изменение настроек монитора |
{0} ok devalias screen /SUNW,ffb
{0} ok setenv output-device screen:r1024x768x76
|
Изменения не будут зафиксированы до тех пор пока не произойдёт сброс системы.
каждая видеокарта имеет свои поддерживаемые разрешения и частоту
регенерации.
5.
Тесты
Вход в тестировочный режим
Перед тем как запустить тестирование рекомендуется установить переменную
diag-switch? и произвести отключение питания системы. Дополнительная
тестовая информация будет предоставлена при загрузке машины на серийной
консоли.
Базовые тесты
Если тест power on self (POST) прошел успешно, дополнительные тесты могут быть
запущены используя команды test, test-all, watch-net и
watch-clock.
Команда test somedevice запустит проверку указанного устройства (это
может быть полный путь к устройству или его псевдоним).
Листинг 5.1: Примеры тестов |
{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
|
Команда test-all запустит проверку каждого устройства которое может
себя протестировать.
Команда watch-net может быть использована для наблюдения за рассылкой
пакетов по сети.
Команда watch-clock может быть использована для проверки работы
внутренних часов. Она должна просчитать от 0 до 59 в цикле с 1 секундным
интервалом.
Расширенное тестирование с использованием obdiag
Примечание:
Функция obdiag доступна только на компьютерах серии Ultra 5/10 и
выше.
|
Чтобы включить режим расширенного тестирования, запустите следующую
последовательность команд:
Листинг 5.2: Вход в программу 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
|
На дисплее появится меню. Сначала выберите 16 для включения режима
полных сообщений.
Листинг 5.3: Меню программы 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) ===>
|
Индивидуальные тесты могут затем быть запущены выбором соответствующего номера.
Заметим что некоторые тесты (например тесты серийного порта) предполагают что
установлена внешняя заглушка. Тест Ethernet предполагает что сетевой кабель
присоединён к сетевой карте и сетевому разъёму.
Чтобы выйти из программы, наберите 14.
6.
Ссылки
Текст этого документа распространяется на условиях лицензии
Creative Commons
- Attribution / Share Alike.
|