Baikal-M: различия между версиями

Материал из ALT Linux Wiki
мНет описания правки
 
(не показано 27 промежуточных версий 5 участников)
Строка 1: Строка 1:
{{Stub}}
{{Stub}}
На данный момент страничка описывает экспериментальный выпуск [[Simply Linux 9]] и релиз-кандидат [[Альт Рабочая станция 9]] для системных плат на основе процессора "Байкал-М" (модель ВЕ-М1000) производства "Байкал Электроникс".
На данный момент страничка описывает выпуск [[Simply_Linux_9#9.1|Simply Linux 9.1]] для системной платы [https://edelweiss-tech.ru/product/komplektuyushchie-edelveys/platy-edelveys/plata-na-baykal-m/ TF-307] на основе процессора [https://www.baikalelectronics.ru/products/238/ BE-M1000] производства [https://www.baikalelectronics.ru/ "Байкал Электроникс"].
 
== Поддерживаемые устройства ==
 
* Системная плата [https://edelweiss-tech.ru/product/komplektuyushchie-edelveys/platy-edelveys/plata-na-baykal-m/ TF307-MB-S-D] и устройства на ее основе
* [[Baikal-M/Compatibility | Таблица совместимости устройств]], прошивок на базе [https://www.baikalelectronics.ru/products/238/ SDK различных версий] и [[Baikal-M/Distributions | выпущенных дистрибутивов]].
* [[Baikal-M/Software | Таблица совместимости программного обеспечения]].
 
== Перед началом установки ==
 
''' На плате должен быть прошит firmware из SDK-M версий 4.4. или 5.1. С более старыми версиями прошивки эту инструкцию использовать не следует.'''
Окирпичить плату вряд ли выйдет, но времени и нервов потратите много.
 
=== Определение версии прошивки ===
 
На глазок версию прошивки можно определить так.
Почти сразу после включения отображается маленький логотип Байкал Электроникс.
Затем секунд через 20 отображается большой (во весь экран) логотип Байкал Электроникс, а под ним -- номер версии прошивки.
 
* Если номер версии не отображается, то прошивка старая (SDK-M 4.3 или старее)
* Если маленький логотип не отображается, то прошивка старая (SDK-M 4.2 или старее)
* Если во время загрузки на экране ничего нет, это слишком старая прошивка
 


== Установка ==
== Установка ==


На данный момент firmware умеет загружать ОС <s>только с SATA диска</s>, через UEFI c внешних USB-накопителей и SATA дисков.
Установочный ISO доступен здесь: https://mirror.yandex.ru/altlinux/p9/images/simply/aarch64/slinux-9.1-aarch64.iso
Образы в формате '''img''' нужно записать прямо на диск. Объем диска должен
 
быть больше размера образа (около 10 GB). Установочные образы '''ISO''' могут быть прошиты на USB-накопитель или SATA-диск.
Его нужно записать на внешний USB накопитель, sd карту, либо жесткий диск.
 
* '''ВНИМАНИЕ! ВСЕ ДАННЫЕ, КОТОРЫЕ НАХОДЯТСЯ НА НОСИТЕЛЕ, БУДУТ БЕЗВОЗВРАТНО СТЕРТЫ!'''
* '''ВНИМАНИЕ! РИСК СТЕРЕТЬ НЕ ТЕ ДАННЫЕ! ТРИЖДЫ ПРОВЕРЬТЕ, ЧТО ПИШЕТЕ НА НУЖНЫЙ НОСИТЕЛЬ!'''


* '''ВНИМАНИЕ! ВСЕ ДАННЫЕ, КОТОРЫЕ НАХОДЯТСЯ НА ДИСКЕ, БУДУТ БЕЗВОЗВРАТНО СТЕРТЫ!'''
<code>dd if=slinux-9.1-aarch64.iso of=/dev/disk/by-id/XYZ bs=1M conv=fsync</code>
* '''ВНИМАНИЕ! РИСК СТЕРЕТЬ НЕ ТЕ ДАННЫЕ! ТРИЖДЫ ПРОВЕРЬТЕ, ЧТО ПИШЕТЕ НА НУЖНЫЙ ДИСК!'''


# Выключаем Baikal-M, отсоединяем SATA диск.
Затем нужно подключить носитель к плате и загрузиться с него. Если на Байкал-М еще не установлена ОС,
# Подключаем диск к другому компьютеру (например, через SATA->USB адаптер)
то загрузка со съемного носителя происходит по умолчанию. Если по какой-то причине загрузка не началась,
# Записываем образ на диск:<br><code>dd if=simply-baikal_m-itx.img of=/dev/disk/by-id/XYZ bs=4k</code><br> где <tt>/dev/disk/by-id/XYZ</tt> -- файл устройства, соответствующий диску.
нужно нажать Escape во время инициализации UEFI (когда вверху появится надпись "Press ESC for boot options"),
# (не обязательно) Расширяем раздел с корневой ФС на весь диск:<br><code>parted --script /dev/disk/by-id/XYZ resizepart 2 100% && blockdev --rereadpt /dev/disk/by-id/XYZ</code>
и выбрать загрузку с нужного устройства вручную.
# (не обязательно) Расширяем корневую ФС на весь раздел:<br><code>e2fsck -f /dev/disk/by-id/XYZ'''2''' && resize2fs -p /dev/disk/by-id/XYZ'''2'''</code>
 
# Отключаем диск, подключаем обратно к плате с Baikal-M
=== EFI system partition ===
# Включаем Baikal-M
 
При разбиении диска вручную не забудьте создать EFI system partition,
отформатировать его в файловую систему fat, и назначить точку монтирования <tt>/boot/efi</tt>


== Известные проблемы ==
== Известные проблемы ==


* При переключении разрешения на 1280х720 (или 1680х1050) и обратно на 1920x1080 пропадает видеосигнал. Изображение восстанавиливается после перезагрузки.
* Частотные искажения при воспроизведении звука на встроенный аналоговый выход. На HDMI звук воспроизводится нормально.
* При отключении и повторном включении HDMI кабеля пропадает видеосигнал.
* PS/2 клавиатуры и мыши не поддерживаются.
* При переключении монитора на другой вход (VGA) и обратно на HDMI пропадает видеосигнал. Иногда его удается восстановить переключением на другую консоль (Ctrl-Alt-F2), и обратно в X (Alt-F1). А иногда требуется перезагрузка.
* Блок аппаратного декодирования видео (HD Video Decoder, VDec) не поддерживается. Бинарные драйверы (плагины к gstreamer) от Байкал Электроникс намертво привязаны к определенным версиям системных библиотек (glib2, pcre, libxml, и т.д.), так что невозможно обеспечить их функционирование в каком-либо дистрибутиве, кроме Debian 10. Возможно декодирование видео на GPU при использовании <tt>panfrost</tt> или на CPU.
* При завершении работы происходит сбой ядра при доступе к переменным EFI.
 
* <s>При завершении работы системы сигнал на мониторе сразу пропадает</s>. Питание автоматически не отключается. Узнать, что работа системы завершилась можно только по сообщению на UART терминале.
== Подключение UART консоли к плате TF307 ==
 
Иногда бывает, что при загрузке система виснет, и на экране ничего не отображается.
Вот в этих случаях и поможет UART консоль.
 
=== Требуется ===
 
* Утилита picocom
* UART -> USB адаптер, рассчитаный на уровень сигналов '''1.8 Вольт'''.<br>'''ВНИМАНИЕ! Использование адаптеров на 3.3 Вольт ПРИВОДИТ К ПОЛОМКЕ ПЛАТЫ!'''
 
Автор успешно использовал адаптеры, которые определяются как
<pre>
  ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102/CP2109 UART Bridge Controller [CP210x family]
  ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
</pre>
 
=== Подключение UART->USB адаптера к плате ===
 
* Разъём обозначен XP8
* PIN 1 обозначен точкой
* PIN 13 UART_TX (TX on BM)
* PIN 14 GND
* PIN 15 UART_RX (RX on BM)
 
Pаспиновка относительно ключа - разрыва пластиковой рамки разъёма:
 
------------ ключ------------
19 17 15 13 11 09 07 05 03 01
20 18 16 14 12 10 08 06 04 02
-----------------------------
 
=== Использование UART консоли ===
 
После подключения адаптера к плате следует подать питание на плату, но не включать ее. Далее нужно
 
# Подключить USB разъем адаптера к компьютеру. При успешном подключении в системе появится устройство <tt>/dev/ttyUSB0</tt> (если не подключены другие USB serial устройства)
# Подключиться к устройству <tt>/dev/ttyUSB0</tt> с помощью программы picocom: <br><code>picocom -b115200 /dev/ttyUSB0</code>
# Включить плату, дождаться меню загрузчика grub
# Прервать автоматическую загрузку и войти в режим редактирования. Для этого достаточно нажать кнопку '''e'''.
# В конце строки <tt>linux /boot/vmlinuz-XYZ ...</tt> дописать<br><code>console=ttyS0,115200n8 earlycon=uart8250,mmio32,0x20230000 ignore_loglevel</code>
# Продолжить загрузку -- нажать кнопку <tt>F10</tt>.
 
После этого в picocom появятся подробные сообщения ядра.
 
== Обновление прошивки на DBM плате ==
 
=== Требуются ===
 
* Утилита [http://dfu-util.sourceforge.net/ dfu-util] версии 0.9 или новее
* микро-USB шнур
 
=== Порядок действий ===
 
# Подключить плату к сети питания. Не включать. Подается дежурное напряжение.
# Подключить плату к хост компьютеру (микро-USB разъем XS2, ближайший к Ethernet разъемам)
# Прошить файл dbm.scp.flash.bin:<br><code>sudo dfu-util -D ./baikal/prebuilts/dbm.scp.flash.bin -a 0 -s 0x08000000</code>
# Прошить файл dbm.flash.img:<br><code>sudo dfu-util -D ./baikal/prebuilts/dbm.flash.img -a 1 -s 0x0A000000</code>
# Физически отключить питание платы (отсоединить шнур) на 30 -- 60 секунд.
 
=== После прошивки ===
 
В процессе прошивки настройки UEFI обнуляются. В связи с этим плата будет загружаться в EFI shell.
Для запуска GRUB нужно дать команду<br><code>fs0:\EFI\altlinux\grubaa64.efi</code><br>
Для того, чтобы GRUB запускался автоматически, после загрузки ОС следует выполнить команду<br>
<code>sudo efibootmgr -c --label altlinux --loader \\EFI\\altlinux\\grubaa64.efi</code>
 
=== Скачать прошивки ===
 
Файлы для прошивки можно скачать с [....https://www.baikalelectronics.ru/products/238/ сайта производителя].
 


[[Категория:ARM]]
[[Категория:ARM]]

Текущая версия от 20:46, 2 июня 2021

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

На данный момент страничка описывает выпуск Simply Linux 9.1 для системной платы TF-307 на основе процессора BE-M1000 производства "Байкал Электроникс".

Поддерживаемые устройства

Перед началом установки

На плате должен быть прошит firmware из SDK-M версий 4.4. или 5.1. С более старыми версиями прошивки эту инструкцию использовать не следует. Окирпичить плату вряд ли выйдет, но времени и нервов потратите много.

Определение версии прошивки

На глазок версию прошивки можно определить так. Почти сразу после включения отображается маленький логотип Байкал Электроникс. Затем секунд через 20 отображается большой (во весь экран) логотип Байкал Электроникс, а под ним -- номер версии прошивки.

  • Если номер версии не отображается, то прошивка старая (SDK-M 4.3 или старее)
  • Если маленький логотип не отображается, то прошивка старая (SDK-M 4.2 или старее)
  • Если во время загрузки на экране ничего нет, это слишком старая прошивка


Установка

Установочный ISO доступен здесь: https://mirror.yandex.ru/altlinux/p9/images/simply/aarch64/slinux-9.1-aarch64.iso

Его нужно записать на внешний USB накопитель, sd карту, либо жесткий диск.

  • ВНИМАНИЕ! ВСЕ ДАННЫЕ, КОТОРЫЕ НАХОДЯТСЯ НА НОСИТЕЛЕ, БУДУТ БЕЗВОЗВРАТНО СТЕРТЫ!
  • ВНИМАНИЕ! РИСК СТЕРЕТЬ НЕ ТЕ ДАННЫЕ! ТРИЖДЫ ПРОВЕРЬТЕ, ЧТО ПИШЕТЕ НА НУЖНЫЙ НОСИТЕЛЬ!

dd if=slinux-9.1-aarch64.iso of=/dev/disk/by-id/XYZ bs=1M conv=fsync

Затем нужно подключить носитель к плате и загрузиться с него. Если на Байкал-М еще не установлена ОС, то загрузка со съемного носителя происходит по умолчанию. Если по какой-то причине загрузка не началась, нужно нажать Escape во время инициализации UEFI (когда вверху появится надпись "Press ESC for boot options"), и выбрать загрузку с нужного устройства вручную.

EFI system partition

При разбиении диска вручную не забудьте создать EFI system partition, отформатировать его в файловую систему fat, и назначить точку монтирования /boot/efi

Известные проблемы

  • Частотные искажения при воспроизведении звука на встроенный аналоговый выход. На HDMI звук воспроизводится нормально.
  • PS/2 клавиатуры и мыши не поддерживаются.
  • Блок аппаратного декодирования видео (HD Video Decoder, VDec) не поддерживается. Бинарные драйверы (плагины к gstreamer) от Байкал Электроникс намертво привязаны к определенным версиям системных библиотек (glib2, pcre, libxml, и т.д.), так что невозможно обеспечить их функционирование в каком-либо дистрибутиве, кроме Debian 10. Возможно декодирование видео на GPU при использовании panfrost или на CPU.

Подключение UART консоли к плате TF307

Иногда бывает, что при загрузке система виснет, и на экране ничего не отображается. Вот в этих случаях и поможет UART консоль.

Требуется

  • Утилита picocom
  • UART -> USB адаптер, рассчитаный на уровень сигналов 1.8 Вольт.
    ВНИМАНИЕ! Использование адаптеров на 3.3 Вольт ПРИВОДИТ К ПОЛОМКЕ ПЛАТЫ!

Автор успешно использовал адаптеры, которые определяются как

  ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102/CP2109 UART Bridge Controller [CP210x family]
  ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC

Подключение UART->USB адаптера к плате

  • Разъём обозначен XP8
  • PIN 1 обозначен точкой
  • PIN 13 UART_TX (TX on BM)
  • PIN 14 GND
  • PIN 15 UART_RX (RX on BM)

Pаспиновка относительно ключа - разрыва пластиковой рамки разъёма:

------------ ключ------------
19 17 15 13 11 09 07 05 03 01
20 18 16 14 12 10 08 06 04 02
-----------------------------

Использование UART консоли

После подключения адаптера к плате следует подать питание на плату, но не включать ее. Далее нужно

  1. Подключить USB разъем адаптера к компьютеру. При успешном подключении в системе появится устройство /dev/ttyUSB0 (если не подключены другие USB serial устройства)
  2. Подключиться к устройству /dev/ttyUSB0 с помощью программы picocom:
    picocom -b115200 /dev/ttyUSB0
  3. Включить плату, дождаться меню загрузчика grub
  4. Прервать автоматическую загрузку и войти в режим редактирования. Для этого достаточно нажать кнопку e.
  5. В конце строки linux /boot/vmlinuz-XYZ ... дописать
    console=ttyS0,115200n8 earlycon=uart8250,mmio32,0x20230000 ignore_loglevel
  6. Продолжить загрузку -- нажать кнопку F10.

После этого в picocom появятся подробные сообщения ядра.

Обновление прошивки на DBM плате

Требуются

  • Утилита dfu-util версии 0.9 или новее
  • микро-USB шнур

Порядок действий

  1. Подключить плату к сети питания. Не включать. Подается дежурное напряжение.
  2. Подключить плату к хост компьютеру (микро-USB разъем XS2, ближайший к Ethernet разъемам)
  3. Прошить файл dbm.scp.flash.bin:
    sudo dfu-util -D ./baikal/prebuilts/dbm.scp.flash.bin -a 0 -s 0x08000000
  4. Прошить файл dbm.flash.img:
    sudo dfu-util -D ./baikal/prebuilts/dbm.flash.img -a 1 -s 0x0A000000
  5. Физически отключить питание платы (отсоединить шнур) на 30 -- 60 секунд.

После прошивки

В процессе прошивки настройки UEFI обнуляются. В связи с этим плата будет загружаться в EFI shell. Для запуска GRUB нужно дать команду
fs0:\EFI\altlinux\grubaa64.efi
Для того, чтобы GRUB запускался автоматически, после загрузки ОС следует выполнить команду
sudo efibootmgr -c --label altlinux --loader \\EFI\\altlinux\\grubaa64.efi

Скачать прошивки

Файлы для прошивки можно скачать с [....https://www.baikalelectronics.ru/products/238/ сайта производителя].