Orange Pi Pc Plus - установка системы и перенос на eMMC. Установка всех ОС кроме Android на Orange Pi Установка образа Linux из Mac OS


Платформа является наиболее дешевой платформой для разработки существующих сегодня на рынке, поэтому я решил приобрести один образец на Aliexpress чтобы опробовать прошивку, которая на всегда была идеальной, просто потому, что Shenzhen Xunlong специализируется на разработки и производстве аппаратной части оборудования и тратит мало времени на разработку программного обеспечения, чтобы держать стоимость на низком уровне, так что в разработке ПО в основном полагаются на сообщество. В последние месяцы Armbian стала популярно операционной системой для Linux ARM платформ, поэтому я решил написать руководство по быстрому старту для Orange Pi One используя образ Debian Desktop представленный сообществом Armbian.

Распаковываем Orange Pi One

Давайте начнем с проверки того что я получил. Платформа Orange Pi One лежала в антистатическом пакете, поставляется вместе с информационным листом о соответствии нормативным требованиям и безопасности, но нет руководства, вместо этого компания предлагает посетить сайт www.orangepi.org чтобы получить доступ к информации по использованию платы.

Нажмите чтобы увеличить

В верхней части платы есть наиболее интересные порты: Ethernet, micro USB и USB, HDMI, слот micro SD, разъем питания, кнопка питания, 40-контактный “Raspberry Pi” совместимый разъем, процессор Allwinner H3 и один чип оперативной памяти Samsung. 3-контактный разъем для подключения последовательной консоли можно найти в непосредственной близости (как видно на рисунке снизу) с RJ45 портом.


Нажмите чтобы увеличить

В нижней части платы находится еще один чип оперативной памяти Samsung (512 Мб всего) и интерфейс камеры.


Нажмите чтобы увеличить

Для сравнения размеров, я сфотографировал Orange Pi One, Orange Pi 2 mini, Raspberry Pi 2 и Raspberry Pi Zero.


Нажмите чтобы увеличить

В то время как официальные цены для Raspberry Pi ($5), Orange Pi One ($9.99) и C.H.I.P ($9) немного отличаются, я в конечном итоге платил примерно одинаковую цену за все три платы включая доставку: $12.77 за Raspberry Pi Zero, $13.38 за Orange Pi One и $14.22 за C.H.I.P. Компьютер C.H.I.P не показан на фото выше, так как я его еще не получил. Производительность Orange Pi One будет намного больше чем у остальных благодаря его четырехъядерному процессору.

Установка и настройка Armbian на Orange Pi One

Компания утверждает, что вы можете скачать прошивку на странице загрузки Orange Pi , но они так и не опубликовала образ прошивки специально для Orange Pi One, хотя вы можете найти образ для Orange Pi, я никогда не слышала, чтобы кто-нибудь когда-нибудь хвалил Shenzhen Xunlong за качество образов прошивок, которые они выпустили, совсем наоборот. Я много слышал об операционной системе Armbian — это дистрибутив на основе Debian нацеленный на ARM Linux платы, именно его я и собираюсь попробовать.

В настоящее время вы можете скачать Debian Jessie для сервера или для настольного ПК на базе ядра Linux 3.4.

Первым делом вам понадобиться микро SD карта объемом 8 Гб или больше, желательно с хорошей производительностью (Class 10 или лучше), используйте Windows, Mac OS или Linux компьютер для того чтобы скачать и прошить образ прошивки.

Я сделал это в Ubuntu 14.04 следующим образом. После того, как вы вставите микро SD карту в компьютер, вы, возможно, захотите узнать расположение SD-карты с помощью команды lsblk:

lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 465.8G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi ├─sda2 8:2 0 461.8G 0 part / └─sda3 8:3 0 3.5G 0 part sdb 8:16 1 29.3G 0 disk └─sdb1 8:17 1 29.3G 0 part /media/jaufranc/f3c9afc7-0761-48d7-afd1-7150df6 sr0 11:0 1 1024M 0 rom

lsblk

NAME MAJ : MIN RM SIZE RO TYPE MOUNTPOINT

sda 8 : 0 0 465.8G 0 disk

