Orange Pi Zero 3 - микрокомпьютер на микропроцессоре Allwinner H618. Orange Pi Zero 3 выпускают с 1Gb, 1.5Gb, 2Gb и 4Gb оперативной памяти. В качестве постоянного запоминающего устройства используется micro SD Flash карта.

Опишем процесс установки операционной системы Linux Debian Bookworm (12) server и desktop на Orange Pi Zero 3.

Установка Debian server на Orange Pi Zero3. Используем файл образа Debian 12 Bookworm server с сайта orangepi.org. Файлы образов можно выбрать на странице этого сайта serviceAndSupport и скачать через Google disk.

Архив с образом необходимо распаковать и проверить на целостность.

sha256sum -c *.sha
Orangepizero3_1.0.4_debian_bookworm_server_linux6.1.31.img: ЦЕЛ

Для записи образа операционной системы на micro SD Flash карту используем программу balenaEtcher. Ссылка для скачивания balenaEtcher. Программу balenaEtcher устанавливать не надо, по ссылке загружается архив программы. Скачиваем, разархивируем и запускаем двойным щелчком. BalenaEtcher работает на Linux, Windows и macOS.

При первом старте сервера происходит подготовка SD карты к использованию.

  ___  ____ ___   _____             _____ 
 / _ \|  _ \_ _| |__  /___ _ __ ___|___ / 
| | | | |_) | |    / // _ \ '__/ _ \ |_ \ 
| |_| |  __/| |   / /|  __/ | | (_) |__) |
 \___/|_|  |___| /____\___|_|  \___/____/ 
                                          
Welcome to Orange Pi 1.0.4 Bookworm with Linux 6.1.31-sun50iw9

System load:   32%           	Up time:       3 min	Local users:   2            	
Memory usage:  4% of 3.84G  	IP:	       192.168.1.12
CPU temp:      42°C           	Usage of /:    4% of 58G 

Используйте login root или orangepi, пароль orangepi.

Рекомендуется использовать micro SD Flash карту с торговой маркой SanDisk class 10.

Обновите операционную систему.

sudo apt update
sudo apt upgrade -y

Настройки в orangepi-config

Некоторые настройки можно сделать с помощью утилиты orangepi-config

sudo orangepi-config

Утилита orangepi-config предлагает диалоговый режим:

Рис. 1. Orangepi-config.

В разделе Personal настроим часовой пояс, язык системы, раскладку клавиатуры.

Рис. 1. Orangepi-config personal settings.

Добавляем пользователя

groups
orangepi tty disk dialout sudo audio video plugdev games users input netdev docker systemd-journal

Лист. 1.

sudo adduser newuser

Лист. 2.

sudo usermod -a -G orangepi,tty,disk,dialout,sudo,audio,video,plugdev,games,users,netdev,input,docker,systemd-journal newuser

Лист. 3.

Отключаем автоматический вход пользователя orangepi в систему

sudo systemctl disable orangepi-disable-autologin.service
sudo systemctl stop orangepi-disable-autologin.service

Лист. 1. Отключите сервис автовхода Orange Pi

sudo rm /lib/systemd/system/getty@.service.d/override.conf
sudo rm /lib/systemd/system/serial-getty@.service.d/override.conf

Лист. 2. Удаляем проблемные конфигурационные файлы автоматического входа в систему.

sudo cp /lib/systemd/system/getty@.service /etc/systemd/system/getty@.service

Лист. 3. Копируем стандартные настройки Getty

sudo systemctl daemon-reload
sudo systemctl restart getty@tty1

Лист. 4. Перезагружаем системные сервисы.

Удаляем пользователя orangepi

Проверим, с чем связан пользователь orengepi в системе.

sudo systemctl --all | grep orangepi
  orangepi-firstrun-config.service                                                            loaded    inactive dead      Orange Pi first run optional user configuration
  orangepi-hardware-monitor.service                                                           loaded    active   exited    Orange Pi hardware monitoring
  orangepi-hardware-optimize.service                                                          loaded    active   exited    Orange Pi hardware optimization
  orangepi-ramlog.service                                                                     loaded    active   exited    Orange Pi memory supported logging
  orangepi-zram-config.service                                                                loaded    active   exited    Orange Pi ZRAM config
● orangepi-hardware-monitor.target                                                            not-found inactive dead      orangepi-hardware-monitor.target
● orangepi-ramlog.target                                                                      not-found inactive dead      orangepi-ramlog.target

Лист. 1. Пользователь orangepi в службе systemctl.

Мы видим, что слово "orangepi" связано с несколькими системными службами. Но, это просто системные утилиты. Будем удалять пользователя и его домашнюю папку.

sudo userdel -r orangepi

Лист. 2. Удаляем пользователя "orangepi".

Проверяем наличие ошибок в системе.

sudo systemctl list-units --state=failed
  UNIT                  LOAD   ACTIVE SUB    DESCRIPTION                                            
● smartmontools.service loaded failed failed Self Monitoring and Reporting Technology (SMART) Daemon

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.
1 loaded units listed.

Лист. 1. Запуск службы smartmontools.service завершился с ошибкой.

sudo systemctl stop smartmontools.service

Лист. 2. Останавливаем службу smartmontools.service

sudo systemctl disable smartmontools.service

Лист. 3. Запрещаем автозагрузку службы smartmontools.service

sudo systemctl reset-failed smartmontools.service

Лист. 4. Убираем службу smartmontools.service из списка сбоев.

sudo systemctl list-units --state=failed
[sudo] пароль для user: 
  UNIT LOAD ACTIVE SUB DESCRIPTION
0 loaded units listed.

Лист. 5. Результат.

Наcтроим bash подсказки

grep ^$(whoami) /etc/passwd | cut -d: -f7
/bin/bash

Лист. 1. Настроен командный интерпретатор bash.

Лист. 2.

Установка рабочего стола

sudo apt install xorg lxqt-core sddm openbox obconf lxqt-config --no-install-recommends

Лист. 1. Установка графической подсистемы.

mkdir -p ~/.config/openbox
cp /etc/xdg/openbox/rc.xml ~/.config/openbox/
cp /etc/xdg/openbox/menu.xml ~/.config/openbox/

Лист. 2. Создание файлов минимальной конфигурации OpenBox для пользователя.

sudo apt install linux-firmware
echo "dtoverlay=panfrost" | sudo tee -a /boot/firmware/config.txt

Лист. 18. Настройка драйверов Mali.

sudo apt install mesa-utils libgl1-mesa-dri libglx-mesa0 libegl-mesa0 -y
sudo apt install libgl1 --no-install-recommends -y
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
sudo apt-get install qtcreator libglfw3-dev libglm-dev libepoxy-dev libboost-all-dev libglew-dev libopenal-dev libalut-dev

Лист. 19. Установите необходимые утилиты.

glxinfo | grep "OpenGL renderer"

OpenGL renderer string: Mali-G31 (Panfrost)

Лист. 20. Проверьте работу GPU.

sudo apt install pcmanfm-qt qterminal firefox-esr

Лист.