Как установить linux на orange pi pc

Обновлено: 07.07.2024

В связи с тем, что на моей плате OrangePi Plus есть встроенная EMMS память, я решил сэкономить на флешке и установить на данную флеш память операционную систему. Я рассмотрю 2 варианта установки системы на EMMS.

Вариант 1. Установка официальной версии ОС.

Переходим на официальный сайт OrangePI скачиваем на ]]> странице ]]> образ Lubuntu_1404_For_OrangePiplus_v0_9_0_.img.xz, но по ссылке в Google Disk открывается Lubuntu_1404_For_OrangePiplus_v0_8_0, а для того, чтобы скачать в Baidu нужно поставить клиент на компьютер либо телефон, то я выкладываю ссылку на уже скачанный дистрибутив, скачиваете и заливаете на флешку аналогично как по инструкции.

После этого ставите флешку в плату и включаете, должен загорется красный светодиод, и через несколько секунд линк на сетевой карте. После загружузки, смотрим на роутере какой айпи получила плата и подключаемся используя программу putty и логин с паролем orangepi/orangepi, если не знакомы с Putty, вот инструкция по использованию Putty.
Зайдя на сервер, на время настройки авторизируемся как пользователь root выполнив команду:

Выполним команду для расширения корневого раздела на все свободное пространство флешки:

На запрос системы на то, что будет изменен раздел, нажимаем y
После выполнения изменений перезагружаем наш мини сервер командой:

После загрузки, подключаемся к серверу по SSH используя программу Filezilla и копируете образ ранее скачанный и разархивированный Lubuntu_1404_For_OrangePiplus_v0_9_0_.img в папку пользователя orangepi. Зайдя на сервер, на время настройки снова авторизируемся как root выполнив команду:

Закачанный на плату распакованный образ Lubuntu для переноса на EMMS

Приступаем к записи образа Lubuntu на EMMS.

Открываем файл /home/orangepi/burn-image-to-emmc/readme.txt и читаем инструкцию по заливке операционной системы из образа на EMMS:

В системе внешняя флешка видится как /dev/mmcblk0, а EMMS как /dev/mmcblk1

Список резделов, флеш и EMMS

Так как ранее мы авторизировались как root, sudo перед командой нам вводить не нужно. Копируем скачанный образ Lubuntu на EMMS выполнив команду:

Записана Lubuntu на EMMS

Перезагружаем плату выполнив команду:

Зайдя на сервер, на время настройки снова авторизируемся как пользователь root выполнив команду:

Запускаем запись загрузчика в EMMS выполнив команду:

Установка загрузчика системы на EMMS

Выключаем наш мини сервер выполнив команду:

Отключаем питание и вытаскиваем флешку, включаем питание на плате, должен загорется красный светодиод и через некоторое время линк на сетевой карте. Смотрим на роутере какой айпи выдало плате автоматически и подключаемся к серверу используя программу putty и логин orangepi с паролем orangepi

Lubuntu загруженная с emms, без расширения корневого раздела

Авторизируемся как root и расширяем корневой раздел на все свободное место выполнив команду:

Расширили корневой раздел на все свободное пространство

Перезагружаем сервер выполнив куоманду:

Расширили корневой раздел на все свободное пространство - 2

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

Вариант 2. Установка версии ОС от Loboris.

Хорошим человеком ]]> Loboris ]]> скомпилированы образы, разных операционных систем на одноплатники. Также подготовлены скрипты как по обновлению ядра, так и по установке необходимых графических систем на рабочий стол для использования как медиа устройства. Этот вариант мне лично нравится гораздо больше, так как устанавливается голая ось, и из потребностей доустанавливается то, что необходимо. Также гораздо практичнее и проще работает установка системы на EMMS.

Установку я буду делать на примере версии Debian Jessie, пробовал также и Debian Wheezy никаких отличий.

На странице ]]> Google Disk ]]> скачиваем образ Debian_jessie_mini.img.xz

Список образов операционных систем от Loboris для установки на OrangePi

Скачиваем образ Debian Jessie от Loboris для установки на OrangePi - 1

Скачиваем образ Debian Jessie от Loboris для установки на OrangePi - 2

Скачиваем образ Debian Jessie от Loboris для установки на OrangePi - 3

Разархивируем скачанный образ и заливаем на флешку по примеру как в инструкции.

После заливки, в флешке на фат разделе можно увидеть список файлов для загрузки разных версий OrangePi:

Нам необходимо переименовать на примере для моей платы OrangrPi Plus:

Разрешение экрана выбирайте свое, я выбрал как в своем мониторе. После этого извлекаем флешку из компьютера и вставляем в плату, включаем, должен загорется красный светодиод, и через несколько секунд линк сетевой карты, если вы подключили сеть.

Смотрим на роутере какой айпи получила плата, заходим удаленно сети используя программу Putty введя логин orangepi и пароль orangepi

После авторизации на сервере, расширяем корневую файловую систему на все свободное пространство введя команду:

Перегружаем плату выполнив команду:

После загрузки снова подключаемся к плате, авторизируемся как root dsgjkybd команду:

и запускаем установку системы на встроенную EMMS память выполнив команду:

на запрос скрипта о том, что EMMS будет перезаписан нажимаем y

Перенос системы Debian Jessie на EMMS в OrangePi

После установки Debian на флеш EMMS в мини сервер OrangePi, заходим на сервер используя программу putty, устанавливаем нужные программы и можем установить и запустить программу htop, увидеть загрузку и количество ядер, оперативной памяти и запущенные процессы:

Загрузились в OrangePi с установленной системой Debian Jessie на EMMS

Если Вы используете свою плату как мини сервер, то достаточно кстановить нужные Вам программы, настроить и плата будет работать тихо и незаметно.

Если Вам необходимо установить графическую систему, для использования как медиа сервера, Вам необхлодимо установить графическую систему. Loboris подготовил несколько скриптов по установке разных графических столов, запускаем нужный скрипт для установки выбранного Вами рабочего стола:

Единственный минус собранного ядра от Lobioris, это отключенный multiport для iptables, что накладывает ограничение на использование Fail2Ban, если Вы используете плату как сервер. Решение данной проблемы я выложу немного позже.

Сегодня мы установили Debian Jessie на одноплатный мини компьютер OrangePi Plus двумя вариантами, какой из них выбрать решать Вам.

Пришел ко мне Xunlong Orange Pi Zero с 512Mb памяти. Полностью собранный, помещается на ладони.



Пульт от зомбоящика для сравнения.

Сердцем является 4-х ядерный Allwiner H2+. По слухам - это тот же H3 только без аппаратной поддержки 4K и с 100Mbit-м LAN. На плате расположены: один LAN, один USB, слот под micro SD карточку, гребенка COM порта, GPIO гребенка совместимая с Raspberry Pi, гребенка для платы расширения, выносная антенна WiFi и micro USB порт, он же OTG, для питания устройства. HDMI нет.


Рекомендуемая мощность блока питания - 5v/2A. Рекомендуемый тип карты от 4Gb, как минимум 10-й класс. Дополнительно можно купить плату расширения и отличный корпус. На шилде расположен 3.5мм аудио разъем совмещенный с ТВ выходом и фильтр, убирающий посторонние шумы из аудиотракта. Также присутствуют: микрофон, ИК приемник и два дополнительных USB порта.


Корпус выполнен из темно-синего, полупрозрачного пластика пропускающего ИК излучение. При ярком освещении кажется абсолютно черным. За счет не гуманой доставки, дешевле брать весь набор целиком.


Даже без корпуса температура процессора вызывает тревогу. Встроенный в Linux монитор показывает +50C. В корпусе, с платой расширения и наклеенным радиатором 14х14х8мм - температура заваливает за +56C.

На официальном сайте много полезной информации о плате и готовые сборки Linux и Android. Продвинутые красноглазики советутют обходить их стороной и ставить Ubuntu Xnenial или Debian Jessie от команды Armbian. На их сайте находится зоопарк Linux версий в которых очень трудно разобраться начинающему линуксоиду. Дробление произошло из-за нежелания Allwiner выкладывать исходники, а те что есть давно протухли. За это Allwiner и не любят, но все решает копеечная цена процессоров. Вобщем если нужна поддержка аппаратного декодирования видео, то качаем древнее ядро/legacy kernel - Ubuntu_xenial_default.7z. Если ТВ выход использовать не планируется, накатываем свежак/mainline kernel - Debian_jessie_default.7z.

ока качается образ подготовим SD карту. Идем на сайт ассоциации производителей SD карт и качаем чудо-утилиту для омоложения. Позволяет привести БУ карту к заводским настройкам и вернуть былую резвость. Подробнее об этом, на антимонгольском тут. Если вылетает с ошибкой, поменяйте кардридер. Теперь качаем Rufus - программа для развертывания iso/img/dos образов на флешку. Повторяем все как на картинке, жмем Start.


Все. Вставляем карту, подключаем LAN, подаем питание и даем системе 30-40 секунд на загрузку. Для того, чтоб произвести начальную настройку нам понадобится PuTTY
и IP адрес нашего Апельсина. Идем в вебморду WiFi роутера и ищем там IP - orangepizero. Сразу советую поменять IP на статический, а то при каждом включении Апельсина вам придется искать его заново. Загружаем PuTTY, вписываем IP и устанавливаем SSH соединение на порту 22. Вводим login - root и пароль - 1234. Система тут-же предложит его поменять. Отказаться нельзя.


С того времени как был собран наш Linux многое могло измениться, поэтому опытные красноглазики перед тем как что-то делать всегда обновляют пакеты и ядро:

Теперь когда все свежее можно и WiFi настроить через УДОБНОЕ текстовое меню. Спасибо Armbian за это!

Идем в Network -> wlan0 -> Wifi Manage Wireless networking выбираем точку доступа и вводим пароль.


Отключаем LAN кабель и на всякий случай перегружаем Апельсин:

Скорость WiFi на скачку около 2Mb/s. Все, минимальная настройка завершена.

Можно дальше лазить по меню включать/отключать пакеты и переферию. Например деактивирование HDMI/GPU, экономит 200mW.

Установить (записать) образ ОС для Orange Pi PC используя компьютер с Windows - очень просто. Для этого нам потребуется карта памяти MicroSD и последняя версия Win32Imager, скачайте, установите и запустите данную утилиту (образ желаемой ОС уже должен быть скачан и распакован из архива, итоговый файл должен быть с расширением .img).

В окне Win32 Disk Imager выберите файл образа, находящийся на Вашем диске и букву диска, которая соответствует карте памяти microSD на которую необходимо записать образ операционной системы и нажмите Write, а затем подтвердите запись на карту памяти нажатием Yes в окне подтверждения (будьте внимательны, этот процесс полностью удалит все данные с карты памяти).



Установка образа Linux из Mac OS

Запись образа из Mac OS будет выполнятся только при помощи встроенных системных утилит.

Проблемы

  • Ошибка dd: invalid number '1m' - замените bs=1m на bs=1M в команде записи.
  • Если команда записи все еще возвращает ошибку - попробуйте записывать напрямую в карту памяти, без /dev/rdisk2, просто в /dev/disk2

Установка образа Linux из Linux

Перед началом скачайте предпочитаемый образ ОС и распакуйте его из архива в удобное для Вас место (в примере этот файл будет на рабочем столе), а также подключите карту памяти microSD в кард-ридер компьютера.

  • Нужно определить системный путь к карте памяти, выполните команду df -h. В левой колонке будут перечислены все диски примонтированные в данный момент, карта памяти будет иметь название похожее на одно из следующих /dev/mmcblk0p1 или /dev/sdс1. p1 или 1 это номер раздела на диске, а нам нужен сам диск, потому используем /dev/mmcblk0 или /dev/sdc
  • Отмонтируйте все разделы карты памяти примонтированные в систему автоматически. В нашем случае только один раздел p1
  • Приступаем к записи.
    if= - Путь с образу ОС. То есть "то, что будем копировать".
    of= - Путь к диску, место назначения. То есть - "то, куда будем копировать".
    bs=4M - Размер блока данных (чем больше - тем быстрее запись). При ошибках записи понижайте это значение до 1M.
  • Выполните команду sync чтобы все данные из кэша были окончательно записаны на диск.

Установка образа Linux в eMMC (NAND)

Образы ОС Linux для Orange Pi построены таким образом, что они не могут быть записаны напрямую во внутреннюю память устройства (NAND), потому для установки ОС на eMMC чип придется сначала установить на карту памяти, запустить плату с microSD карты и встроенными в сборку ОС средствами перенести систему во внутреннюю память платы. Эта инструкция применима с платами Orange Pi Plus, Orange Pi Plus 2 и Orange Pi PC Plus.

В разных сборках ОС свои скрипты для переноса ОС во внутреннюю память, здесь мы упомянем все известные нам ОС и как их перенести в NAND.

Armbian

В ОС Armbian есть встроенная утилита (скрипт) nand-sata-install, при выполнении данной команды запустится интуитивный мастер переноса ОС во внутреннюю память устройства или подключенный SATA диск.

Сборки от loboris

  • Установите ОС на карту памяти по инструкциям выше и запустите свой Orange Pi
  • Выполните команду
  • По окончанию процесса отключите питание и извлеките карту памяти из платы.
  • Включите питание. Загрузка начнется из внутренней памяти платы.

Обратите внимание, если вы снова загрузите плату с картой памяти на которой записана рабочая ОС, загрузка будет произведена с карты памяти, так как она имеет высший приоритет над встроенной памятью, отформатируйте карту памяти перед использованием в качестве дополнительного хранилища.

Вы можете использовать файловую систему btrfs со сжатием "compress=lzo" что поможет сохранить до 40% дискового пространства. Для этого - переносите ОС такой командой

Перенос ОС из встроенной eMMC на microSD карту

  • Запустите плату без подключенной microSD карты.
  • После загрузки подключите карту памяти в слот
  • Выполните команду
  • Готово. Теперь у Вас 2 независимые копии ОС, во внутренней памяти и на microSD карте. microSD карту Вы можете запустить на любом другом Orange Pi.

Установка на USB флешку

Перенос и загрузка системы может осуществлятся так же с USB флешкой. Для этого в сборках ОС от loboris присутствует скрипт install_to_usb.

  • Для запуска процесса выполните команду
    /dev/sdXn - Путь к USB флешке, можно посмотреть командой df -h
    btrfs - Если добавить этот параметр (не обязательный) флешка будет отформатирована в btrfs вместо ext4
    noformat - При использовании данного параметра - USB флешка не будет отформатирована. Данные будут объединены. Используется для обновления резервной копии системы на USB диске.
  • По окончанию процесса копирования - перезагрузите плату, загрузка начнется с USB флешки.

Более детальные инструкции по этому процессу описаны в теме форума "Перенос системы Orange Pi на USB флешку".

Наконец у меня «дошли» руки, до разворачивания второго сервера управления умным домом Domoticz — и в этом обзоре я постараюсь подробно рассказать о том, как я это сделал.

