В своих предыдущих статьях я уже рассказывал о экспериментах с запуском Ubuntu Server в chroot на разного рода Android-устройствах и эти эксперименты показали, что есть жизнь на ARM-платформе и на базе такого микро-пк можно попробовать создать домашний медиа-сервер, файловое хранилище, VPN-маршрутизатор и другие полезные в хозяйстве сервисы.
Я честно говоря был удивлен, что почта России не сильно изувечила посылку и Banana-PI M1 достался мне в официальной коробочке, хотя я думал, что придет как обычно отдельная плата.
В коробке находится собственно сама плата микро-ПК и естественно никаких инструкций в комплект не входит, хотя я не сильно этому и расстроился.
Первым делом я естественно подключил питание, HDMI-кабель и попробовал подключить без подготовки. Вот тут я вас сразу и разочарую, так как никакого подобия BIOS на таких микро-пк нет и вам придется подготовить SD-карту для того чтобы проверить, что вам прислали исправный BananaPI. Без подготовленной SD-карты BananaPI признаков жизни не подает.
Образы для загрузки необходимо скачать на официальном сайте BananaPI по адресу http://www.banana-pi.org/download.html. Ничего сложного в подготовке нет и вам надо просто выполнить следующую последовательность действий:
- Скачать образ для вашей модели
- Распаковать его
- Залить при помощи команды dd на SD-карту
- Если ваша SD-карта больше образа диска, то можно воспользоваться графической утилитой gparted и увеличить второй раздел на все оставшееся свободное пространство
Образы дисков на официальном сайте ведут на GoogleDrive, что создает некоторое впечатление кустарности этого устройства (вот что им мешало их выложить у себя, неужели 8$ в квартал жалко на файловый хостинг).
С подготовленной SD-картой запуск пройдет уже в штатном режиме и в зависимости от типа загруженного образа вы получите или графический рабочий стол или консоль сервера в минимальной установке и я выбрал второй вариант.
Как вы видите на фотографии я подключил к одноплатному компьютеру полноценный SATA-жесткий диск и именно поэтому я выбрал именно банан, а не малину, так как у малины нет полноценного SATA-порта, usb-мост дает знатный оверхед по нагрузке на процессор.
Теперь, поговорим о питании банана. Для питания без жесткого диска вполне достаточно блока-питания с разъемом micro-usb на 5 вольт и 500 миллиампер, а вот при подключении жесткого диска питание надо посерьезнее и как показала практика требуется как минимум два ампера для нормального питания комплекса с жестким диском.
Но два ампера это минимум! Иногда на блоках питания написано два ампера, а по факту эта цифра основательно занижена и вы столкнетесь с ошибками чтения-записи которые превратят файловую систему в кашу, а в логах dmesg будут появляться ошибки вида:
[ 1375.911285] ata1.00: exception Emask 0x0 SAct 0x8 SErr 0x0 action 0x0
[ 1375.914201] ata1.00: irq_stat 0x40000000
[ 1375.918305] ata1.00: failed command: READ FPDMA QUEUED
[ 1375.931434] ata1.00: cmd 60/08:18:28:4f:5e/00:00:00:00:00/40 tag 3 ncq 4096 in
[ 1375.931441] res 41/40:00:28:4f:5e/00:00:00:00:00/40 Emask 0x409 (media error) <F>
[ 1375.934601] ata1.00: status: { DRDY ERR }
[ 1375.937062] ata1.00: error: { UNC }
[ 1375.944294] ata1.00: configured for UDMA/133
[ 1375.948101] sd 0:0:0:0: [sda] Unhandled sense code
[ 1375.950028] sd 0:0:0:0: [sda] Result: hostbyte=0x00 driverbyte=0x08
[ 1375.955748] sd 0:0:0:0: [sda] Sense Key : 0x3 [current] [descriptor]
[ 1375.964140] Descriptor sense data with sense descriptors (in hex):
[ 1375.965446] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
[ 1375.970939] 00 5e 4f 28
[ 1375.974837] sd 0:0:0:0: [sda] ASC=0x11 ASCQ=0x4
[ 1375.978781] sd 0:0:0:0: [sda] CDB: cdb[0]=0x28: 28 00 00 5e 4f 28 00 00 08 00
[ 1375.987631] end_request: I/O error, dev sda, sector 6180648
[ 1375.989706] ata1: EH complete
Изначально я подумал, что имеет место быть проблема с жестким диском, но smart не показал ошибок и подключение другого накопителя ситуацию не изменило, а вот замена блока питания на полноценный трансформаторный привело к устранению этих ошибок и работа стала стабильной. И это не последняя "особенность" которую я нашел. Следующее, что сразу бросилось в глаза, это отсутствие радиатора на процессоре.
Если ничего не запускать, то процессор конечно греться не будет, но вот при использовании BananaPI M1 в качестве мультимедиа-центра с активированных транскодером видео процессор нагревается очень хорошо и мне кажется эта "конструктивная особенность" может легко вывести компьютер из строя. Я не стал рисковать и установил радиатор, а дополнительно к нему на корпус установил кулер и хотя это наверное излишняя предосторожность, но как я уже говорил, лучше перестраховаться ведь этот мини-сервер будет постоянно основательно нагружен.
Еще одна небольшая деталь которая меня смутила, это официальный корпус для BananaPi и в нем не предусмотрено место для радиатора и кулера.
В результате у меня получился довольно неказистый, но зато 100% не перегревающийся домашний мини-сервер который теперь живет в кладовке.
По аппаратной части, это пока все что бросилось в глаза и теперь мы сверим заявленные продавцом характеристики и реальные данные которые я получил при помощи программного опроса аппаратной части этого компьютера.
Продавец на AliExpress завил следующие характеристики для BananaPI M1:
- Процессор: A20 ARM Cortex™-A7 двухъядерный
- GPU: ARM Mali400MP2Complies с OpenGL ES 2.0/1.1
- Оперативная память(SDRAM): 1 ГБ DDR3 (совместно с GPU)
- Внешние накопители: SD (макс. 64 ГБ)/mmc разъем карты до 2 т на 2.5 SATA диск
- Локальная сеть: 10/100/1000 Ethernet RJ45
Проверяем все ли из написанного правда и начнем с процессора.
Процессор:
# cat /proc/cpuinfo
Processor : ARMv7 Processor rev 4 (v7l)
processor : 0
BogoMIPS : 1434.46processor : 1
BogoMIPS : 1439.63Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 4Hardware : sun7i
Revision : 0000
Serial : 1651668e07c162aa
Chipid : 1651668e-80677870-50494848-07c162aa
Процессор как и заявлено A7 двухъядерный.
Оперативная память:
# cat /proc/meminfo
MemTotal: 893860 kB
В принципе как и заявлено 1гб общей с видео-памятью оперативной памяти, это конечно по современным меркам довольно мало и есть модели с большим объемом, но они и стоят дороже.
Сетевой интерфейс:
# ethtool eth0
Settings for eth0:
Supported ports: [ TP AUI BNC MII FIBRE ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Сетевой интерфейс как и заявлено поддерживает гигабит в полном дуплексе.
Все интересующие меня характеристики заявлены корректно, на этом одноплатнике сейчас запущено несколько довольно ресурсоемких приложений и я потестирую его под нагрузкой пару месяцев наращивая функционал для проверки его стабильной работы.
Какой можно из этого всего сделать вывод. Я на данный момент очень доволен этой новой игрушкой и хотя ARM-реализация Ubuntu Server иногда подкидывает специфичные финты, но нерешаемых вопросов пока не было и все что я хотел я планомерно реализую. По сравнению с запущенной в chroot Ubuntu Server эта реализация более нативная и поведение ее предсказуемое.
https://help-me-24.com/blog/obzor-odnoplatnogo-mikrokompyutera-bananapi-m1