Автор Тема: Альт на rk3399  (Прочитано 44488 раз)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Альт на rk3399
« Ответ #45 : 31.10.2019 12:14:24 »
Попробовал регулярную сборку от 25 октября. Изменений не заметил (есть ли они?). Загрузчик "молча" грузит. Система через какое-то время подвисает. Подвисает именно ядро, а не X, или что-то в интерфейсной части. Проверял.

А regular-jeos-systemd не пробовали?

Попробовал регулярную сборку от 25 октября. Изменений не заметил (есть ли они?).

Наверное есть. Я ещё в отпуске, потому последние три сборки ни кем не тестировались.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 462
Re: Альт на rk3399
« Ответ #46 : 03.11.2019 23:37:04 »
А regular-jeos-systemd не пробовали?

Нет regular-jeos-systemd я не пробовал. А в чем там суть, напомните, а то что-то я уже подзабыл, для чего это нужно.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 462
Re: Альт на rk3399
« Ответ #47 : 03.11.2019 23:56:34 »
Я разобрался с проблемой отключения питания на nanopc-t4 с ядром 5.x.
Ядро для некоего абстрактного arm-компьютера пытается управлять питанием SoC через PSCI (Power State Coordination Interface). Это можно считать аналогом ACPI в какой-то мере. Работает в el3. Может в том числе и отключать питание всей SoC. Но это касается именно SoC. А питанием одноплатника управляет PMU, в данном случае rk808.
В ядре 4.4.x от rockchip драйвер rk808 устанавливает ядерную функцию отключения питания на себя, если он находит rk80x. В ядре 5.x драйвер rk808 устанавливает ядерную функцию отключения питания на себя, если он находит rk80x и если ядерная функция отключения питания не была установлена до его запуска. В итоге rockchip-ое ядро отключает полностью питание одноплатника. Ядро 5.x оставляет старую ядерную функцию отключения питания. Там через PSCI SoC отключает себя от питания. Ну или должна отключить от питания. Что там происходит в реальности - проверить сложно. Хотя судя по тому, что экран таки гаснет, SoC таки вырубается.
На мой взгляд логика rockchip-го ядра все-таки правильнее. Хотя может я не вижу каких-то подводных камней. Сделать соответствующий патч не проблема.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Альт на rk3399
« Ответ #48 : 04.11.2019 08:55:17 »
Нет regular-jeos-systemd я не пробовал. А в чем там суть, напомните, а то что-то я уже подзабыл, для чего это нужно.

Там нет иксов. У root пароль altlinux.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Альт на rk3399
« Ответ #49 : 06.11.2019 17:53:08 »
В последних сборках обнаружена нестабильная работа systemd, вплоть до отказа загрузки (падает systemd-logind и циклически пытается запуститься). Так что пробовать стоит сборку с icewm (sysvinit вместо systemd). Она работает стабильно. Это я к тому, что дело не в ядре и не  u-boot, возможно.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 462
Re: Альт на rk3399
« Ответ #50 : 07.11.2019 21:22:48 »
Самое свежее, что я пробовал было от 25 октября. Возможно поэтому никакой нестабильности systemd не обнаружилось. Хотя может быть я просто её не заметил. Припоминаю, что иногда экран входа в систему появлялся после некоторой паузы. Может это было как раз оно? Но такое происходило не постоянно. Да и ничего фатального не происходило.
К ядру у меня замечаний то особо нет. Оно работает вполне себе стабильно. Просто ядро "из коробки" надо патчить, чтобы получить нужный функционал.
С u-boot могу лишь подтвердить, что понимаю, с какой версией у меня нет проблем. До причин возникающих проблем не докопался. Да и не уверен, что в данной ситуации до них возможно докопаться. Если, скажем, там кто-то "играется" с тонкими настройками таймингов памяти, или еще чего-то, то при отсутствии исчерпывающей документации это все останется темным лесом. Может это вообще специфические особенности аппаратки именно t4, или моего экземпляра, или партии, из которой мой экземпляр.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 462
Re: Альт на rk3399
« Ответ #51 : 07.11.2019 21:28:19 »
Пожалуй стоит поднять еще один вопрос. Сейчас уже практически все одноплатники на rk3399 имеют интерфейс для подключения nvme ssd. И этот ssd успешно работает. Вот уже появились платы на свежем amlogic-е. Там также можно ssd подключать. Не пора ли уже реализовать возможность установки дистрибутива на такой ssd?

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Альт на rk3399
« Ответ #52 : 08.11.2019 05:25:04 »
Пожалуй стоит поднять еще один вопрос. Сейчас уже практически все одноплатники на rk3399 имеют интерфейс для подключения nvme ssd. И этот ssd успешно работает. Вот уже появились платы на свежем amlogic-е. Там также можно ssd подключать. Не пора ли уже реализовать возможность установки дистрибутива на такой ssd?

Есть мысли как это сделать? Загрузчик на SSD ставить можно, или нужно u-boot c /boot на SD-карту ставить?

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 462
Re: Альт на rk3399
« Ответ #53 : 08.11.2019 08:56:22 »
На SSD разворачивается только rootfs. На SD-карту (eMMC) записывается загрузчик, образ ядра, initrd. В настройках u-boot выставляется соответствующий путь к rootfs на SSD. По сути то SD-карта остается практически той же, надо только дать возможность пользователю в нужный момент создать rootfs на SSD и сменить на SD-карточке адрес rootfs.