Вступление

Для тех что не читал, дам ссылку на свой обзор Raspberry Pi Model 3 B — устанавливаем систему управления умным домом Domoticz . Малинка усердно трудится на ниве автоматизации задач, но система растет — на данный момент 61 устройство только Xiaomi и все бы ничего — но проблема в том, что к одному серверу домотикз можно подключить только 1 шлюз Xiaomi. А у меня их три — правда 1 — Aqara, без режима разработчика, но другие два — с возможностью подключения.

В качестве второй платформы, я решил остановится на Orange Pi PC 2.

Покупал комплект в магазине Banggood, ссылки ниже

Технические характеристики

CPU - Allwinner H5, ARM Cortex-A53 Quad Core
GPU - Mali450MP, Hexa-core
RAM - 1 GB
Хранилище - microSD, NOR Flash 2Mb
Сетевые возможности - Ethernet 10/100/1000
Видео вывод - HDMI
USB порты - 3
Беспроводные возможности - Инфракрасный порт
Аудио вывод - 3,5 Jack, HDMI
GPIO - 40 pins
Питание - 5V 2A

Коробка, комплект поставки

Поставляется миникомп в картонной коробке, с надписью Orange Pi


Внутри — запаянная в антистатический пакет плата компа


В комплекте больше ничего не идет, поэтому при покупке нужно сразу заказать блок питания и комплект радиаторов — как минимум.


Внешний вид, описание

Практически все элементы и порты находятся на верхней части платы, на нижней только картоприемник

Описание всех элементов и портов:

Если еще кто-то не обратил внимания — то уточню — здесь нет Wi-Fi ( и bluetooth тоже).

Я сразу установил комплект радиаторов — CPU радиатор точно совпал по размерам, для чипов памяти — они несколько меньше. Но забегая вперед скажу, что неоднократно замеряя температуру, в процессе установки ПО — выше 40 градусов не было ни разу, в среднем 37.


в масштабе со спичечным коробком


Установка операционной системы

Для установки ОС — нам необходима SD карта, желательно не менее 8 ГБ, и желательно иметь хотя бы две одинаковые карты — ибо бекапы. Я дополнительно не покупал, так как имею порядочный запас карт, для апельсинки приберег две карты microSD 16GB Samsung Class 10

Диструбитивы ОС для апельсинок находятся здесь находим нашу модель и качаем — я взял Debian Desktop — может будет охота в будущем поиграться с ней, но с тем же успехом можно взять более компактный Debian Server


Распаковываем img системы (может быть архив в архиве — .xz в .rar) — нам нужен именно .img файл, дебиан десктоп — 2 ГБ с кепкой. Пишем на microSD при помощи Win32 Diskimage — ссылка


После того как флешка записывается — вставляем ее в картоприемник апельсинки и включаем питание.Через минутку — даем системе загрузится, заходим в список DHCP клиентов на домашнем роутере и ищем адрес выданный для OrangePi


Теперь можно заходить на нее через SSH используя любой SSH клиент — я использую старый добрый Putty.

По умолчанию, для апельсинового дебиана, используем следующие учетные данные -

user — root, pass - orangepi, но рутовый доступ через SSH закрыт, заходим под пользователем orangepi, пароль такой же. Пользователь orangepi — входит в группу sudo.

Сразу меняем пароль на свой командой


Далее переходим в учетную запись root командой

и аналогично меняем пароль для root. После этого выходим из учетки root — все делаем под пользователькой учеткой.

Если хотите добавить другого пользователя, то воспользуйтесь командой

И добавьте его в группу sudo командой


Далее, прописываем статический IP адрес для малинки (либо в настройках DHCP роутера) либо командой

И в файле прописываем адрес


Перегружаемся для применения настроек


Меняем часовой пояс при помощи команды


после установки прописываем свои ntp сервера в файле настроек вместо дефолтных

в моем случае — для Украины, подробнее о пуле ntp серверов можно узнать здесь


Синхронизируемся и радуемся точному времени.


Подготовка к установке domoticz

Перед установкой — нужно обновить систему, для этого сначала запускаем команду

А после успешной загрузки -

Дожидаемся полного завершения


Теперь устанавливаем домотикз — делается это одной командой

Собирается и устанавливается stable версия Domoticz


Основные настройки — задаем в окне инсталлятора, но можно все оставить по умолчанию



На данный момент стабильная версия поддерживает работу с шлюзом Xiaomi


Но я поставил beta — для совместимости версий с Raspberry Pi. Делается это запуском скрипта из домашней папки domoticz

Система Domoticz полностью установлена.

Рюшечки, которые я потом добавил — типа локализации, установки ftp и прочего — я уже описывать не буду, мануалов по Debian много — в этом обзоре я фокусируюсь на минимально необходимом для установки именно Domoticz. Что касается интерфейса системы и вопросов добавления устройств — отошлю вас снова в свой обзор Raspberry Pi Model 3 B — устанавливаем систему управления умным домом Domoticz.