├─sda1 8 : 1 0 512M 0 part / boot / efi

├─sda2 8 : 2 0 461.8G 0 part /

└─sda3 8 : 3 0 3.5G 0 part [ SWAP ]

sdb 8 : 16 1 29.3G 0 disk

└─sdb1 8 : 17 1 29.3G 0 part / media / jaufranc / f3c9afc7 - 0761 - 48d7 - afd1 - 7150df6

sr0 11 : 0 1 1024M 0 rom

Я использовал 32 Гб микро SD карту class 10, в моем случае она была устройством /dev/sdb. Я собираюсь использовать командную строку, но вы можете использовать программу ImageWriter для Ubuntu или Windows, а также некоторые другие инструменты для Mac OS. Давайте скачаем прошивку, распакуем ее и запишем на микро SD карту (замените /dev/sdX на ваше устройство, SD карта):

wget http://mirror.igorpecovnik.com/Armbian_5.05_Orangepih3_Debian_jessie_3.4.110_desktop.zip unzip Armbian_5.05_Orangepih3_Debian_jessie_3.4.110_desktop.zip cd Armbian_5.05_Orangepih3_Debian_jessie_3.4.110_desktop/ sudo apt-get install pv umount /dev/sdX* dd if=Armbian_5.05_Orangepih3_Debian_jessie_3.4.110_desktop.raw | pv | sudo dd of=/dev/sdX bs=16M sync

wget http : //mirror.igorpecovnik.com/Armbian_5.05_Orangepih3_Debian_jessie_3.4.110_desktop.zip

unzip Armbian_5 . 05_Orangepih3_Debian_jessie_3.4.110_desktop.zip

cd Armbian_5 . 05_Orangepih3_Debian_jessie_3.4.110_desktop /

sudo apt - get install pv

umount / dev / sdX*

dd if = Armbian_5 . 05_Orangepih3_Debian_jessie_3.4.110_desktop.raw | pv | sudo dd of = / dev / sdX bs = 16M

sync

Теперь вставьте микро SD карту в Orange Pi One и подсоедините все необходимые кабели и аксессуары. Я подключил HDMI и Ethernet кабеля, RF донгл для аэромышки, USB OTG адаптер для USB flash диска, последовательная отладочная плата и блок питания. Обратите внимание, что микро USB порт не может быть использован для подключения питания к платформе, так что вам придется приобрести подходящий адаптер питания или недорого кабель USB -> 4.0/1.7 мм разъем питания для использования с USB адаптером питания 5 В/2 А.

Как только вы подключите блок питания, должен засветиться красный светодиод, через несколько секунд вы должны увидеть лог ядра на HDMI-телевизоре или мониторе. Я подключился к последовательной консоли через UART отладочную плату, она используется только в самом начале, но после того как фреймбуффер настроен все сообщения будут выводиться на монитор. Вот что получилось при первой загрузке в последовательной консоли:

U-Boot SPL 2016.03-rc2-armbian (Mar 08 2016 - 20:18:51) DRAM: 512 MiB Failed to set core voltage! Can"t set CPU frequency Trying to boot from MMC U-Boot 2016.03-rc2-armbian (Mar 08 2016 - 20:18:51 +0100) Allwinner Technology CPU: Allwinner H3 (SUN8I) I2C: ready DRAM: 512 MiB MMC: SUNXI SD/MMC: 0 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: No ethernet found. starting USB... No controllers found Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Found U-Boot script /boot/boot.scr 2096 bytes read in 202 ms (9.8 KiB/s) ## Executing script at 43100000 gpio: pin PA15 (gpio 15) value is 1 gpio: pin PG11 (gpio 203) value is 1 0 bytes read in 162 ms (0 Bytes/s) ** File not found /boot/.next ** ** Unrecognized filesystem type ** ** File not found .next ** 35896 bytes read in 536 ms (64.5 KiB/s) 4866320 bytes read in 490 ms (9.5 MiB/s) Kernel image @ 0x48000000 [ 0x000000 - 0x4a4110 ] Using machid 0x1029 from environment Starting kernel ... : From boot, get meminfo: Start: 0x40000000 Size: 512MB ion_carveout reserve: 160m@0 256m@0 130m@1 200m@1 ion_reserve_common: ion reserve: ! Debian GNU/Linux 8 orangepih3 ttyS0 orangepih3 login:

