Эльбрус/пнс: различия между версиями

Материал из ALT Linux Wiki
м (→‎Проблемы: +COM-COM)
м (→‎Проведение: по мотивам свежей перешивки .466)
 
(не показано 38 промежуточных версий этого же участника)
Строка 1: Строка 1:
= Программа начального старта =
= Программа начального старта =


ПНС, также "бут" (boot) -- аналог BIOS в обычных ПК: прошивка, входящая в комплект материнской платы и обеспечивающая базовую самодиагностику вычислительного комплекса с последующей загрузкой операционной системы.
[[Эльбрус/словарик|ПНС]], также "бут" (boot) -- аналог BIOS в обычных ПК: прошивка, входящая в комплект материнской платы и обеспечивающая начальную настройку/самодиагностику вычислительного комплекса с последующей [[эльбрус/загрузчик|загрузкой]] операционной системы.
 
Отличается не полноэкранным, а командно-строчным методом организации взаимодействия.
 
Конфигурируется посредством своего интерактивного режима после нажатия пробела на соответствующем приглашении, а в части [[эльбрус/загрузчик|загрузчика]] -- также {{path|/boot/boot.conf}} на указанном загрузочном устройстве/разделе.
 
__TOC__


== Задачи ==
== Задачи ==


Помимо своей основной задачи ПНС решает и ряд вспомогательных, предоставляя интерактивный режим для выбора [[эльбрус/загрузчик|загрузочного носителя]] и позволяя сконфигурировать аппаратное обеспечение (например, отключить инициализацию отсутствующих жёстких дисков или неподключенных сетевых интерфейсов для ускорения загрузки).
Помимо своей основной задачи ПНС решает и ряд вспомогательных, предоставляя интерактивный режим для выбора [[эльбрус/загрузчик|загрузочного носителя]] и позволяя сконфигурировать аппаратное обеспечение (например, отключить инициализацию отсутствующих жёстких дисков или неподключенных сетевых интерфейсов для ускорения загрузки).
=== Нижняя консоль ===
Интерактивный режим, вызываемый по нажатию пробела при соответствующей подсказке после инициализации оборудования и перед загрузкой ядра ОС; включает:
* основное меню
* [[эльбрус/загрузчик|boot#]]-меню
* расширенное меню
Для работы ''нижней консоли'' требуется ''уже'' запущенная память, что приводит к необходимости сброса настроек всего бута по зажатой <tt>Esc</tt> в случае выбора несовместимых настроек.
=== Верхняя консоль ===
В бутах для v6-систем ([[Эльбрус-16C|e16c]]/[[Эльбрус-12C|e12c]]/[[Эльбрус-2C3|e2c3]]) добавлена интерактивная часть, работающая до инициализации ОЗУ -- т.н. ''верхняя консоль'', вызываемая по зажатой <tt>X</tt> на [[эльбрус/com|COM]]-порту при старте машины<ref>Наиболее вероятно ''читать'' ПНС будет с COM1/ttyS0; например, на 1Э16С-uATX разъём X31 отображается в COM2/ttyS1 и в ряде прошивок ''вывод'' на него есть, а ''ввод'' в верхней консоли не воспринимается (исправлено в мае 2023)</ref>.
Среди прочего позволяет настроить:
* [[эльбрус/hcl/память#Настройка_режима_на_v6|режим работы памяти]]
* [[эльбрус/hcl/gpu#Общие_критерии|прогрев VGA BIOS]] дискретной видеокарты
==== режим ОЗУ ====
Пример для Micron MTA18ASF2G72PZ-3G2R1 на 1Э16С-uATX:
<pre>
Cmd  Accepted
...
b  Calc CPU MC Freq (PLL MC)
...
Hit any Menu-key:b
E.g:  350000000-1350, 400000000-1600, 450000000-1800, 525000000-2100, 600000000-2400
      650000000-2600, 675000000-2700, 700000000-2800, 725000000-2900, 750000000-3000, 800000000-3200
Hit Enter to DFLT MC Freq 337500000  or 0 to finish or  type Freq in Hz :  8000000003 Max
  ----------------------------------------------------------------------
  #    NF                      NR      OD      Fvco            error
  ----------------------------------------------------------------------
1 .    0x3000000000    1      3      2.400000e+09    +0000.000000
  ----------------------------------------------------------------------
Calc tunes: clkf 0x3000000000 , clkr 0 , clkod 2
Press Enter for Dflt CPUs Mask 0xF  | type 0 to finish |  type hex CPUs mask:  0x20 Max
Press Enter for Dflt MCs Mask 0xFF  | type 0 to finish |  type hex MCs mask:  0x0ff
You are about to set MC Freq 800000000 Hz  for  CPU0 ,1 ,2 ,3  MC0 ,1 ,2 ,3 ,4 ,5 ,6 ,7
Save Tune ? (y or n)y
Saved in CMOS Will applied after PwrReset
Other Tune ? (y or n)n
Exit ? (y or n)y
</pre>
В ответ на подсказку "0x0" был произведён ввод значения "ff", далее трижды "y".  <u>Внимание</u>: для учёта сделанных настроек следует выполнить аппаратный reset по кнопке!
==== прогрев VGA BIOS ====
Пример для 1Э16С-uATX:
<tt>
2  y/n  X86EMU_VIDEO_INIT En
[...]
Hit any Menu-key:2
Current x86emu_video_init_enable Flag = 0
Invert ? (y or n)y
Exit ? (y or n)_
</tt>
Ввод -- после выбора в меню [[#Верхняя_консоль|верхней консоли]] пункта "2" дважды "y".
== Советы ==
<div id="version"></div>
=== Определение версии ===
В самой ПНС (расширенный режим по "~"):
get version boot
В загруженной Linux-системе:
cat /proc/bootdata
<div id="daboot"></div>
=== Отключение сетевой загрузки ===
Для ускорения процесса инициализации можно выключить ethernet-интерфейсы в ПНС (ядро Linux их поднимет самостоятельно)<ref>работает автодополнение по кнопке <Tab>, достаточно набирать первые буквы слов команды</ref>:
~
set eth controller disable
<Esc>
b
<Enter>
<div id="video"></div>
=== Переключение видеовывода по умолчанию ===
См. в расширенном командном режиме ПНС (<tt>~</tt>) вывод:
get video output
set video output
Например, для случая 1Э8СВ с набортным Aspeed VGA и дискретным Radeon для переключения на последний рекомендовали<ref> mcst#5977</ref>:
set video output 0
В более старых бутах (до <tt>video</tt>) был параметр <tt>vga</tt>.
На случай потери доступа к интерфейсу ПНС с локальной консоли держите под руками COM-кабель.
См. тж. [[#прогрев_VGA_BIOS|прогрев VGA BIOS]] выше.
<div id="noboard"></div>
=== Отключение встроенной видеокарты ===
{{note|Может потребоваться в т.ч. для работы lintel, т.к. отображение x86bios работает только через внешнюю видеокарту; ср.: mcst#7849}}
Для отключения встроенной видеокарты необходимо в расширенной командной строке набрать команду <tt>set cpu_pci 0 0</tt>; рекомендуется предварительно выполнить команду <tt>get cpu_pci 0</tt> и запомнить ее выдачу, чтобы потому можно было восстановить настройку командой <tt>set cpu_pci 0 <old_value></tt>


== Проблемы ==
== Проблемы ==
Строка 14: Строка 125:
=== COM-COM ===
=== COM-COM ===


Загрузка двух связанных последовательным кабелем ВК "Эльбрус" может пойти кувырком, если при одновременном включении прошивки "уговорят" друг друга сменить настройки загрузчика (#2436); рекомендуется применять асимметричные кабели USB-COM<ref>предпочтительны чипы PL2303 или аналогичные, для CH341 может не оказаться модуля в используемом ядре</ref>.
Загрузка двух связанных последовательным кабелем ВК "Эльбрус" может пойти кувырком, если при одновременном включении прошивки "уговорят" друг друга сменить настройки загрузчика (#2436); рекомендуется применять асимметричные кабели [[эльбрус/com#USB-COM|USB-COM]].


=== 8С ===
=== 8С ===


По неизвестной мне причине все встреченные буты для 801-РС/804 не работают с USB-устройствами через USB-хаб, хотя и фирмварь для предыдущего поколения (), и "соседние" 101-РС с этим прекрасно справляются.
Ранние версии прошивки для 801-РС/804 не работают с USB-клавиатурами через USB-хаб, при этом /1С+ с этим справляются; в недавней версии исправлено, запрашивайте в МЦСТ (#4770). Там же в наличии поддержка символических ссылок (#2231).
<div id="update"></div>


Также неизвестно, перенесена ли поддержка символических ссылок в эту версию (#2231).
Если получили подобный вывод при попытке загрузки с флэшки -- попробуйте флэшку другой модели (выделенного курсивом быть не должно):
Use this Unit as Drive #10''Error request''


== Обновление ==
== Обновление ==


Прошивка запрашивается в техподдержке МЦСТ с указанием типа и серийного номера ВК; само обновление можно произвести из-под загруженной ОС при установленном пакете {{pkg|flashrom}}<ref>обратите внимание: собран с патчем МЦСТ</ref> (#2966):
=== Причины ===
{{note|обновление программы начального старта может потребоваться перед обновлением ядра до 4.9, 4.19 или 5.4, если ВК используется с заводской прошивкой.}}


  flashboot.sh e8c.bin
Также обновление может добавить ранее отсутствовавшую функциональность -- например, вышеупомянутую поддержку USB-хабов или загрузку ОС через [[эльбрус/hcl/pci|USB3-карту]].
 
=== Проведение ===
Крайне желательно обеспечить бесперебойное питание и/или достижимость программатора на всякий нештатный случай.
 
Прошивка запрашивается в техподдержке МЦСТ с указанием типа и серийного номера ВК; само обновление можно произвести из-под загруженной ОС при установленном пакете {{pkg|flashrom}}<ref>обратите внимание: {{pkg|flashrom}} собран с патчем МЦСТ</ref> (#2966):
 
flashboot.sh boot.bin devtree.dtb
 
либо если предоставлен также файл devicetree:
 
  flashboot.sh boot.bin devtree.dtb


В процессе будет сделана резервная копия имеющейся прошивки, путь к ней будет указан в начале процесса прошивки (можно заархивировать на всякий).
В процессе будет сделана резервная копия имеющейся прошивки, путь к ней будет указан в начале процесса прошивки (можно заархивировать на всякий).


После произведения обновления можно перезагрузить машину в удобное время, чтобы убедиться в отсутствии необходимости вмешательства в процесс загрузки.
{{attention|Убедитесь в наличии '''<tt>VERIFIED</tt>''' в выводе скрипта!  Если не увидите -- попробуйте запустить его повторно; при двух неудачах подряд обращайтесь в техническую поддержку МЦСТ, '''не выключая''' и не перезагружая машину!}}
 
После произведения обновления, который должен занять несколько минут, стоит перезагрузить машину в удобное время, чтобы убедиться в отсутствии необходимости вмешательства в процесс загрузки.
 
Для некоторых систем, особенно v5/v6, может потребоваться добавление dtb (запрашивайте образ совмещённых прошивки и devicetree для конкретной платы в поддержке, указав модель и серийный номер); свежие буты умеют подшивать devicetree прямо из основного меню<ref><tt>'U' - Upload file from Flash to Disk:</tt>, далее <tt>2 - rDEV3 (DevTree)</tt>, указать номер диска (флэшки), раздела (обычно 0) и путь к файлу .dtb</ref><ref>можно попробовать поместить файл в '/boot/devtree.dtb'; загрузчик возмёт его оттуда. (mcst#8349)</ref>; контроль наличия/версии:
head /sys/firmware/devicetree/base/{model,version}
 
Если в процессе прошивки получите сообщение <tt>Use Kombinator to generate flash dump</tt> -- следует затереть прошивку предложенной тем же скриптом командой с <tt>--erase</tt> вместо <tt>-w <dumpfile></tt> и записать заново; в случае 1Э16С-uATX (.466):
 
flashrom -c S25FL512S -p linux_spi:dev=/dev/spidev0.0,spispeed=12500 --erase
flashboot.sh E16C_T23_MCST.bin tvgi.00424-01_99_01.devtree.e16c_1e16s-uatx.dtb
 
<div id="reset"></div>


=== Сброс настроек ===
=== Сброс настроек ===


При перепрошивке через ОС могут наложиться настройки от предыдущей версии.
При перепрошивке через ОС могут наложиться настройки от предыдущей версии.
На машине, где открыт терминал, "читающий" СОМ-порт перешитого ВК, зажмите ESC при
На машине, где открыт терминал, "читающий" СОМ-порт перешитого [[эльбрус/словарик|ВК]], зажмите ESC при включении/перезапуске ВК и наберите "yes, I want", когда бут попросит. (#3985)
включении/перезапуске ВК и наберите "yes, I want", когда бут попросит. (#3985)
 
Для настройки режима работы памяти на [[эльбрус/архитектура|v6]]-системах обратите внимание на ''[[эльбрус/hcl/память#Настройка_режима_на_v6|верхнюю консоль]]''.


= Ссылки =
= Ссылки =
* [[Эльбрус/загрузчик]]
* [[Эльбрус/загрузчик]]
* [[Эльбрус/com]]
* [http://www.mcst.ru/boot Программа начального старта (ТВГИ.00727)]
** [http://www.mcst.ru/files/600069/a5dece/617f5a/38ab64/00727-09_34_01izm3.pdf Руководство оператора (ТВГИ.00727-09 34 01)]
* Документация ВК "Эльбрус": ТВГИ.00315-03 34 01 изм. 30, п. 3.2.
* Документация ВК "Эльбрус": ТВГИ.00315-03 34 01 изм. 30, п. 3.2.
* [http://youtube.com/watch?v=bDJjY2Xhfg8 "И всё таки она живая!" | Создаем загрузочную USB-флешку с Альт Линукс для Эльбруса]
* [http://t.me/imaxairu/1622 Как сбросить пароль] (<tt>init=/bin/bash</tt>)


= Примечания =
= Примечания =
<references/>
<references/>


[[Категория:E2K]]
{{Category navigation|title=E2K|category=E2K|sortkey=*}}

Текущая версия от 13:45, 17 апреля 2024

Программа начального старта

ПНС, также "бут" (boot) -- аналог BIOS в обычных ПК: прошивка, входящая в комплект материнской платы и обеспечивающая начальную настройку/самодиагностику вычислительного комплекса с последующей загрузкой операционной системы.

Отличается не полноэкранным, а командно-строчным методом организации взаимодействия.

Конфигурируется посредством своего интерактивного режима после нажатия пробела на соответствующем приглашении, а в части загрузчика -- также /boot/boot.conf на указанном загрузочном устройстве/разделе.

Задачи

Помимо своей основной задачи ПНС решает и ряд вспомогательных, предоставляя интерактивный режим для выбора загрузочного носителя и позволяя сконфигурировать аппаратное обеспечение (например, отключить инициализацию отсутствующих жёстких дисков или неподключенных сетевых интерфейсов для ускорения загрузки).

Нижняя консоль

Интерактивный режим, вызываемый по нажатию пробела при соответствующей подсказке после инициализации оборудования и перед загрузкой ядра ОС; включает:

  • основное меню
  • boot#-меню
  • расширенное меню

Для работы нижней консоли требуется уже запущенная память, что приводит к необходимости сброса настроек всего бута по зажатой Esc в случае выбора несовместимых настроек.

Верхняя консоль

В бутах для v6-систем (e16c/e12c/e2c3) добавлена интерактивная часть, работающая до инициализации ОЗУ -- т.н. верхняя консоль, вызываемая по зажатой X на COM-порту при старте машины[1].

Среди прочего позволяет настроить:

режим ОЗУ

Пример для Micron MTA18ASF2G72PZ-3G2R1 на 1Э16С-uATX:

 Cmd  Accepted
...
 b  Calc CPU MC Freq (PLL MC)
...
Hit any Menu-key:b
 E.g:  350000000-1350, 400000000-1600, 450000000-1800, 525000000-2100, 600000000-2400
       650000000-2600, 675000000-2700, 700000000-2800, 725000000-2900, 750000000-3000, 800000000-3200
 Hit Enter to DFLT MC Freq 337500000  or 0 to finish or  type Freq in Hz :   8000000003 Max
  ----------------------------------------------------------------------
  #     NF                      NR      OD      Fvco             error
  ----------------------------------------------------------------------
 1 .    0x3000000000    1       3       2.400000e+09    +0000.000000
  ----------------------------------------------------------------------
 Calc tunes: clkf 0x3000000000 , clkr 0 , clkod 2
 Press Enter for Dflt CPUs Mask 0xF  | type 0 to finish |  type hex CPUs mask:  0x20 Max
 Press Enter for Dflt MCs Mask 0xFF  | type 0 to finish |  type hex MCs mask:  0x0ff
 You are about to set MC Freq 800000000 Hz  for  CPU0 ,1 ,2 ,3   MC0 ,1 ,2 ,3 ,4 ,5 ,6 ,7

 Save Tune ? (y or n)y
 Saved in CMOS Will applied after PwrReset

 Other Tune ? (y or n)n

 Exit ? (y or n)y

В ответ на подсказку "0x0" был произведён ввод значения "ff", далее трижды "y". Внимание: для учёта сделанных настроек следует выполнить аппаратный reset по кнопке!

прогрев VGA BIOS

Пример для 1Э16С-uATX:

2  y/n  X86EMU_VIDEO_INIT En

[...] Hit any Menu-key:2

Current x86emu_video_init_enable Flag = 0
Invert ? (y or n)y
Exit ? (y or n)_

Ввод -- после выбора в меню верхней консоли пункта "2" дважды "y".

Советы

Определение версии

В самой ПНС (расширенный режим по "~"):

get version boot

В загруженной Linux-системе:

cat /proc/bootdata

Отключение сетевой загрузки

Для ускорения процесса инициализации можно выключить ethernet-интерфейсы в ПНС (ядро Linux их поднимет самостоятельно)[2]:

~
set eth controller disable
<Esc>
b
<Enter>

Переключение видеовывода по умолчанию

См. в расширенном командном режиме ПНС (~) вывод:

get video output
set video output

Например, для случая 1Э8СВ с набортным Aspeed VGA и дискретным Radeon для переключения на последний рекомендовали[3]:

set video output 0

В более старых бутах (до video) был параметр vga.

На случай потери доступа к интерфейсу ПНС с локальной консоли держите под руками COM-кабель.

См. тж. прогрев VGA BIOS выше.

Отключение встроенной видеокарты

Примечание: Может потребоваться в т.ч. для работы lintel, т.к. отображение x86bios работает только через внешнюю видеокарту; ср.: mcst#7849


Для отключения встроенной видеокарты необходимо в расширенной командной строке набрать команду set cpu_pci 0 0; рекомендуется предварительно выполнить команду get cpu_pci 0 и запомнить ее выдачу, чтобы потому можно было восстановить настройку командой set cpu_pci 0 <old_value>

Проблемы

GUI

Внимание! Не пытайтесь включить GUI в консоли -- не работает, а отключить без COM-кабеля не сможете. (#3344)

COM-COM

Загрузка двух связанных последовательным кабелем ВК "Эльбрус" может пойти кувырком, если при одновременном включении прошивки "уговорят" друг друга сменить настройки загрузчика (#2436); рекомендуется применять асимметричные кабели USB-COM.

Ранние версии прошивки для 801-РС/804 не работают с USB-клавиатурами через USB-хаб, при этом 4С/1С+ с этим справляются; в недавней версии исправлено, запрашивайте в МЦСТ (#4770). Там же в наличии поддержка символических ссылок (#2231).

Если получили подобный вывод при попытке загрузки с флэшки -- попробуйте флэшку другой модели (выделенного курсивом быть не должно):

Use this Unit as Drive #10Error request

Обновление

Причины

Примечание: обновление программы начального старта может потребоваться перед обновлением ядра до 4.9, 4.19 или 5.4, если ВК используется с заводской прошивкой.


Также обновление может добавить ранее отсутствовавшую функциональность -- например, вышеупомянутую поддержку USB-хабов или загрузку ОС через USB3-карту.

Проведение

Крайне желательно обеспечить бесперебойное питание и/или достижимость программатора на всякий нештатный случай.

Прошивка запрашивается в техподдержке МЦСТ с указанием типа и серийного номера ВК; само обновление можно произвести из-под загруженной ОС при установленном пакете flashrom[4] (#2966):

flashboot.sh boot.bin devtree.dtb

либо если предоставлен также файл devicetree:

flashboot.sh boot.bin devtree.dtb

В процессе будет сделана резервная копия имеющейся прошивки, путь к ней будет указан в начале процесса прошивки (можно заархивировать на всякий).

Внимание! Убедитесь в наличии VERIFIED в выводе скрипта! Если не увидите -- попробуйте запустить его повторно; при двух неудачах подряд обращайтесь в техническую поддержку МЦСТ, не выключая и не перезагружая машину!


После произведения обновления, который должен занять несколько минут, стоит перезагрузить машину в удобное время, чтобы убедиться в отсутствии необходимости вмешательства в процесс загрузки.

Для некоторых систем, особенно v5/v6, может потребоваться добавление dtb (запрашивайте образ совмещённых прошивки и devicetree для конкретной платы в поддержке, указав модель и серийный номер); свежие буты умеют подшивать devicetree прямо из основного меню[5][6]; контроль наличия/версии:

head /sys/firmware/devicetree/base/{model,version}

Если в процессе прошивки получите сообщение Use Kombinator to generate flash dump -- следует затереть прошивку предложенной тем же скриптом командой с --erase вместо -w <dumpfile> и записать заново; в случае 1Э16С-uATX (.466):

flashrom -c S25FL512S -p linux_spi:dev=/dev/spidev0.0,spispeed=12500 --erase
flashboot.sh E16C_T23_MCST.bin tvgi.00424-01_99_01.devtree.e16c_1e16s-uatx.dtb

Сброс настроек

При перепрошивке через ОС могут наложиться настройки от предыдущей версии. На машине, где открыт терминал, "читающий" СОМ-порт перешитого ВК, зажмите ESC при включении/перезапуске ВК и наберите "yes, I want", когда бут попросит. (#3985)

Для настройки режима работы памяти на v6-системах обратите внимание на верхнюю консоль.

Ссылки

Примечания

  1. Наиболее вероятно читать ПНС будет с COM1/ttyS0; например, на 1Э16С-uATX разъём X31 отображается в COM2/ttyS1 и в ряде прошивок вывод на него есть, а ввод в верхней консоли не воспринимается (исправлено в мае 2023)
  2. работает автодополнение по кнопке <Tab>, достаточно набирать первые буквы слов команды
  3. mcst#5977
  4. обратите внимание: flashrom собран с патчем МЦСТ
  5. 'U' - Upload file from Flash to Disk:, далее 2 - rDEV3 (DevTree), указать номер диска (флэшки), раздела (обычно 0) и путь к файлу .dtb
  6. можно попробовать поместить файл в '/boot/devtree.dtb'; загрузчик возмёт его оттуда. (mcst#8349)