На данном этапе я настоятельно рекомендую сделать бекап — чистой, с иголочки, системы домотикз, что даст возможность мучать ее как угодно, после чего за пару минут получать исходный, чистый образ. Для создания бекапа я снимаю образ диска программой R-Drive, нашел ее на торрентах, достаточно даже portable версии — сколько раз она меня выручала — не передать.


Но чтобы еще рассказать что-то интересное, расскажу про надстройку, которую я использую для управления умным домом с смартфона -

ImperiHome

Основная страница по установке находится здесь. Это приложение для смартфонов/планшетов, выглядит примерно так — можете настраивать по своему желанию.


Сначала необходимо установить серверную часть, для начала удаляем текущую и ставим новую node

После этого ставим npm

И проверяем версии


Далее приступаем к установке серверной части системы

открываем файл с источниками

и добавляем строку -


После этого рекомендуется вновь обновится

И запустить установку серверной части MyDomoAtHome


После установки, вносим в файл настроек данные по своему серверу Domoticz — указываем адрес (вместо 127.0.0.1)



Если картинка примерно такая — то все ок


Далее из плеймаркета ставим приложение ImperiHome. Переходим в настройки, Моя система, добавить новую систему

Далее выбираем Imperihome Standard System, прописываем адрес нашего сервера и порт 3002, и через пару секунд — клиент видит систему и показывает все выведенные в данный момент переключатели.

Все устройства отображаемые в панели переключателей Domoticz — будут показаны в Imperihome, тут вы можете их переименовывать (на домотикз это не влияет) выносить в избранное и т.д.

Работать клиент с Домотикзом — может только в домашней сети (если конечно у вас не хватит ума засветить ИП сервера домотикза на публичный IP адрес), для работы удаленно — вам понадобится VPN сервер.

У меня на данный момент работает временное решение в виде Open VPN на Raspberry — я хочу организовать это, как постоянное решение — силами роутера. Так как мой текущий роутер не позволяет это делать — мне пришлось его обновлять, решая на самом деле еще ряд проблем. Но это будет темой следующего обзора.

Кто хочет подробнее просмотреть все описанное в обзоре, может сделать это просмотрев мой видеообзор

image

Уже не раз замечал интерес к новой плате-клону всем известной Raspberry Pi от китайских энтузиастов из компании Xunlong под звучным названием Orange Pi PC. Прославилась она, в основном, своим неплохим «железом» (4-ядерный процессор Allwinner H3, 1Gb RAM и GPU Mali-400MP2 600MHz), наличием неплохого функционала (HDMI, AV, Ethernet, 3 USB, microUSB-OTG, инфракрасный порт для управления с пульта и GPIO-гребенка, по словам разработчиков, якобы «100% совместимая с Raspberry Pi), а главное — ЦЕНА. Создатели оценили свой девайс всего лишь в $15, ПЯТНАДЦАТЬ долларов, Карл! (скоро мы увидим, что это на самом деле весьма лукавое заявление, и конечный девайс стоит дороже).

Итак, давайте рассмотрим данную плату повнимательнее.

В рунете уже есть на нее обзоры, но все они представляли из себя нечто вида „установил андроид и подключил к телеку на кухне“. Я предлагаю взглянуть на плату с другой стороны, а именно — установить туда линукс, поюзать её как настоящий ПК, и даже немного поиграть.

Для тех, кому лень читать полностью, прорезюмирую:

Интересная штука, на данный момент вполне юзабельная, но имеется огромное количество огрехов и косяков, требующих допиливания напильником. Покупать только на свой страх и риск! Простому пользователю, рассчитывающему иметь готовое решение „из коробки“, я бы посоветовал обратить внимание на ТВ-боксы на базе Android или Windows. Продвинутому пользователю, знакомому с Linux, который не боится неизведанных челенджей в сыром продукте, и которому хотелось бы иметь неттоп для интернет-серфинга, работы с документами, программирования и скромных игр — must have! Особенно с учетом цены.

0. Предыстория. Немного о Raspberry Pi и его клонах

Raspberry Pi Model A, изображение из гугла


Raspberry Pi Model A, изображение из гугла

Когда в 2011 году создатели Raspberry Pi огласили на весь мир свои планы сделать миниатюрный (площадью примерно с пластиковую карту) и недорогой ($25) компьютер, весь мир компьютерных энтузиастов и гиков был в экстазе. Все только-только отходили от революции в домашней электронике „для Кузьмичей“, которую свершила Arduino со своей концепцией доступных и простых отладочных плат, а тут практически за те же деньги полноценный ПК на Linux!