U - Boot SPL 2016.03 - rc2 - armbian (Mar 08 2016 - 20 : 18 : 51 )

DRAM : 512 MiB

Failed to set core voltage ! Can "t set CPU frequency

Trying to boot from MMC

U - Boot 2016.03 - rc2 - armbian (Mar 08 2016 - 20 : 18 : 51 + 0100 ) Allwinner Technology

CPU : Allwinner H3 (SUN8I )

I2C : ready

DRAM : 512 MiB

MMC : SUNXI SD / MMC : 0

* * * Warning - bad CRC , using default environment

In : serial

Out : serial

Err : serial

Net : No ethernet found .

starting USB . . .

No controllers found

Hit any key to stop autoboot : 0

switch to partitions #0, OK

mmc0 is current device

Scanning mmc 0 : 1...

Found U - Boot script / boot / boot . scr

2096 bytes read in 202 ms (9.8 KiB / s )

## Executing script at 43100000

gpio : pin PA15 (gpio 15 ) value is 1

gpio : pin PG11 (gpio 203 ) value is 1

0 bytes read in 162 ms (0 Bytes / s )

* * File not found / boot / . next * *

* * Unrecognized filesystem type * *

* * File not found . next * *

35896 bytes read in 536 ms (64.5 KiB / s )

4866320 bytes read in 490 ms (9.5 MiB / s )

Kernel image @ 0x48000000 [ 0x000000 - 0x4a4110 ]

Using machid 0x1029 from environment

Starting kernel . . .

[ sun8i_fixup ] : From boot , get meminfo :

Start : 0x40000000

Size : 512MB

ion_carveout reserve : 160m @ 0 256m @ 0 130m @ 1 200m @ 1

ion_reserve_common : ion reserve : [ 0x56000000 , 0x60000000 ] !

Debian GNU / Linux 8 orangepih3 ttyS0

orangepih3 login :

Но я получил много сообщений об ошибке на мониторе “ ERR: set cpu frequency top 1296MHz failed!”. На самом деле все нормально, потому что используется один и тот же образ прошивки для всех платформ Orange Pi Allwinner H3, а они используют разные регуляторы. Сообщение исчезнет, как только система определит Orange Pi One.

Вам придется быть терпеливым первые несколько минут при первой загрузке (2-3 минуты), как вы видите выше, сообщения об ошибках цикличны и кажется что они навсегда, но в итоге система вносит изменения размера раздела корневой файловой системы, создает аварийную область подкачки 128 Мб, создает SSH-ключ и обновляет некоторые пакеты. Как только это все закончится, система перезагрузится и вам будет предложено изменить пароль пользователя root, создать нового пользователя и настроить разрешение с помощью утилиты h3disp, которая автоматически исправит файл script.bin, который находится в FAT32 загрузочном разделе вашей микро SD карты. По умолчанию учетные данные, пользователь root с паролем 1234 .


Экран приветствия и создание новых учетных записей после изменения пароля root
Варианты настройки h3disp

Утилита h3disp позволяет выбрать разрешение и частоту обновления вашего монитора, я выбрал 1080p50 и перезагрузил платформу в последний раз, примерно после 20 секунд загрузилась операционная система Debian с рабочим столом XFCE.


Нажмите чтобы увеличить

Разрешение рабочего стола действительно 1920×1080, локальная сеть работает, но раскладка клавиатуры по умолчанию установлена для Словенского языка. Я прошел в Настройки->Клавиатура (Settings->Keyboard) , чтобы изменить раскладку.

Кажется, она работает случайным образом, иногда я получал QWERTY клавиатуру, в других случаях она возвращается на QWERTZ клавиатуру, я так и не понял почему. Следуя инструкциям на armbian documentation использование:

dpkg-reconfigure keyboard-configuration

dpkg - reconfigure keyboard - configuration

не полностью решило мою проблему, но в целом сейчас работает нормально…