В идеале хорошо задействовать распаянную флэшку. Но это не то чтобы сложно, скорее получается много разных вариантов. На разных платах могут быть разные флэшки с разными интерфейсами. Потом хорошо бы в набортную флэшку прописать что-нибудь типа варианта rescue OS.
Вариант с SD-картой вполне универсальный. Подойдет и для rockchip и для amlogic.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Альт на rk3399
« Ответ #54 : 08.11.2019 12:08:46 »
На SSD разворачивается только rootfs. На SD-карту (eMMC) записывается загрузчик, образ ядра, initrd.

Ну, т.е. стандартно /boot на флэшке, система на SSD.

В настройках u-boot выставляется соответствующий путь к rootfs на SSD.

Это делается в /boot/extlinux/extlinux.conf
Также придётся отредактировать /etc/fstab

Алгоритм, как я понимаю такой:
1. Создать раздел на SSD
2. Скопировать туда систему без /boot/*
3. Изменить /boot/extlinux/extlinux.conf (не забыть сделать бекап конфига и положить рядом). Можно первым пунктом добавить загрузку с SSD, вторым SD-карты
4. Изменить /etc/fstab на SSD, запись с / заменится на /boot и добавить новую запись для /
5. Сделать chroot в установленную систему и сделать male-initrd (специфичные модули для ssd и emmc должны добавиться в initrd, а может и нет). Шаг под вопросом.
6. Отмонтировать и предложить перезагрузиться

В идеале хорошо задействовать распаянную флэшку. Но это не то чтобы сложно, скорее получается много разных вариантов. На разных платах могут быть разные флэшки с разными интерфейсами. Потом хорошо бы в набортную флэшку прописать что-нибудь типа варианта rescue OS.
Вариант с SD-картой вполне универсальный. Подойдет и для rockchip и для amlogic.

Если на разделе SSD сделать метки и их прописать в /etc/fstab и extlinux.conf вместо UUID, то это будет универсальная флешка для загрузки с нескольких девайсов.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 462
Re: Альт на rk3399
« Ответ #55 : 08.11.2019 13:02:13 »
Это делается в /boot/extlinux/extlinux.conf
Также придётся отредактировать /etc/fstab

Да, совершенно верно.
Алгоритм, как я понимаю такой:
1. Создать раздел на SSD
2. Скопировать туда систему без /boot/*
3. Изменить /boot/extlinux/extlinux.conf (не забыть сделать бекап конфига и положить рядом). Можно первым пунктом добавить загрузку с SSD, вторым SD-карты
4. Изменить /etc/fstab на SSD, запись с / заменится на /boot и добавить новую запись для /
5. Сделать chroot в установленную систему и сделать male-initrd (специфичные модули для ssd и emmc должны добавиться в initrd, а может и нет). Шаг под вопросом.

В initrd на загрузочной карточке уже должны быть все необходимые модули для ssd, иначе на него ничего невозможно будет записать. Может скорее наоборот, должны будут удалиться лишние. В идеале стартовый набор должен быть един для разных железок (на rockchipe-е, на amlogic-е).


Если на разделе SSD сделать метки и их прописать в /etc/fstab и extlinux.conf вместо UUID, то это будет универсальная флешка для загрузки с нескольких девайсов.

Единственная неприятность только в том, что выбирать альтернативный вариант загрузки можно только, подключив одноплатник к другому компу через последовательный порт. Есть правда проект по разработке uefi для arm-железок. Не знаю, насколько он сейчас применим на практике.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Альт на rk3399
« Ответ #56 : 08.11.2019 13:26:27 »
В initrd на загрузочной карточке уже должны быть все необходимые модули для ssd, иначе на него ничего невозможно будет записать.

Нет, если корень не на ssd, то наличие модулей ядра в initrd необязательно. А потому, кто его знает, есть они там или нет и какие нужны? Но в initrd все нужные должны попасть при make-initrd в chroot.

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

Это проблема Rockchip (или их u-boot), что они не выводят на экран процесс загрузки u-boot.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 462
Re: Альт на rk3399
« Ответ #57 : 08.11.2019 13:46:16 »
Это проблема Rockchip (или их u-boot), что они не выводят на экран процесс загрузки u-boot.

Так никто не выводит. По крайней мере мне такое не встречалось. Хотя я подозреваю, что это не то чтобы какая-то большая проблема, а просто с этим никто не хочет заморачиваться. Это не особо востребовано в таких коробочках. А в каких-то ситуациях так и просто способ ограничить людей с излишне шаловливыми ручонками. Но, по крайней мере, лого на экран u-boot выдать может.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Альт на rk3399
« Ответ #58 : 08.11.2019 13:52:05 »
Так никто не выводит.

Raspberri pi и orange pi prime выводят.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Альт на rk3399
« Ответ #59 : 11.11.2020 11:08:48 »
Чтобы грузился u-boot с SD-карты, а не из SPI, нужно зажать кнопку boot при включении на 5 секунд. Я зажимал кнопку boot, и нажимал кнопку reset.
По итогу загрузиться смогло только ядро mp.
В /boot/extlinux/extlinux.conf нужно прописать вместо tty1 ttyS2,115200.
Встроенный u-boot общается на скорости 1500000. Так что отличить с каким u-boot идёт загрузка легко.
Надо разобраться как записать u-boot в SPI, тогда не нужно будет никаких отступов на SD-карте в 16 МБ под загрузчик.
Что касается поддержки графики u-boot'ом. Альтовский u-boot графику поддерживает, вот только usb не работает.
Также u-boot может грузить grub-efi. Вот только с USB загрузиться не получилось.