Armbian - linux for ARM development boards
Orange Pi Zero - open-source single-board computer
Качаем с 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 !!!
Соединяем сетевым кабелем 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 (будет предложено сразу же поменять и завести нового пользователя).
Узнать доступные последовательные порты можно командами:
# 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