Как установить и настроить ОС на Orange Pi Zero 2W в 2025 году

Как установить и настроить ОС на Orange Pi Zero 2W в 2025 году


На текущий момент этому одноплатнику почти 2 года. В интернете качественная информация по нему либо затерялась в свалке нерешенных вопросов и ответов, либо устарела. Я решил написать гайд, в первую очередь для себя, чтобы еще раз не проходить путь, который у меня занял 5 дней.

У меня Orange Pi Zero 2W на 4 ГБ и официальная плата расширения.

Выбор операционной системы

"Конечно, можно прочитать гайды общего рода, собрать ядро, настроить ОС, потратить пару недель/месяцев на все это и жить счастливо, но зачем это делать, если производитель позаботился о нас?" — подумал я.

После перебора операционных систем могу сказать, что относительно самой не проблемной из server-версий оказалась Ubuntu Focal (образ под названием Orangepizero2w_1.0.0_ubuntu_focal_server_linux5.4.125) и последняя версия от Armbian (на момент 16.01.2025). Если кратко, то в первой сборке работает из коробки звук, но она не умеет перезагружаться, а вторая перезагружается, но в ней не работает звук, и после первой настройки ломается конфигуратор. Экономить место на карте я не хотел, поэтому пошел другим путем — установка версии с графической оболочкой и обрезка ее самостоятельно. После 3 дней испытаний была выбрана Ubuntu Noble 1.0.4 c ядром 6.1.31 (образ под названием "Orangepizero2w_1.0.4_ubuntu_noble_desktop_xfce_linux6.1.31") — допилить ее оказалось проще, чем остальные.

Более подробные результаты тестирования:

Orangepizero2w_1.0.0_ubuntu_focal_desktop_xfce_linux5.4.125

Bluetooth: проверки не было

Звук: звук то замедлялся, то "пердел" в наушниках, либо ускорялся и замедлялся при изменении громкости

Потоковое видео: без проверки

Работает ли перезагрузка корректно: нет

Имеется ли возможность включить ГПУ: в конфигураторе параметра нет, возможно, можно включить через редактирование конфигурационного файла dtb

Графические артефакты: общая тормознутость графической оболочки


Orangepizero2w_1.0.0_debian_bullseye_desktop_xfce_linux5.4.125

Bluetooth: проверки не было

Звук: работает (качество по HDMI хорошее, по 3.5 jack чуть хуже), в трее звук не переключается, только через настройки адаптера

Потоковое видео: vkvideo без тормозов воспроизводит в 480p, 720p с лагами

Работает ли перезагрузка корректно: нет

Имеется ли возможность включить ГПУ: неизвестно

Графические артефакты: на некоторых сайтах в встроенном браузере во время анимаций (например, сайт радио "Шоколад") или обновления экрана мигает курсор и имеются подлагивания


Orangepizero2w_1.0.2_ubuntu_jammy_desktop_xfce_linux6.1.31

Общими словами: браузер не запустился, в логах было вагон ошибок, на которые не хотелось тратить время, решил даже не продолжать тестировать


Orangepizero2w_1.0.2_debian_bookworm_desktop_xfce_linux6.1.31

Bluetooth: проверки не было

Звук: работает (хорошо), в трее звук переключается через раз

Потоковое видео: vkvideo без тормозов воспроизводит в 480p, 720p с лагами

Работает ли перезагрузка корректно: да

Имеется ли возможность включить ГПУ: да, улучшает взаимодействие с графической оболочкой

Графические артефакты: как у Orangepizero2w_1.0.0_debian_bullseye_desktop_xfce_linux5.4.125


Orangepizero2w_1.0.2_debian_bullseye_desktop_xfce_linux6.1.31

Bluetooth: проверки не было

Звук: работает, но не переключился после открытия громкости в адаптере, артефакт с ускорением воспроизведения

Потоковое видео: проверки не было

Работает ли перезагрузка корректно: проверки не было

Имеется ли возможность включить ГПУ: проверки не было

Графические артефакты: проверки не было


Orangepizero2w_1.0.4_ubuntu_noble_desktop_xfce_linux6.1.31

Bluetooth: работает

Звук: работает (хорошо), в трее звук переключается без проблем, но в 3 из 10 случаев, если переключать звук именно через свойство адаптера, то появляется артефакт в виде ускоренного или замедленного воспроизведения, лечится это остановкой аудиопотока и переключением на неактивный выход

Потоковое видео: в онлайне с сайта vkvideo поначалу были тормоза при воспроизведении видео в 720p, но через какое-то время пропали

Работает ли перезагрузка корректно: да

Имеется ли возможность включить ГПУ: да, улучшает взаимодействие с графической оболочкой

Графические артефакты: как у Orangepizero2w_1.0.0_debian_bullseye_desktop_xfce_linux5.4.125, но часть артефактов можно починить

Примечания:

  • На следующий день я выяснил, что скорость на i2c у этой сборки меньше, чем у других, что негативно влияло на работу некоторых приборов, но я нашел, как это исправить.
  • Пару раз после отправки сигнала о перезагрузке в нештатной ситуации одноплатник с этой ОС все же не перезагрузился.

Установка и настройка ОС

  • Скачиваем Orangepizero2w_1.0.4_ubuntu_noble_desktop_xfce_linux6.1.31. Ссылку можно найти на официальном сайте одноплатника или в начале поста
  • Если у вас Windows, то с помощью Rufus записываем образ на карту (выбирайте высокоскоростную карту).
  • Вставляем карту в одноплатник, ждем первой загрузки (она обычно дольше, чем последующие).
  • Настраиваем подключение к Wi-Fi, добавляем раскладку для клавиатуры через приложения в трее.
  • Открываем консоль и выполняем команду:
