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
Лист.