Конечно, на ARM-процессоре от мобильного телефона с 256Мб оперативки особо не разгуляешься, но даже несмотря на все существовавшие ограничения, любители и гики пытались запускать на „малинке“ игры, серфили интернет, делали из нее всевозможные домашние серверы и, конечно, использовали в качестве „мозга“ во всевозможных DIY-проектах благодаря встроенному GPIO.
Но время шло. Несмотря на то, что первоначально Raspberry Pi задумывался как современный аналог BBC Micro — как простой, недорогой и всеми способами доступный компьютер для обучения школьников программированию и компьютерной науке, „малинка“ все же завоевала сердца простых обывателей, у которых были запросы более требовательные к железу, нежели интерпретатор Python'a и моргание светодиодом через GPIO. Гикам хотелось, чтобы их игрушка могла проигрывать качественные видео, запускать красивые 3D-игрушки и резво отрисовывать „тяжелые“ веб-страницы.
Поэтому в феврале 2015 создатели „малинки“ выпустили новую модель — Raspberry Pi 2. Тут уже был „полный фарш“ — процессор обзавелся 4 ядрами для распараллеливания „тяжелых“ задач и 1 гигабайтом оперативной памяти для облегчения жизни пользователей. Но было уже поздно.

Пока производители Raspberry Pi медлили с выпуском новой версии, у них появилось множество „идейных последователей“, в том числе и из Китая, которые кинулись выпускать клоны Raspberry Pi, в целом преследуя одну и ту же цель — удовлетворить спрос массового пользователя на недорогие и мощные платы.

Так появился целый сонм различных альтернатив „малинке“ — ODROID, Banana Pi, PandaBoard, Сubieboard, BeagleBone и многие другие (более полный список можно увидеть здесь, здесь и здесь ). Одной из этих альтернатив стала плата Orange Pi — мини-пк на базе двухъядерного SoC Allwinner A20. Позднее ее производитель, китайская компания Xunlong, выпустила ее обновленую версию, Orange Pi 2 на базе четырехъядерного SoC Allwinner H3, кастрированной версией которой и является герой нашего обзора — Orange Pi PC.

Обошелся он мне в $18.52 с доставкой почтой Финляндии. Заказ был сделан 26 октября, а 17 ноября заказ был уже у меня (довольно быстро, особенно если учесть многочисленные предупреждения от продавца о том, что в связи с высоким спросом отправка может занять дольше обычного).

1. Комплектация и внешний вид



Минимальная комплектация: сама плата, коробка и инструкция

Итак, начнем с комплектации. Её нет. От слова совсем. Ведь я заказывал самую дешевую версию платы, без каких-либо ништяков. У продавца в наличии есть еще различные наборы — сама плата, блок питания, корпус из орг.стекла, радиатор, карточка памяти и т.д.
Я решил пойти самым спартанским путем, поэтому мне в дополнение к плате досталась лишь коробочка с плохенькой полиграфией, склеенная, по ощущениям, вручную, и мятая бумажка с какими-то увещеваниями на тему „не суйте пальцы в розетку“, видимо, необходимая для соответствия различным гос.требованиям США и ЕС.

Рассмотрим плату со всех сторон:


На самой плате отчетливо выделяются:

— чип Allwinner H3 — не самый плохой, но Allwinner — контора все-таки довольно гнилая, уже ставшая печально известной своим нарушением открытых лицензий, а ее чипы — невыносимой прожорливостью слона и тепловыделением, сравнимым с небольшим вулканом. Единственным их преимуществом остается низкая цена, а это порождает вокруг чипов огромное коммьюнити (плодами которого, кстати, мы и будем пользоваться);
— два чипа оперативной памяти DDR3L Samsung K4B4G16460-HYKO по 512Mb каждый, дающие в сумме 1Gb RAM.

С верхней стороны платы мы видим IR-приемник и гребенку GPIO. Кому интересно, вот распиновка:



С правой стороны мы видим 3 USB 2.0 разъема и порт Ethernet 10/100.


Снизу мы видим дурацкий нестандартный разъем питания (сделанный таким, видимо, для того, чтобы увеличить продажи кастомных блоков питания у производителя плат), гребенку для подключения UART (распиновка GND, RX, TX — все штырьки подписаны), полноценный HDMI-разъем, микрофон и разъем 3,5 для вывода на „колокольчики“.

Надо сказать пару слов про питание. В документации сказано, что плата очень прожорливая и требует твердых 5В и 2А от блока питания. Производитель платы продает к ней блоки питания на 5В и аж 3А (!), поэтому советую приобрести именно такой, на случай, если амперы в вашем блоке питания окажутся „китайскими“, иначе возможны „фризы“. С нестандартным разъемом бороться можно просто — плату можно запитать через шину GPIO: +5В подключаем на 2 или 4 пин, „землю“ на 6 пин.


С левой стороны мы имеем microUSB-OTG, разъем для подключения камеры (модуль камеры продается у производителя за безумные $8.76 с доставкой), непонятную кнопку (якобы „Power Switch“, но в Lubuntu он не работает). Так же под разъемом для камеры находится разъем для подключения MicroSD карт памяти.

Ну что ж, пока плата выглядит неплохо. Есть свои „специфические моменты“, но пока они выглядят терпимо, скажете вы… Но на самом деле, интересное еще впереди!

Что нужно сделать, прежде чем включать плату. Это важно!

Даже производитель не рекомендует работать с Orange Pi PC без радиатора! Без охлаждения чип греется до адских 70-80 градусов и выше, и в лучшем случае, это закончится троттлингом процессора, поочередным отключением ядер процессора и фризом, в худшем — процессор будет безнадежно сожжен! Конечно, это можно и обойти вас стороной, но я бы все же не стал рисковать.
Я заблаговременно приобрел мини-радиаторы для Raspberry Pi, выглядят они вот так:


Стоят они доллар на алиэкспрессе, имеют самоклеющуюся поверхность и неплохо рассеивают тепло за свои деньги. Некоторые пользователи Orange Pi PC подключают активное охлаждение, кулеры и т.д., но я отказался от этого, ниже объясню почему.

Потом, как пишут на всех форумах, плата очень требовательна к скорости microSD карты! Рекомендуется брать карту со скоростью не ниже Class 10 UHS-1, иначе ни одна ОС приемлемо работать не будет, проверено на себе.

Последнее: если вы хотите использовать Wi-Fi, то учтите, встроенного wi-fi нет! Необходимо приобрести свисток, причем на определенном чипе. Умельцы запилили поддержку свистков на чипах Rtl8188cus, Rtl8192cu, Rtl8188eu/eus/etv, RT5370.


Ну и конечно, перед работой неплохо бы подготовить некоторую периферию: мышь, клавиатуру и так далее.


Помимо указанного свистка и мини-радиатора я использую переходник HDMI-VGA чтобы подключиться к обычному компьютерному монитору, переходник USB-PS/2, чтобы использовать старую компьютерную клавиатуру, USB-геймпад, MicroSD карточку class 10 uhs-1 LD 16Gb, приехавшую по акции с JD и чудо-мышь со встроенным MicroSD-кардридером и колонкой (!), подключенной во встроенную в мышь USB-звуковуху (!). Очень удобно.

Как мы видим, уже само требование наличия блока питания ($5), радиатора ($1), wi-fi ($4) и microsd-карточки ($5) уже делает плату значительно дороже первоначальных $15 и приближает по стоимости к дешевым Android ТВ-боксам. Тем не менее, если все это у вас уже было, то с покупкой платы вам не придется переплачивать за ненужные опции (к примеру, вместо WiFi можно прекрасно использовать встроенный Ethernet).

2. Устанавливаем ОС

Первым делом, нам понадобится программа Win32DiskImager, скачать ее можно на sourceforge. Потом, нам понадобится образ ОС. Я использую образ Lubuntu от Jacer, в котором полноценно работает GPU Mali-400 и GPIO через библиотеку WiringOP (порт с Banana Pi) — ссылка. После установки Win32DiskImager и загрузки образа ОС, открываем программу, выбираем там нужный файл с образом, удостоверяемся, что пишем его на нужную карту памяти и нажимаем Write:


После успешного завершения записи на карту, у вас от карты в системе будем виден лишь крохотный BOOT раздел FAT32. На него необходимо скинуть правильный script.bin и uImage. Скачиваем этот архив, извлекаем из него файлы script.bin и uImage и скидываем с перезаписью на нашу карту. После этого вставляем ее в наш девайс и подключаем к нему питание. Если вы все сделали правильно, то на плате загорится красный LED и начнет загружаться система.

После включения система потребует ввести имя и пароль.

Имя пользователя — orangepi
Пароль — orangepi

Не забудьте открыть окно терминала (ctrl+alt+T) и ввести sudo fs_resize, чтобы „подогнать“ разметку диска в системе под размер вашей карточки.

3. Фиксим оверкерлокинг

Теперь очередная „особенность“ этой платы, а точнее — свинья, подсунутая производителем. Две основные проблемы, с которыми сталкиваются пользователи — перегрев процессора (а также связанный с ним троттлинг, отключение ядер, зависание плат» и просадки вольтажа (которые тоже вызывают зависания) имеют общие корни:

Для того, чтобы прорекламировать свою плату как «самую мощную, мощнее чем Raspberry Pi», производитель плат Xunlong зарядил дефолтный клокинг ядер ЦПУ на 1536 МГц, что является номинальным «верхним потолком» по документации на чип, но даже сам производитель не рекомендовал использовать его на этой частоте, предупреждая о проблемах с перегревом.

Мне лично вполне хватает плавающего клокинга на 480-1200МГц, в зависимости от задач, поэтому рекомендую накатить следующий скрипт (за него и за всю исследовательскую работу спасибо юзеру bronco с офиц. форума):

if [ "$(id -u)" != «0» ]; then
echo «This script must be executed as root. Exiting» >&2
exit 1
fi

Fex2Bin="$(which fex2bin)"
if [ «X$» = «X» ]; then
apt-get -f -q -y install sunxi-tools
fi

Path2ScriptBin="$(df | awk -F" " '/^\/dev\/mmcblk0p1/ ')"
if [! -f "$/script.bin" ]; then
echo «Can not find script.bin. Ensure boot partition is mounted» >&2
exit 1
fi

MyTmpFile="$(mktemp /tmp/$.XXXXXX)"
trap «rm \»$\"; exit 0" 0 1 2 3 15

bin2fex <"$/script.bin" | grep -v "^LV" | grep -v "^max_freq" | grep -v "^min_freq" | grep -v "^extremity_freq" >"$"
if [ $? -ne 0 ]; then
echo «Could not convert script.bin to fex. Exiting» >&2
exit 1
fi
cp -p "$/script.bin" "$/script.bin.bak"

sed -i '/\[dvfs_table\]/a \
extremity_freq = 1296000000\
max_freq = 1200000000\
min_freq = 480000000\
LV_count = 7\
LV1_freq = 1296000000\
LV1_volt = 1320\
LV2_freq = 1200000000\
LV2_volt = 1240\
LV3_freq = 1104000000\
LV3_volt = 1180\
LV4_freq = 1008000000\
LV4_volt = 1140\
LV5_freq = 960000000\
LV5_volt = 1080\
LV6_freq = 816000000\
LV6_volt = 1020\
LV7_freq = 480000000\
LV7_volt = 980' "$"

fex2bin "$" "$/script.bin" >/dev/null
if [ $? -ne 0 ]; then
mv "$/script.bin.bak" "$/script.bin"
echo «Writing script.bin went wrong. Nothing changed» >&2
exit 1
fi

echo «Successfully repaired broken overvolting/overclocking settings. Reboot necessary for changes to take effect»

Скопируйте и сохраните этот скрипт как fix.sh в домашней директории, после чего откройте терминал и выполните:

chmod +x fix.sh
sudo ./fix.sh
sudo reboot

После перезагрузки у вас окажется стабильная и холодная машинка, которой вполне будет хватать минимального пассивного охлаждения.

4. Тест-драйв

Не знаю, что еще можно дельного сказать на этом этапе. По месячному опыту использования платы с нормальным клокингом и поддержкой GPU, могу сказать, что устройство вполне может заменить неттоп на одно/двухъядерном атоме.



LibreOffice отлично и шустро работает




Chromium работает как полноценный настольный браузер




Youtube-плагин для SMPlayer шустро переваривает и 720р, и 1080р потоковое видео (в предустановленном Chromium поддержки аппаратного декодирования пока нет)



Можно даже попрограммировать в Eclipse или в Code::blocks!

4к видео я тоже проверял, играет вроде нормально, но не без шероховатостей. Смысла пока в нем не вижу, 1080р хватает за глаза.


GPIO вроде как работает, поморгал светодиодом, дальше не стал разбираться, может когда-нибудь руки и дойдут.

Отдельная тема — это игры, как же без них? Предлагаю оценить производительность в классике компьютерных игр, которая имеется под Linux — Quake 3 Arena.

ln -s /usr/include/khronos/GLES /usr/include/GLES
cp /usr/include/khronos/EGL/* /usr/include/khronos/GLES

1. Клонируем исходный код:

2. Переходим в папку:

make -j5 ARCH=arm

4. Переносим папочку чтоб было аккуратно:

5. Кладем файлики игры pk*.pk3 (можно найти на диске с оригинальной игрой) в папку

6. Запускаем файл ioquake3-smp.arm.

Результат на видео:

От себя: идет идеально, по крайней мере я никаких глюков не заметил. Ребята молодцы, хорошо постарались, когда портировали драйвер GPU Mali под линукс!

Еще немного демонстрации графических/игровых способностей:

Orange Pi PC: Reicast - Dreamcast emulator - Sonic Adventure 2

В целом я покупкой весьма доволен. За относительно небольшие деньги я вдоволь наигрался с линуксом и получил мини-ПК, способный эмулировать старые консоли, играть игры, серфить интернет с комфортом на 10+ вкладках полноценного браузера и играть видео с ютьюба.Что еще для счастья надо? В будущем планирую задействовать железку в каком-нибудь проекте DIY с использованием библиотеки компьютерного зрения OpenCV, благо в отличие от ардуины у нее хватит ресурсов на обработку видео.

Кому я категорически НЕ порекомендовал бы брать эту железяку:

— тем, кто на «Вы» с линуксом;
— тем, кто хочет готовое решение «из коробки»;
— тем, у кого мало свободного времени и плохо с английским для чтения форумов;
— тем, кому нужна возможность поставить Windows;
— тем, кому нужна хорошая поддержка коммьюнити, уровня Raspberry Pi и Arduino;
— тем, кому надо побольше ядер и оперативки непонятно зачем.

5. Вместо послесловия

На волне нового «тренда» производителей плат мини-пк выпускать ультра-дешевые изделия (C.H.I.P за $9, Raspberry Pi Zero за $5), создатели «апельсинки» Xunlong объявили о новом своем продукте: Orange Pi ONE и Orange Pi Lite (ссылка на официальный форум).



Новинка будет стоить $12 и $9.99 и размером будет меньше кредитной карты. Версия за 9,99 долларов, судя по анонсу, будет почти идентична герою обзора, но будет иметь лишь 512Mb RAM и 1 USB-порт (плюс один microUSB хост). Конечно, не разгуляешься, но должен признать, что это выглядит гораздо интригующе, чем 1-ядерные старенькие чипы на CHIP и RPi Zero.

Надеюсь лишь только, что вместе с выпуском плат Xunlong начнет, наконец, оказывать пользователям и сообществу нормальную поддержку в плане допиливания софта.

Читайте также: