Руководство по быстрому старту платформы Orange Pi One с операционной системой Armbian, Debian дистрибутив на базе Linux

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

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


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

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

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

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

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

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

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

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

В то время как официальные цены для 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 [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

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

Orange_Pi_One_Power_Supply_Connections

Как только вы подключите блок питания, должен засветиться красный светодиод, через несколько секунд вы должны увидеть лог ядра на 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 ...                                                             
                                                                                
[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:

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

Orange_Pi_One_cpu_freq_Error_Message

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

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

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

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

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

Orange_Pi_One_layout

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

dpkg-reconfigure keyboard-configuration

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

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

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

dpkg-reconfigure tzdata

Orange_Pi_One_Terminal

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

root@orangepione:~# uname -a
Linux orangepione 3.4.110-sun8i #18 SMP PREEMPT Tue Mar 8 20:03:32 CET 2016 armx
root@orangepione:~# cat /etc/issue
Debian GNU/Linux 8 \n \l

root@orangepione:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq 
1200000
root@orangepione:~# sudo modprobe gpio-sunxi                                    
root@orangepione:~# ls /sys/class/gpio_sw/                                      
PA0  PA10  PA14  PA21  PA6  PA8  PC4  PD14  PG7  PG9                            
PA1  PA13  PA2   PA3   PA7  PA9  PC7  PG6   PG8                                 
root@orangepione:~# free -h                                                     
             total       used       free     shared    buffers     cached       
Mem:          494M       175M       319M       4.9M        11M        69M       
-/+ buffers/cache:        93M       400M                                        
Swap:         127M         0B       127M                                        
root@orangepione:~# df -h                                                       
Filesystem      Size  Used Avail Use% Mounted on                                
/dev/root        29G  2.1G   26G   8% /                                         
devtmpfs        168M     0  168M   0% /dev                                      
tmpfs           248M     0  248M   0% /dev/shm                                  
tmpfs           248M  4.5M  243M   2% /run                                      
tmpfs           5.0M  4.0K  5.0M   1% /run/lock                                 
tmpfs           248M     0  248M   0% /sys/fs/cgroup                            
tmpfs           256M  8.0K  256M   1% /tmp                                      
tmpfs            50M     0   50M   0% /run/user/1000                            
tmpfs            50M     0   50M   0% /run/user/0                               
root@orangepione:~#

Система работает на ядре sunxi 3.4.110 Linux и Debian 8. Максимальная частота процессора установлена до 1.2 ГГц, GPIOs кажется будет поддерживаться так же, как и в Orange Pi 2 mini (но показано меньше операций I/Os), общий объем оперативной памяти составляет 494 Мб, в корневом разделе микро SD карты используется 2,1 Гб из 29 Гб. Я знаю, что некоторые ARM платы не могут быть выключен должным образом, но это в случае с Orange Pi One, я смог выключить ее без проблем, индикатор питания выключился в конце процесса завершения работы.

Вот и все для этой инструкции, 3D-графику и аппаратное декодирование видео, я рассмотрю в отдельном посте. Вы можете получить информацию о развитии проверяя страницу Armbian Orange Pi One, следуйте инструкциям чтобы собрать свой собственный образ Armbian и просматривайте ветку Orange Pi One в форумах armbian.

Выражаем свою благодарность источнику с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

5 1 vote
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments