Orange Pi : Armbian on Orange Pi Zero


Armbian - linux for ARM development boards

Orange Pi Zero - open-source single-board computer

Install

Качаем с https://dl.armbian.com/orangepizero образ (на момент написания статьи – это файл Debian_stretch_next.7z) и распаковываем.

Вставляем карту памяти в комп. и пытаемся узнать как это устройство определилось в системе:

# 1 способ - отображение списка всех подключенных блочных устройств
$ lsblk

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
....................................
mmcblk0     179:0    0  7.4G  0 disk
└─mmcblk0p1 179:1    0  7.3G  0 part /
# 2 способ - посмотреть таблицу разделов на всех подключенных блочных устройствах
$ sudo fdisk -l

....................................
Disk /dev/mmcblk0: 7.4 GiB, 7969177600 bytes, 15564800 sectors
Device     Boot Start End       Sectors   Size  Id  Type
/dev/mmcblk0p1  8192  15253503  15245312  7.3G  83  Linux
# 3 способ - посмотреть UUID идентификаторы всех подключенных устройств
$ sudo blkid

....................................
/dev/mmcblk0p1: UUID="a2c25aee-d15d-4aa7-8f41-ab6bb511776f" TYPE="ext4" PARTUUID="378fc799-01"
/dev/mmcblk0: PTUUID="378fc799" PTTYPE="dos"
# 4 способ - посмотреть очередь сообщений ядра, сразу после подлючения USB устройства
$ sudo dmesg

....................................
[4.499562] mmcblk0: mmc0:0007 SD8GB 7.42 GiB
[4.501144] mmcblk0: p1
[8.622201] EXT4-fs (mmcblk0p1): mounted filesystem with writeback data mode. Opts: (null)

В данном случае, карта памяти определилась как /dev/mmcblk0 Запись образа выполняется командой:

sudo dd  if=/путь_к_файлу/Armbian_5.38_Orangepizero.img  of=/dev/mmcblk0  status=progress  bs=4M

Внимание! Карту памяти размонтировать перед выполнением dd !!!

Connect

Соединяем сетевым кабелем ethernet-порт платы и роутер, включаем/перегружаем плату. Если на роутере настроен DHCP, то через 30..60с устройство должно появится в сети.

Для дальнейшей работы надо узнать ip адрес платы, для этого либо заходим в web-интерфейс роутера и смотрим раздел подключенных устройств, либо сканируем всю сеть:

nmap -A 192.168.0.0/24 -p 22

На устройстве уже настроен SSH на 22-й порт и вход выполняется от root:

ssh root@192.168.0.15

Пароль по умолчанию: 1234 (будет предложено сразу же поменять и завести нового пользователя).

Serial port

Узнать доступные последовательные порты можно командами:

# 1 способ - посмотреть очередь сообщений ядра, сразу после подлючения USB устройства
$ dmesg | grep tty

[4.198160] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 39, base_baud = 1500000) is a U6_16550A
[4.223281] 1c28400.serial: ttyS1 at MMIO 0x1c28400 (irq = 40, base_baud = 1500000) is a U6_16550A
[4.244935] 1c28800.serial: ttyS2 at MMIO 0x1c28800 (irq = 41, base_baud = 1500000) is a U6_16550A
# 2 способ - чере файловую систему /proc
$ cat /proc/tty/driver/serial

serinfo:1.0 driver revision:
0: uart:U6_16550A mmio:0x01C28000 irq:39 tx:9520 rx:0 RTS|DTR
1: uart:U6_16550A mmio:0x01C28400 irq:40 tx:0 rx:0 CTS
2: uart:U6_16550A mmio:0x01C28800 irq:41 tx:0 rx:0 CTS
3: uart:unknown port:00000000 irq:0
4: uart:unknown port:00000000 irq:0
# 3 способ - программой setserial (требует установки)
$ setserial -g /dev/ttyS[01234]

/dev/ttyS0, UART: undefined, Port: 0x0000, IRQ: 39
/dev/ttyS1, UART: undefined, Port: 0x0000, IRQ: 40
/dev/ttyS2, UART: undefined, Port: 0x0000, IRQ: 41
/dev/ttyS3, UART: unknown, Port: 0x0000, IRQ: 0
/dev/ttyS4, UART: unknown, Port: 0x0000, IRQ: 0

Serial-порт определяется как ttyS* (однако, некоторые современные устройства работают в режиме Serial-over-USB и соответственно определятся как ttyUSB* или ttyACM*).

В Armbian по умолчанию отключены все последователные порты, кроме UART0, предназначенном для консоли диагностики.

Включение порта осуществляется либо модификацией файла script.bin 1, либо правкой файла /boot/armbianEnv.txt 2:

overlay_prefix=sun8i-h3
overlays=usbhost2 usbhost3
overlays=usbhost2 usbhost3 uart1 uart2

Первичная настройка

Локализация (добавить две локали: en_US.UTF-8 и ru_UA.UTF-8 ):

apt-get install console-cyrillic
dpkg-reconfigure locales

  1. Апельсиновый осьминог: бритвой по USB, цепляем напрямую ↩︎

  2. How to use UART pins on Orange Pi zero (форум: unix.stackexchange.com) ↩︎