Я также заметил некоторые проблемы с разрешениями, например сетевые команды ping и iperf требуют sudo , скорее всего проблема в параметре CONFIG_ANDROID_PARANOID в конфигурации ядра. Мой USB флэш-накопитель также не был смонтирован автоматически и мне пришлось использовать sudo для монтирования диска вручную.

Большинству людей, вероятно, понадобиться изменить часовой пояс:

dpkg-reconfigure tzdata

dpkg - reconfigure tzdata

Давайте проверим некоторые параметры с помощью командной строки.

Начну со стандартной “отмазки”. Познания мои в Linux не велики, поэтому текст может содержать ошибки или возможно не самые оптимальные пути решения поставленной задачи. Хотя по моим наблюдениям в мире Linux единственно правильного решения по установке или настройке чего-либо нет, а есть стопицот разных мануалов/подходов. Поэтому просьба строго не судить, поправлять и предлагать что-то, чем просто критиковать. В общем призываю к конструктиву.

Немного вводной информации от разработчиков OctoPrint .

OctoPrint это host программное обеспечение для 3D-принтеров, которое управляет подключенным к нему 3D-принтером, фактически передавая ему команды для выполнения печати. Примеры других подобных программ это Printrun, Repetier Host, а также Cura.

OctoPrint отличается от существующих программных решений в том, что его главная цель заключается в предоставлении удобного веб-интерфейса, который позволяет контролировать принтер удаленно из любой точки вашей сети или даже из Интернета, предлагая те же опции и возможности обратной связи доступные из host приложений перечисленных выше. Для того чтобы достичь этого, OctoPrint интенсивно использует существующие веб-технологии и framework, такие как AJAX и HTML5 web sockets.

OctoPrint был разработан для запуска на небольших встраиваемых устройствах, таких как популярный Raspberry Pi. Это позволяет превратить ваш существующий 3D-принтер в принтер с доступом по сети или WiFi и отвязать его от вашего ноутбука или рабочей станции.

Существует несколько возможностей для установки OctoPrint, как то запуск ПО на Linux, Windows или MacOS. Если у вас есть одна из версий Raspberry Pi, то рекомендуется использовать максимально затюненный имидж OctoPi, подготовленный для записи на SD карту. Его можно забрать .
На OrangePi PC данный образ запустит мне не удалось (видимо образ заточен под Raspberry Pi), поэтому я пошел другим путем — установил его в качестве пакета ПО для работы в среде Python 2.7 на один из дистрибутивов Debian.
Для установки OctoPrint рекомендуется Raspbian, но образ, который мне удалось найти, набит разнообразным софтом, необходимым в основном в графической оболочке. Ну для чего мне, фактически на принт-сервере, Libreoffice и графические редакторы. Поэтому я решил сделать минималистичную “серверную” установку на Debian Wheezy. Думаю что никаких особых проблем не возникнет и c Debian Jessie и с Ubuntu. Тем кому необходима графическая оболочка могут использовать Ubuntu(с оболочкой Vivid_Mate) или Lubuntu. О том где их можно найти читайте ниже.

  1. Дистрибутивы Linux, рекомендованный производителем OrangePI PC, выложены
    Образы можно взять c Google Drive
  2. Достаточно скачать два файла: Debian_wheezy_mini.img.xz и.


    Распаковать файлы можно архиватором 7Zip.
  3. Для загрузки и работы устройства необходима micro SD карта с объемом минимум 4Гб (встроенного флэш-диска на OrangePI PC нет). Скорость записи на карту на работу ОС влияние конечно оказывает, но в данном случае не катастрофическое. Поэтому думаю не обязательно использовать карту с максимальными скоростными характеристиками. Достаточно использовать micro SD карту с классификацией скорости от 4 и выше.

  4. Перед записью образа ОС рекомендую SD карту отформатировать с опцией восстановления размера и сброса разметки. Для этого я использовал утилиту SDFormatter .


    Внимание! Проверьте внимательно что выбран правильный носитель — буква SD карты (Drive). Иначе есть шанс снести все данные не с того диска или подключенного накопителя.
  5. Для записи образа ОС используем утилиту .
    Внимание! Точно также проверяем букву выбранного диска (Device).
    Выбираем файл Debian_wheezy_mini.img и жмем Write .

    Update January 2017
    Для записи образа рекомендую к использованию мультиплатформенную утилиту Etcher

  6. После того как образ запишется на SD карту, в проводнике открываем раздел с названием BOOT . На Windows это пожалуй единственный раздел на карте который можно открыть без дополнительных утилит.
    Удаляем все файлы которые там находятся.

    Update January 2017
    Для Armbian шаги 6-8 можно не делать

  7. Распаковываем архив в отдельную директорию. Оттуда берем 2 файла и копируем в раздел BOOT карты:
    — — где OPI-PC указывает на модель устройства, а 1080p60_hdmi на разрешение и тип подключения которое будет использоваться при загрузке (можно выбрать другое подходящее для вашего монитора разрешение).
    uImage_OPI-2 — используется в случае если у вас OrangePI PC

  8. Переименовываем на карте файлы:
    script.bin.OPI-PC_1080p60_hdmi в script.bin
    uImage_OPI-2 в uImage

  9. Извлекаем карту и вставляем ее в устройство, включаем. О том, что образ ОС записан на карту корректно и OrangePI PC начал с нее грузиться, можно понять по загоревшемуся красному светодиоду на плате и конечно по логу загрузки на экране, если он подключен.
  10. Теперь необходимо узнать IP адрес который был присвоен DHCP сервером новому устройству в сети. Вот несколько способов как сделать это:
    — посмотреть в консоль управления DHCP сервера или домашнего роутера (если он выполняет роль DHCP сервера в сети). Найти там новое устройство.

    — использовать сканер сети, например Look@LAN Network Monitor .
    — подключить клавиатуру и монитор к устройству, залогиниться и узнать адрес командой ifconfig.
  11. Настраиваем Putty или другой подобный SSH клиент и подключаемся к OrangePI PC по IP адресу устройства. По умолчанию логин/пароль — orangepi/orangepi

  12. После первого входа, необходимо выполнить команду sudo fs_resize

    и перегружаем устройство.

    sudo reboot

    Update January 2017
    Для Armbian делать не нужно

  13. Рекомендую поменять пароль по умолчанию для пользователей orangepi и root . Это можно сделать командой passwd orangepi passwd root

    Update January 2017
    Для Armbian дефолтные логин/пароль — root 1234

  14. Обновляем список пакетов командой sudo apt-get update

    и обновляем ОС.

    sudo apt-get dist-upgrade



  15. Настраиваем часовой пояс для системы и пользователя. sudo tzselect sudo dpkg-reconfigure tzdata

    и синхронизируем время

    ntpdate pool.ntp.org
  16. Для поиска и обнаружения сервисов в локальной сети по DNS имени.local устанавливаем и настраиваем сервис AVAHI sudo apt-get install avahi-daemon sudo apt-get install avahi-autoipd
  17. Прописываем имя хоста в соответствующих файлах.
    Сохраняем изменения Ctrl+X, выходим из редактора и можно перегрузиться.
    sudo nano /etc/hostname — пишем например orangeprint

    sudo nano /etc/hosts — также прописываем orangeprint


    sudo reboot
    Теперь можно будет открывать веб страницу сервиса по адресу http://orangeprint.local:5000 или http://orangeprint:5000
  18. Далее рекомендую обновить ядро и модули Linux. При выполнении скрипт задаст несколько несложных вопросов. Только после этого у меня заработал WI-FI адаптер.

    Update January 2017
    Для Armbian обновление ядра делать не нужно.

    wget http://loboris.eu/update_kernel.sh sudo mv update_kernel.sh /usr/local/bin sudo chmod +x /usr/local/bin/update_kernel.sh sudo update_kernel.sh sudo reboot



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

    sudo depmod -a
  19. Приступаем к установке сервиса OctoPrint. Последующие действия выполняем из под пользователя под которым будем запускать сервис. cd ~ sudo apt-get install python-pip python-dev python-setuptools python-virtualenv git libyaml-dev build-essential git clone https://github.com/foosel/OctoPrint.git cd OctoPrint

    Update January 2017 Для Armbian необходимо выполнить следующую команду, чтобы не получить ошибку virtualenv.

    sudo pip install virtualenv --upgrade sudo virtualenv venv sudo virtualenv --system-site-packages venv sudo ./venv/bin/python setup.py install mkdir ~/.octoprint
  20. Добавляем пользователя в группы, что даст возможность сервису открывать порты для общения с подключенным принтером. sudo usermod -a -G tty orangepi sudo usermod -a -G dialout orangepi
  21. Для проверки работоспособности сервиса запускаем его следующей командой. ~/OctoPrint/venv/bin/octoprint

    Открываем в броузере веб страницу http://orangeprint:5000

    Выбираем тип авторизации который планируется использовать. Наслаждаемся веб порталом.

  22. Далее настраиваем автозапуск сервиса.
    Копируем скрипт и настраиваем права на запуск. sudo cp ~/OctoPrint/scripts/octoprint.init /etc/init.d/octoprint sudo chmod +x /etc/init.d/octoprint

    Копируем файл с настройками

    sudo cp ~/OctoPrint/scripts/octoprint.default /etc/default/octoprint

    Редактируем файл настроек — прописываем пользователя из под которого будет запускаться сервер и добавляем строку с указанием папки где находятся бинарники сервиса. Разкоментчиваем строки с настройками. Сохраняем изменения Ctrl+X и выходим из редактора.

    sudo nano /etc/default/octoprint

    DAEMON=/home/orangepi /OctoPrint/venv/bin/octoprint


    Выполняем.

    sudo update-rc.d octoprint defaults

    Перегружаем устройство.

    sudo reboot
  23. После перезагрузки открываем в броузере веб страницу http://orangeprint:5000
    Убеждаемся что сервис стартанул автоматически.
    Остановить или рестартануть сервис можно следующей командой sudo service octoprint {start|stop|restart}
  24. Далее необходимо подключить принтер к USB порту устройства. В моем случае это бутерброд из RAMPS и Arduino Mega прошитый Marlin. Подключаем Arduino USB кабелем к одному из портов OrangePI PC.
  25. На главной странице http://orangeprint:5000 выбираем порт к которому подключен принтер и скорость соединения (у меня заработало на 115200). Жмем кнопку Connect .

    Сервис OctoPrint подключиться к принтеру и сообщит краткий статус. Более подробную информацию по обмену данными и командами можно увидеть на закладке
  26. Настройку WI-FI адаптера так-же не выкладываю, так как модели адаптеров могут быть совершенно разными и соответственно установка необходимого модуля и настройка будут различаться. Если повезет с моделью/чипсетом, то он заработает сразу после обновления ядра и модулей и останется только прописать SSID и пароль вашей беспроводной сети. Удачи с Linux!

