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

Материал из ALT Linux Wiki
(Особенности SDK-M 4.4)
Строка 30: Строка 30:
нужно нажать Escape во время инициализации UEFI (когда вверху появится надпись "Press ESC for boot options"),
нужно нажать Escape во время инициализации UEFI (когда вверху появится надпись "Press ESC for boot options"),
и выбрать загрузку с нужного устройства вручную.
и выбрать загрузку с нужного устройства вручную.
=== Загрузка на платах с прошивкой из SDK-M 4.4 ===
Если система не грузится (kernel panic) или установка не стартует,
передайте ядру параметры<br><code>modprobe.blacklist=pcie_baikal,panfrost</code>
В kernel-image-std-def


=== EFI system partition ===
=== EFI system partition ===

Версия от 15:12, 16 февраля 2021

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

На данный момент страничка описывает выпуск ALT Workstation 9.1 для системной платы MBM1.0(mITX) на основе процессора "Байкал-М" (модель ВЕ-М1000) производства "Байкал Электроникс".

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

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

На глазок версию прошивки можно определить так:

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

Точно определить версию прошивки, к сожалению, можно только с помощью UART консоли.

Установка

Установочный ISO доступен здесь: https://mirror.yandex.ru/altlinux/p9/images/workstation/aarch64/alt-workstation-baikalm-9.1-aarch64.iso Его нужно записать на внешний USB накопитель, sd карту, либо жесткий диск.

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

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

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

Загрузка на платах с прошивкой из SDK-M 4.4

Если система не грузится (kernel panic) или установка не стартует, передайте ядру параметры
modprobe.blacklist=pcie_baikal,panfrost В kernel-image-std-def

EFI system partition

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

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

  • При установке на платы с прошивкой из SDK-M 4.4 может возникнуть kernel panic при инициализации драйвера PCIe. Для обхода проблемы достаточно передать ядру параметр
    modprobe.blacklist=pcie_baikal
  • Аппаратное ускорение 3d рендеринга (с помощью GPU Mali T628) недоступно. Бинарные драйверы от Байкал Электроникс не поддерживают X11. Предоставляемое API недостаточно даже для запуска простейших wayland composer (например, weston версии 5.0), не говоря уже о полноценных окружениях (GNOME 3, KDE 5).
  • Аппаратное декодирование видео недоступно. Бинарные драйверы от Байкал Электроникс намертво привязаны к определенным версиям системных библиотек (glib2, pcre, libxml, и проч), так что невозможно обеспечить их функционирование в каком-либо дистрибутиве, кроме Debian 10
  • Время и дата не сохраняются на плате DBM. После перезагрузки/включения -- всегда 26 марта 2020 года 16:20. Наличие или отсутствие батарейки не влияет. На плате MBM1.0 зависит от версии firmware.

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

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

Требуется

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

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

 ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102/CP2109 UART Bridge Controller [CP210x family]

Подключение 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. Прервать автоматическую загрузку и войти в режим редактирования. Для этого достаточно нажать кнопку c.
  5. В конце строки linux /boot/vmlinuz-XYZ ... дописать
    console=ttyS0,115200n8 earlycon=uart8250,mmio32,0x20230000 loglevel=8
  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