Установка и тюнинг чистого Armbian
Тюнинг Armbian для работы с Napi и Сборщик-компакт
Эта инструкция для продвинутых пользователи Linux, Вы можете скачать готовый образ, где уже проведены все операции, по ссылке: https://packages.nnz-ipc.net/napi/armbian-for-napi/
Ставим чистый ARMbian для Rock Pi S
Скачайте образ по ссылке
https://redirect.armbian.com/rockpi-s/Bookworm_current
Имя файла будет похоже на следующее - Armbian_23.5.2_Rockpi-s_bookworm_current_6.1.32.img.xz
Распаковать образ и записать образ на SD-карту
или
Загрузить NAPI c SD карты в NapiLinux, вставить флешку с распакованным файлом образа и записать имидж в NAND по инструкции
Загрузить ARMbian. Войти по SSH (Логин\Пароль root\1234)
При первой загрузке ARMbian задаст вопросы про язык, локаль, часовой пояс, дополнительного пользователя - надо пройти все эти вопросы (в подготовленном имидже мы уже все сделали).
Проводим тюнинг Armbian
Проведите обновление системы
apt update
apt upgrade
Теперь вы можете ставить любые доступные пакеты в Armbian (Debian) программой apt install packet
Поставить рекомендуемые нами пакеты
telnet
mbpoll
snmpd
snmp
snmp-mibs-downloader
vim
cmake
pkg-config
plocate
gh
mosquitto
mosquitto-clients
python3-pip
python3-dev
Поместите данный список в файл packages.txt
(nano packages.txt
), выполните команду:
xargs apt-get -y install < packages.txt
Все пакеты должны установиться автоматически !
Теперь у вас есть утилита mbpoll для работы с modbus, pip3 - система установки пакетов для python3, средства для работы с git, средства для компилирования программ (понадобиться ниже).
Перегрузка при панике ядра
Заставим систему перегружаться при панике ядра (маловероятно, но все-таки)
Открыть файл /etc/sysctl.conf
Добавить или раскомментировать строчку
kernel.panic = 5
Сохранить файл
Добавление аппаратных интерфейсов
В Armbian (и других современных Linux) включение аппаратных и нестандартных интерфейсов (uart, i2c, spi) работает через систему подключаемых оверлеев (файлы в формате dtbo - device tree binary). Это бинарные файлы, которые компилируются из исходных текстовых файлов dts (data tree source).
В Armbian есть утилита, которая компилирует и добавляет оверлей из пользовательского файла dts.
Общий алгоритм такой. Нужно скачать или другим образом (через копи\паст) сформировать файл dts (название лучше делать по смыслу файла, например rk3308-spi2.dts) и далее выполнить команду
armbian-add-overlay <файл.dts>
Обязательно перегрузиться.
После этого должно заработать устройство, которое Вы подключили, если оно не конфликтует с другими устройствами. Конфликты зависят от включенных устройствах по умолчанию, от аппаратной конфигурации устройства.
Например, в NAPI не может работать одновременно UART1,2 и SPI2 а также UART3 и SPI1
Файлы dts для rk3308 (всех NAPI) доступны по ссылке: https://gitlab.nnz-ipc.net/pub/napilinux/kernel/-/tree/linux6.6/arch/arm64/boot/dts/rockchip/overlay
Список файлов
rk3308-console-on-uart0.dts
rk3308-console-on-uart1.dts
rk3308-console-on-uart2.dts
rk3308-i2c0.dts
rk3308-i2c1-ds1307.dts
rk3308-i2c1-ds3231.dts
rk3308-i2c1.dts
rk3308-i2c2.dts
rk3308-i2c3-m0.dts
rk3308-i2c3-m1.dts
rk3308-i2c3.dts
rk3308-pwm1.dts
rk3308-pwm2.dts
rk3308-pwm3.dts
rk3308-spi-spidev.dts
rk3308-spi1-spidev.dts
rk3308-spi2-spidev.dts
rk3308-uart0.dts
rk3308-uart1.dts
rk3308-uart2.dts
rk3308-uart3.dts
rk3308-usb-pcie-modem.dts
rk3308-usb20-host.dts
rk3308-w1-gpio.dts
rockpis-i2s-out.dts
rockpis-spdif-out.dts
rockpis-v11-spi2-waveshare35b-v2.dts
rockpis-v11-spi2-waveshare35c.dts
rockpis-v12-spi2-waveshare35b-v2.dts
rockpis-v12-spi2-waveshare35c.dts
i2c1-hym8563.dts
Из этого списка примерно понятно какие устройства могут быть добавлены.
В Armbian устройства uart0 (консоль), uart1, uart2 добавлены по умолчанию.