Armbian на RepkaPi

Imptovskii

New member
25.02.2024
8
6
3
39b53751-b794-47c1-a06e-b975f5cf0a7e

Armbian - это операционная система Linux, разработанная специально для мини-компьютеров (одноплатных компьютеров) на базе ARM-процессоров: Orange Pi, Banana Pi, Odroid, Olimex, Cubieboard, Roseapple Pi, Pine64, NanoPi и д.р. ОС предоставляет широкий спектр функций и инструментов, которые делают ее идеальным выбором для различных проектов и применений.

Armbian поставляется на базе Ubuntu или Debian.

В данный момент официальной поддержки RepkaPi в Armbian нет. Но есть мой репозиторий на GitFlic где я добавил поддержку RepkaPi через систему пользовательских патчей.
На данный момент собрана последняя стабильная версия 23.11: Скачать можно здесь

Пользователь по умолчанию root. Пароль: 1234

Образы собраны как для версий плат v1.3 так и v1.4/v1.5. Для v1.3 использовался DTS с частотой 1.2 GHz, для v1.4/v1.5 использовался DTS под работу с пассивным охлаждением (ИМХО, с ним система ведет себя гораздо стабильнее). В обоих случаях использована распиновка GPIO по умолчанию.

На ядре 5.15, все работает идеально и нет проблем.

А вот в данный момент у ядра 6.1 наблюдаются следующие проблемы:
  • Нет мониторинга температуры SoC
  • Не работает X11 сессия, выключается сигнал на монитор. (Не возможно использование в качестве десктопа)
Внимание! После первого запуска не обновляйте систему! Так как, у нас неофициальная сборка Armbian и о нашей плате официальные сборки не знают, надо заморозить обновление Ядра и UBoot загрузчкика!

  • Пишем:
  • Переходим в System settings и выбираем Freeze.
image

  • Нажимаем кнопку Freeze
image

  • Ждем
image

  • Фон станет красным, не пугаемся это наоборот норма.
image

Внимание! Балансировщик http://apt.armbian.com часто кидает на url’ы которые недоступны с IP адресов расположенных в РФ, рекомендую зафиксировать работу на зеркале от Яндекса.

  • Пишем:
sudo nano /etc/apt/sources.list.d/armbian.list
  • Мы видим следующее:
image

image

  • Обновляем публичный ключ от репозитория:
  • Обновляем индекс и список пакетов apt:
В случае с Ubuntu вы можете заменить оригинальный репозиторий http://ports.ubuntu.com на http://mirror.yandex.ru/ubuntu-ports в файле /etc/apt/sources.list. А в случае с Debian оригинальный репозиторий http://deb.debian.org на http://ftp.ru.debian.org
 
Последнее редактирование:
  • Like
Реакции: Anatoliy1979 и rs045
На сайте в разделе "Другие дистрибутивы ОС" информация о ваших сборках, особенно ссылки, не актуальна.
Я отправлял информацию через форму "ошибки", но реакции не последовало.
 
На сайте в разделе "Другие дистрибутивы ОС" информация о ваших сборках, особенно ссылки, не актуальна.
Я отправлял информацию через форму "ошибки", но реакции не последовало.
Ну я не имею доступ к официальному сайту. Со мной вроде хотели связаться чтобы уточнить новую инфу, но видимо забыли.
 
  • Like
Реакции: Anatoliy1979
Я имел ввиду, что от вас то должны сообщение воспринять более серьёзно.
 
Можно здесь, на форуме продублировать актуальные ссылки, отдельной темой.
 
В ближайшее время начну работы по переходу на версию 24.02
 
Владислав, такой вопрос. Есть проект, использующий Репку как основу для железа. По ряду причин в качестве ОС был выбран армбиан. Если проект дойдет до серии, встанет вопрос о тиражировании образа ОС. Прописывать на флешку, потом втыкать ее в устройство, устанавливать требуемые программы -- это всё достаточно долго и нетехнологично. Существует ли возможность каким-то образом объяснить сборочным скриптам, чтобы они встроили в образ некий внешний (не являющийся частью Дебиана) пакет, да еще и со всеми зависимостями? Пакет доступен как файл .deb. Проблема также немного усугубляется тем, что в составе пакета будет присутствовать кастомный .dtb.
 
Владислав, такой вопрос. Есть проект, использующий Репку как основу для железа. По ряду причин в качестве ОС был выбран армбиан. Если проект дойдет до серии, встанет вопрос о тиражировании образа ОС. Прописывать на флешку, потом втыкать ее в устройство, устанавливать требуемые программы -- это всё достаточно долго и нетехнологично. Существует ли возможность каким-то образом объяснить сборочным скриптам, чтобы они встроили в образ некий внешний (не являющийся частью Дебиана) пакет, да еще и со всеми зависимостями? Пакет доступен как файл .deb. Проблема также немного усугубляется тем, что в составе пакета будет присутствовать кастомный .dtb.
Думаю можно. У меня таких задач не стояло, попробуйте глянуть документацию к сборщику Armbian мб там есть об этом информация. https://docs.armbian.com/Developer-Guide_Welcome/
 
Владислав, такой вопрос. Есть проект, использующий Репку как основу для железа. По ряду причин в качестве ОС был выбран армбиан. Если проект дойдет до серии, встанет вопрос о тиражировании образа ОС. Прописывать на флешку, потом втыкать ее в устройство, устанавливать требуемые программы -- это всё достаточно долго и нетехнологично. Существует ли возможность каким-то образом объяснить сборочным скриптам, чтобы они встроили в образ некий внешний (не являющийся частью Дебиана) пакет, да еще и со всеми зависимостями? Пакет доступен как файл .deb. Проблема также немного усугубляется тем, что в составе пакета будет присутствовать кастомный .dtb.
Пока разбирался со сборщиком и читал документацию обнаружил https://docs.armbian.com/Developer-Guide_User-Configurations/
Через файлик lib.config созданный в userpatches можно дописать список дополнительных пакетов.
 
вы будете смеяться, но
Bash:
PACKAGE_LIST_ADDITIONAL="$PACKAGE_LIST_ADDITIONAL python-serial python" # additional packages
в файле userpatches/lib.config приводит к
Код:
...armbian-repkapi/userpatches/lib.config: line 1: PACKAGE_LIST_ADDITIONAL: readonly variable
 
вы будете смеяться, но
Bash:
PACKAGE_LIST_ADDITIONAL="$PACKAGE_LIST_ADDITIONAL python-serial python" # additional packages
в файле userpatches/lib.config приводит к
Код:
...armbian-repkapi/userpatches/lib.config: line 1: PACKAGE_LIST_ADDITIONAL: readonly variable
Лол. Хорошее качество документации, понимаю.
 
Владислав, такой вопрос. Есть проект, использующий Репку как основу для железа. По ряду причин в качестве ОС был выбран армбиан. Если проект дойдет до серии, встанет вопрос о тиражировании образа ОС. Прописывать на флешку, потом втыкать ее в устройство, устанавливать требуемые программы -- это всё достаточно долго и нетехнологично. Существует ли возможность каким-то образом объяснить сборочным скриптам, чтобы они встроили в образ некий внешний (не являющийся частью Дебиана) пакет, да еще и со всеми зависимостями? Пакет доступен как файл .deb. Проблема также немного усугубляется тем, что в составе пакета будет присутствовать кастомный .dtb.
Можно сделать образ с уже настроенной карты.
Тут есть описание
 
Можно сделать образ с уже настроенной карты.
Тут есть описание
Спасибо. Но. После установки раздел будет растянут на всю флешку. И чтение с последующей записью -- это примерно по 40 мин в один конец.
gparted не умеет сжимать разделы в образе, ему подавай реальное устройство. Т.е.
1) сжать рабочий раздел (один раз, пусть).
2) Скопировать столько, сколько содержит сжатый раздел.
Далее многократно:
3) Прописать этот образ
4) разжать флешку
те же 40 мин и получится. Ладно. На самом деле, я разобрался, и как дополнительные зависимости установить, и кастомный деб. Далее мне нужно отломать консоль (которая через HDMI), положить туда какой-нибудь сплеш, и убрать диалог начального старта, где спрашивается таймзона и пароль рута, а также создание пользователя.
 
Спасибо. Но. После установки раздел будет растянут на всю флешку. И чтение с последующей записью -- это примерно по 40 мин в один конец.
gparted не умеет сжимать разделы в образе, ему подавай реальное устройство. Т.е.
1) сжать рабочий раздел (один раз, пусть).
2) Скопировать столько, сколько содержит сжатый раздел.
Далее многократно:
3) Прописать этот образ
4) разжать флешку
те же 40 мин и получится. Ладно. На самом деле, я разобрался, и как дополнительные зависимости установить, и кастомный деб. Далее мне нужно отломать консоль (которая через HDMI), положить туда какой-нибудь сплеш, и убрать диалог начального старта, где спрашивается таймзона и пароль рута, а также создание пользователя.
Там это все описано и при Армбиан если мне память не изменяет потом после сжатия раздела он его автоматом расширит
 
Спасибо. Но. После установки раздел будет растянут на всю флешку. И чтение с последующей записью -- это примерно по 40 мин в один конец.
gparted не умеет сжимать разделы в образе, ему подавай реальное устройство. Т.е.
1) сжать рабочий раздел (один раз, пусть).
2) Скопировать столько, сколько содержит сжатый раздел.
Далее многократно:
3) Прописать этот образ
4) разжать флешку
те же 40 мин и получится. Ладно. На самом деле, я разобрался, и как дополнительные зависимости установить, и кастомный деб. Далее мне нужно отломать консоль (которая через HDMI), положить туда какой-нибудь сплеш, и убрать диалог начального старта, где спрашивается таймзона и пароль рута, а также создание пользователя.
На хабре верстка статьи лучше.
Там есть и как сжать и как потом расширить fs если она автоматом не расширяется. Но в армбиан если автоматом не расширит fs то поправлю скрипт. А так сам использую
 
Попробовал образ для repka4, всё замечательно, кроме того что не работают оверлеи DT и по этому не получается настроить нужны мне пины :(photo_2024-12-21_17-52-54.jpg
 
Попробовал собрать образ, 2 раза крашнулось(
1 Раз не помню почему
2. Драйвера для wifi или нет в репах на github (или есть, но приватный).
Все выставлял по дефолту (конфиг repka 3)
Сама плата Repka 3 1.6
...Оверлеи очень нужны, необходимо 4 пина выставить в I2S...
Сегодня попробую собрать еще раз...
..Почему Armbian.. Мигрируем с OrangePi Pc plus на Репку 3 (4) Исторически сложилось...
 
при сборке образа появляется ошибка:

[🐳|💥] Error 2 occurred in main shell [ at /armbian/lib/functions/logging/runners.sh:211
run_host_command_logged_raw() --> lib/functions/logging/runners.sh:211
chroot_sdcard() --> lib/functions/logging/runners.sh:122
create_new_rootfs_cache_via_debootstrap() --> lib/functions/rootfs/rootfs-create.sh:191
create_new_rootfs_cache() --> lib/functions/rootfs/create-cache.sh:69
do_with_logging() --> lib/functions/logging/section-logging.sh:81
artifact_rootfs_build_from_sources() --> lib/functions/artifacts/artifact-rootfs.sh:80
artifact_build_from_sources() --> lib/functions/artifacts/artifacts-obtain.sh:34
obtain_complete_artifact() --> lib/functions/artifacts/artifacts-obtain.sh:280
build_artifact_for_image() --> lib/functions/artifacts/artifacts-obtain.sh:392
get_or_create_rootfs_cache_chroot_sdcard() --> lib/functions/rootfs/create-cache.sh:83
build_rootfs_and_image() --> lib/functions/main/rootfs-image.sh:14
full_build_packages_rootfs_and_image() --> lib/functions/main/default-build.sh:36
do_with_default_build() --> lib/functions/main/default-build.sh:42
cli_standard_build_run() --> lib/functions/cli/cli-build.sh:25
armbian_cli_run_command() --> lib/functions/cli/utils-cli.sh:136
cli_entrypoint() --> lib/functions/cli/entrypoint.sh:176
main() --> compile.sh:50
]
[🐳|💥] Error context msg [ Check MD5 sum of installed packages failed ]
[🐳|💥] Cleaning up [ please wait for cleanups to finish ]
[🐳|🌿] Unmounting recursively [ SDCARD - be patient ]
[🐳|🌿] Unmounting recursively [ MOUNT - be patient ]
[🐳|🌿] ANSI log file built; inspect it by running: [ less -RS output/logs/log-build-36de261e-e962-4de8-9be6-e190b06b478d.log.ans ]
[🐳|🌿] Share log manually (or SHARE_LOG=yes): [ curl --data-binary @output/logs/log-build-36de261e-e962-4de8-9be6-e190b06b478d.log.ans https://paste.next.armbian.com/log ]
[💥] -------------Docker run failed after 3122s-------------------------- [ 🐳 failed ]
[🌱] Cleaning up [ please wait for cleanups to finish ]

было ли у кого такое?