Апельсиновая компания выпустила обновление своей платы эконом класса PC PLUS.

  • В этой статье:
    Установка ОС LINUX на внутреннюю память
  • Тестирование производительности eMMC
  • Настройка WiFi

Тестирование произвожу утилитой iozone, которая уже установлена в этом дистрибутиве:
iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

Результат iozone MIXZA

Результат iozone TRANSCEND

Результат iozone eMMC

Данные выводятся в Кб/сек. Общая тенденция видна на всех тестах.
Для примера свел в табличку операции чтения и записи блоками в 1Мбайт

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

Проверка работы WiFi

На WiFi чипе, впаянном в плату с трудом можно прочитать надпись RTL8919FVP . В дистрибутив уже включено два драйвера модуля ядра: 8189fs и 8189es. Первый включен «по умолчанию», но второй тоже работает.
Быстрая настройка получилась такая.
Посмотреть список доступных WiFi сетей можно так:

ак как все сети сейчас как правило защищены WPA и WPA2 дальнейшую настройку делаю консольной утилитой wpa_cli. Работа с этой утилитой . Можно воспользоваться любой графической утилиты. Гугл вам в помощь!
Результат подключения выглядит так на старом роутере 802.11g

Или на более нововом 802.11N


IP адрес можно поднять динамический:
dhclient wlan0
Или статический
ifconfig wlan0 <адрес> netmask <маска>
Вся маршрутизация была настроена на Ethernet, так что для проверки я просто отключил проводную сеть
ifconfig eth0 down
И получил нормальный доступ в интернет через WiFi