orangepi-config
  • Перезагружаемся.
  • Открываем консоль и добавляем репозитории в файл /etc/apt/sources.list
deb [arch=arm64] http://ports.ubuntu.com/ focal main multiverse universe
deb [arch=arm64] http://ports.ubuntu.com/ focal-security main multiverse universe
deb [arch=arm64] http://ports.ubuntu.com/ focal-backports main multiverse universe
deb [arch=arm64] http://ports.ubuntu.com/ focal-updates main multiverse universe
  • Обновляемся:
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt autoremove -y
  • Я по умолчанию устанавливаю/обновляю следующие пакеты:
sudo apt install -y wget curl git make cmake build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev llvm xz-utils tk-dev libffi-dev liblzma-dev python3-openssl python3-dev i2c-tools python3-smbus python3-smbus2

Немного про оптимизацию

  • В настройках рабочего стола и отображения я изменил количество рабочих столов и убрал различные графические эффекты в виде анимаций и теней (последнее сомнительно помогло).
  • Работа в браузере (Firefox) затруднена. Как вариант, можно выделить больше памяти и подкрутить другие параметры, но не факт, что это сильно поможет — разницы я особо не заметил, но я и не сильно нагружал.
  • Вписываем в адресную строку about:config и меняем следующие настройки:

browser.cache.disk.enable → false

browser.cache.memory.enable → true

browser.cache.memory.capacity → 524288 (512 МБ)

browser.tabs.unloadOnLowMemory → true

network.prefetch-next → false

  • Либо можно пойти другим путем, установить более легкий браузер, например Falkon:
sudo apt install falkon
  • При использовании Falkon действительно меньше графических артефактов, и некоторые элементы на страницах отображаются лучше, чем в Firefox, но на страницах телеграмма подлагивания имеются.
  • Мучать карту я не хотел, поэтому отключил swap на ней (хотя насколько это может помочь, неизвестно):
sudo swapoff -a
sudo sed -i '/swap/d' /etc/fstab
  • Своей рабочей директорией я считаю папку /opt, поэтому перехожу в нее.

Установка Python 3.9

В этой сборке ОС имеется Python версии 3.12. Если необходима версия 3.9, то вот список команд:

wget https://www.python.org/ftp/python/3.9.21/Python-3.9.21.tgz && tar -xvf Python-3.9.21.tgz && cd Python-3.9.21 && ./configure --enable-optimizations --with-openssl=$(dirname $(dirname $(which openssl))) && make && sudo make altinstall && cd .. && rm -rf Python-3.9.21 Python-3.9.21.tgz

Уходим пить чай, выполнение займет много времени.


Настройка виртуального окружения Python 3.9

  • Создаем виртуальное окружение:
sudo mkdir -p /opt/projects/default_p39_venv && sudo chown -R orangepi:orangepi /opt/projects/default_p39_venv && python3.9 -m venv /opt/projects/default_p39_venv
  • Активация виртуального окружения (на будущее):
source /opt/projects/default_p39_venv/bin/activate
  • Для деактивации:
deactivate

Настройка скорости i2c

Как я говорил ранее, в этой сборке скорость на i2c установлена минимальная, из-за этого при отправке изображений на дисплей типа ssd1306 были артефакты: изображение загружалось построчно. Советы в интернете, по типу

отредактируйте загрузочный файл /boot/orangepiEnv.txt и добавьте туда доп. параметр с уточнением скорости

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

  • Подключаем устройство к одноплатнику согласно своей схеме, пины можно посмотреть с помощью команды:
gpio readall
  • Смотрим список устройств:
i2cdetect -l
  • Мое устройство подключено к первому из списка, получаем более подробную информацию о нем:
i2cdetect -y 1
  • Видим в ответе 3c, либо другой адрес
  • Делаем резервную копию Device Tree Binary (DTB):
sudo cp /boot/dtb/allwinner/sun50i-h618-orangepi-zero2w.dtb /boot/dtb/allwinner/sun50i-h618-orangepi-zero2w.dtb.backup
  • Устанавливаем ПО для работы с файлом:
sudo apt install device-tree-compiler
  • Конвертируем файл в текстовый формат:
dtc -I dtb -O dts -o sun50i-h618-orangepi-zero2w.dts /boot/dtb/allwinner/sun50i-h618-orangepi-zero2w.dtb
  • Чтобы узнать более точное место редактирования параметра управления скоростью передачи данных, я ищу строчку i2c1, где 1 - это номер i2c из команды выше (i2cdetect)
  • Находим строчку формата i2c1 = "/soc/i2c@5002400".
  • Далее ищем список параметров по этому адресу и вписываю в него clock-frequency = <400000>;. Должно получиться примерно следующее:
i2c@5002400 {
    compatible = "allwinner,sun50i-h616-i2c\0allwinner,sun8i-v536-i2c\0allwinner,sun6i-a31-i2c";
    reg = <0x5002400 0x400>;
    interrupts = <0x00 0x07 0x04>;
    clocks = <0x02 0x49>;
    resets = <0x02 0x18>;
    pinctrl-names = "default";
    pinctrl-0 = <0x2f>;
    status = "disabled";
    #address-cells = <0x01>;
    #size-cells = <0x00>;
    clock-frequency = <400000>;
    phandle = <0x78>;
};
  • Компилируем обратно в dtb:
dtc -I dts -O dtb -o sun50i-h618-orangepi-zero2w.dtb sun50i-h618-orangepi-zero2w.dts
  • Копируем файл:
sudo cp sun50i-h618-orangepi-zero2w.dtb /boot/dtb/allwinner/
  • Перезагружаемся:
sudo reboot
  • Радуемся!
А затем можно удалить графическую оболочку и радоваться облегченной и полностью рабочей server версией ОС

Report Page