Тема сохранения настроек WiFi выходит за рамки этого обзора. Есть графические утилиты, в том числе и в AMBIAN для конфигурирования сети. Моя же цель была проверить работоспособность WiFi адаптера «из коробки», чего я и достиг.

Подведем итог

Микрокомпьютер ORANGE PI PC PLUS - безусловно интересный и, лично для меня, прочно занял свою нишу.
Тем кому не нужны гигабайтная сеть и встроенный SATA он вполне способен решить ряд задач.
Переплата в $5 вполне оправдана наличием быстрой встроенной памяти и рабочим WiFi.
Я обошел тему GPIO в этом обзоре, скажу только, что мне вполне удалось запустить текстовый

Фото сессия «Кот в апельсинах»



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

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

Процесс записи выглядит следующим образом, длительность зависит от скорости карты памяти, в среднем этот процесс длится 5-7 минут. По окончанию записи Вы получите сообщение "Write Successful".


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

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

  • Скачайте и распакуйте образ ОС и подключите карту памяти к Вашему компьютеру посредством кард-ридера.
  • Определите путь в системе к карте памяти при помощи команды diskutil list , именно путь к диску, а не его раздел (/dev/disk2 но не /dev/disk2p1). На тестовом стенде это выглядит следующим образом MacBook-Air:~ username$ diskutil list /dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *256.1 GB disk0 1: EFI 209.7 MB disk0s1 2: Apple_HFS MACOS 255.8 GB disk0s2 /dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *7.7 GB disk2 1: Linux 2.8 GB disk2s1
  • Путь к диску определен, а именно /dev/disk2 , теперь нужно его размонтировать командой diskutil unmountDisk /dev/disk2 . MacBook-Air:~ username$ diskutil unmountDisk /dev/disk2 Unmount of all volumes on disk2 was successful
  • Приступаем непосредственно к записи образа на microSD карту. Для безопасности записи путь к диску немного видоизменяется, с /dev/disk2 на /dev/r disk2, что означает "removable", утилита проведет дополнительную проверку на то, что запись происходит на съемный носитель, а не локальный диск.


    MacBook-Air:~ username$ sudo dd bs=1m if=~/Desktop/Armbian_5.14_Orangepipc.img of=/dev/rdisk2
  • Запись будет происходить без вывода каких-либо уведомлений около 5-7 минут, длительность зависит от скорости карты памяти. Для того, чтобы в процессе записи посмотреть текущее состояние - вы можете воспользоваться сочетанием клавиш CTRL+T. По окончанию записи образа вы увидите следующее сообщение. Запись выполнена. Можете пробовать запускать Orange Pi с картой памяти.
    2676+0 records in 2676+0 records out 2805989376 bytes transferred in 216.560596 secs (12957063 bytes/sec)

Проблемы

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

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

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

  • Нужно определить системный путь к карте памяти, выполните команду df -h . В левой колонке будут перечислены все диски примонтированные в данный момент, карта памяти будет иметь название похожее на одно из следующих /dev/mmcblk0 p1 или /dev/sdс 1. p1 или 1 это номер раздела на диске, а нам нужен сам диск, потому используем /dev/mmcblk0 или /dev/sdc
  • Отмонтируйте все разделы карты памяти примонтированные в систему автоматически. В нашем случае только один раздел p1 sudo umount /dev/mmcblk0p1
  • Приступаем к записи.
    if= - Путь с образу ОС. То есть "то, что будем копировать".
    of= - Путь к диску, место назначения. То есть - "то, куда будем копировать".
    bs=4M - Размер блока данных (чем больше - тем быстрее запись). При ошибках записи понижайте это значение до 1M. username$ sudo dd bs=4M if=~/Desktop/Armbian_5.14_Orangepipc.img of=/dev/mmcblk0
  • Выполните команду 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
  • Выполните команду sudo install_to_emmc
  • По окончанию процесса отключите питание и извлеките карту памяти из платы.
  • Включите питание. Загрузка начнется из внутренней памяти платы.

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

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

Sudo install_to_emmc btrfs

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

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

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

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

Более детальные инструкции по этому процессу описаны в теме форума "


За 1590р, я считаю цена приемлемая, опять же минус ндс. Она отличается от Зеро нормальным Wi-Fi, наличием HDMI но отсутствием Ethernet, встроенным микрофоном двумя распаянными usb портами и большим количеством GPIO. Есть правда одна засада - на Лайте нет распаянного аналогового аудиовыхода, хотя в некоторых описаниях он присутствует, по факту есть монтажные площадки к которым можно подпаяться. Я считаю нормальный Wi-Fi этого стоит.

Ссылки на автора проекта:
https://majordomo.smartliving.ru/forum/viewtopic.p...
https://github.com/devoff/mdmPiTerminal#%D0%9D%D0%...
Итак установка по шагам:
Скачиваем armbian для нашей платы https://www.armbian.com/download/
Конкретно для lite https://www.armbian.com/orange-pi-lite/#kernels-ar...
На ПК берем флешку форматируем в FAT32.
Скачиваем программу Win32 DiskImage я брал эту http://www.softportal.com/get-29161-win32-disk-ima... и с её помощью разворачиваем наш образ на флешку.
Скачиваем на ПК терминал https://the.earth.li/~sgtatham/putty/latest/w32/pu... и устанавливаем.
Вставляем флешку в апельсин. Подключаем UART дальний от края земля, RX в TX адаптера, и самый близкий к краю TX в RX адаптера, Скорость порта 115200, Включаем на ПК терминал и подключаем питание к плате, причем далеко не с каждым питание она нормально стартует, но если все хорошо вы должны увидеть загрузку. Как закончится нажимает enter вводим логин root пароль 1234, тут же просит сменить пароль, он должен отвечать требованиям безопасности 12345 не прокатит, автор предлагает qwertyui
Просит создать пользователя, создаем pi с паролем qwertyui
Первым делом коннектимся к WIFI команда nmtui пункт Activate a connection и выбираем вашу сеть, вводим пароль и готово.
Смотрим на роутере есть ли соединение и какой адрес получила апельсинка, по возможности фиксируем его в роутере чтобы не менялся.
Отключаем UART он больше не нужен включаем терминал по SSH конектимся им по адресу апельсинки на порт 22, логин/пароль и мы в системе.
Обновляем реопозитарий sudo apt update
Проверяем обновления системы sudo apt-get upgrade
Устанавливаем Файловый менеджер sudo apt-get install mc
Устанавливаем монитор sudo apt-get install rpimonitor будет на порту 8888

Запускаем утилиту конфигурирования апельсинки armbian-config так как по на ней не распаян аналоговый выход и соответственно он отключен в настройках.
Выбираем System-Hardware включаем analog-codec сохраняем перезагружаем, через этуже утилиту можно запустить обновления, установить часовой пояс, язык, тонко настроить сеть.
Проверяем устройства воспроизведени aplay –l и записи arecord –l первая цифра номер карты вторая устройства, запоминаем какое устройство у нас отвечает за вывод и за ввод звука

Создаем файл звуковой конфигурации sudo nano /etc/asound.conf
Копируем в него

pcm.!default {
type asym
playback.pcm "playback"
capture.pcm "capture"
}

pcm.playback {
type plug
slave.pcm "dmixed"
}

pcm.capture {
type plug
slave.pcm "array"
}

pcm.dmixed {
type dmix
slave.pcm "hw:0,0"
ipc_key 555555
}

pcm.array {
type dsnoop
slave {
pcm "hw:2,0"
channels 2
}
ipc_key 666666
}

Проверяем первый slave.pcm "hw:0,0" устройства воспроизведения
Второй pcm "hw:2,0" устройства записи коректируем если надо по данным полученным с aplay –l и arecord –l

Теперь нужно запомнить уровни громкости, устанавливаем apt-get install alsa-util и apt-get install alsa-tool , отключаем usb микрофон иначе выдает ошибку, запускаем alsamixer устанвливаем LineOut и DAC на нужный уровень, даем комманду от рута alsactl -f good store находим файл /etc/rc.local и вставляем в него строчку /usr/sbin/alsactl -f /root/good restore сохраняем, подключаем микрофон обратно и перезагружаем проверяем чтобы громкость восстанавливалась