H96max на RK3318: https://alii.pub/6ten7r?erid=2SDnjeHU55r
Orange pi zero 2: https://alii.pub/6vb1fe?erid=2SDnjcSu7tC
splitter_usb_PWR: https://alii.pub/6vb1rn?erid=2SDnjduQQwr
USB ПАПА-ПАПА: https://alii.pub/6vb1u6?erid=2SDnjeHeEB2
НУ и конечно-же самый главный и полезный элемент сего проекта, это плата видеозахвата USB to HDMI: https://alii.pub/6vb1x3?erid=2SDnjeuDvwJ
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Давайте для начала начнем с того, что такое KVM.
KVM-переключа́тель (аббр. англ. keyboard, video, mouse «клавиатура, видео, мышь») — устройство, предназначенное для коммутации одного комплекта устройств ввода-вывода (дисплея, клавиатуры, мыши, съёмных носителей информации и т.д.) между несколькими компьютерами.
В нашем же случае мы будет ipKVM делать, то-есть подключаться удаленно к KVM устройству и в браузере удаленно управлять нужным сервером-компьютером.
Для чего это нужно? ну например у нас на компьютере-сервере пропала сеть… То с помощью KVM все-ровно сможет на удаленном компьютере-сервере производить донастройку чего-либо таким образом, как будто мы с клавиатурой мышкой и монитором были бы непосредственно перед этим компьютером-сервером.
Ну и так-же KVM позволит удаленно зайти в BIOS компьютера-сервера… и так далее. Штука очень крутая на самом деле.
Всю ее крутость оценят особенно системные администраторы, которые администрируют удаленно сервера.
И такие KVM устройства сетевые стоят очень больших денег для серверных. А тут можно сказать за не дорого у нас получается очень крутой KVM.
Проверил работоспособность на двух устройствах. Первое это Orange pi zero 2 – на нем порт type-c который служит питанием, так-же может служить и otg портом. Чтоб это все заработало, понадобился специальный переходник, который разветвляет питание и Usb провод.
Ну и второе устройство, на котором я проверил работу, это была TV приставка H96MAX на процессоре RK3318. Ее я проверил, так как была под рукой и она сейчас довольно популярная.
Для того, чтоб из одноплатника-приставки сделать KVM, нам необходим будет “usb to HDMI” карта захвата. Это очень полезное и не дорогое устройство. Я его часто использую для того, чтоб использовать ноутбук как дисплей для сервера. Очень сильно выручает, так как нет надобности подключать монитор.
Ну а в KVM этот “usb to HDMI” переходник будет в принципе ту же функцию выполнять, только транслировать будет видео в Web интерфейс. Ну и эта основная функция KVM.
Вторым девайсом дополнительным – который нам понадобится будет провод USB папа-папа. Ну а в случае с Orange pi zero 2 то переходник питания.
1 – type-c подключаем в Orange pi zero 2.
2 – type-c подключаем к компьютеру которым хотим управлять.
3 – type-c подключаем питание.
Теперь приступим к самому проекту. Изначально появился проект PiKVM естественно для Raspberry pi. Он начал обрастать и специальными платами расширения и был портирован на все платы raspberry pi. Разработчик из России, но почему-то в России ничего не продавалось и не продвигалось.
Время шло и постепенно начали появляться переделанные варианты PiKVM под другие одноплатники. И вот мне посоветовали вот этот вариант: https://github.com/srepac/kvmd-armbian под названием KVMD-ARMBIAN. Тут очень простые шаги для установки этого проекта и плюсом поддерживается обновление и должно работать на любом одноплатнике-приставке поддерживающем OTG режим (это важно, так как OTG будет служить нам эмулятором клавиатуры и мышки).
Установка PiKVM (KVMD-ARMBIAN):
- Скачиваем образ Armbian под то устройство на которое собираетесь установить PiKVM.
- Нужно включить OTG режим на одном из портов Вашего устройства. В Armbian под Orange pi 2 OTG был сразу включен и на этом пункте мне не надо было заострять внимание. Так-же вроде на любой плате Orange pi OTG уже будет включен, Вам остается только по даташиту понять какой порт поддерживает OTG.
А вот на приставке H96MAX OTG по умолчанию в ARMBIAN был отключен. И его пришлось в ручную включить.
Для того, чтоб включить OTG в приставке H96MAX на RK3318, нужно зайти в armbian-config -> system -> dtc и таким образом мы перейдем в конфигурационный файл ядра Linux Armbian.
Там будет много непонятных блоков свойств разного оборудования, нам нужно пролистывать все ниже и ниже до блоков с названием usb@xxxxxxx
И тут важно понимать, что у приставки 2 порта usb. Один usb 2.0 и другой usb 3.0. Вот в режиме OTG может работать только USB 3.0 А на скрине выше, обведен порт USB 2.0 – его не трогаем и пролистываем чуть ниже.
Определить, что это USB 3.0 по строчке “reset-names = “usb3-otg”. Usb 2.0 называется просто otg.
И вот в этом блоке в строчке dr_mode нужно поменять host на peripheral и должно получиться так:
dr_mode = “peripheral”;
Собственно как показано на скрине. Именно в этом режиме usb 3.o начнет работать как OTG.
В общем сохраняем все изменения и перезагружаем устройство.
Далее подключаем в случае с TV приставкой H96MAX в usb 2.0 “usb2hdmi” переходник, а в usb3.0 вставляем провод usb Папа-Папа. и приступаем уже непосредственно к установке PiKVM.
Обновим все репозитории пакетов:
apt update
Установим необходимые пакеты для работы piKVM:
apt install -y git vim make python3-dev gcc
Скопируем проект kvmd-armbian:
git clone https://github.com/srepac/kvmd-armbian.git
Перейдем в папку скопированного проекта:
cd kvmd-armbian
И запускаем скрипт установки:
./install.sh
Будет довольно продолжительная установка и появится фраза “Press ENTER to continue or CTRL+C to break out of script”
Тут нужно нажать ENTER и устройство у нас перезагрузится. Таким образом мы первую часть установки сделаем.
Далее когда загрузится устройство, то нам снова надо будет перейти в папку скаченного проекта:
cd kvmd-armbian
И запустить установку еще раз:
./install.sh
Таким образом у нас закончится установка PiKVM полностью.
Настройка эмуляции CD (DVD) привода с .iso образами. Mass Storage Drive:
После установки PiKVM (kvmd-armvian) эмуляция .iso образом как cd рома, не работает. Её нужно включать в конфигах, но перед тем как её включать, нужно еще будет сделать подготовку хранилища под .iso образы.
Для начала нам нужно выделить место для хранения .iso образов. Чтоб это сделать нужно под это отдать отдельный раздел. Но в моём случае отдельный раздел я не мог выделить:
вот тут из lsblk видно, что у меня один накопитель mmblk2 и у него один раздел mmcblk2p1, который отдан под систему.
Сам системный раздел, разбить опасно, так как можем зацепить нужные файлы при разбивке и потеряем операционную систему, а еще от mmcblk2 мы сможем только “оттяпать” меньше 1гб памяти оставшейся, чего будет весьма недостаточно для .iso образов.
И тут можно либо вставить флешку и её под это дело пустить, либо есть другой вариант. При котором мы создадим .img файл и к нему уже примонтируемся, как к отдельному диску. Мы это вполне можем сделать и не придётся разбивать системный диск.
Чтоб это сделать нужно создать файл .img. Я его создам по пути /root/disk.img и размер ему выдели 8Гб (мне для .iso образов хватит). Но никто не мешает больше выделить.
Для создания disk.img на 8гб вводим команду:
dd if=/dev/zero of=/root/disk.img bs=1M count=8192 status=progress
где : count=8192
это размер.
После создания этого файла, нам нужно его отформатировать в файловую систему ext4. Сделать это можно следующей командой:
mkfs.ext4 /root/disk.img
После форматирования, нам нужно примонтировать папку /var/lib/kvmd/msd к этому файлу disk.img. Монтирование мы пропишем в файл /etc/fstab и выглядеть это будет следующим образом:
nano /etc/fstab
и вставляем туда вот эту строчку:
/root/disk.img /var/lib/kvmd/msd ext4 nodev,nosuid,noexec,rw,errors=remount-ro,data=journal,X-kvmd.otgmsd-root=/var/lib/kvmd/msd,X-kvmd.otgmsd-user=kvmd 0 0
Ну и последним действием мы идём в файл: /etc/kvmd/override.yaml и в блоке: msd меняем type: с disable, на otg:
kvmd:
msd:
type: otg
Далее перезагружаем систему:
reboot
После загрузки видим, что папки /var/lib/kvmd/msd примонтировалась:
Далее заходим в web интерфейс pikvm (kvmd-armbian) и видим что появился новый пункт под названием “Drive”.
После этого я решил скачать образ proxmox и попробовать его удалённо установить на мой домашний сервер:
Ну и как видите, мне это удалось. В правом верхнем углу “Drive” горит зеленым, что сигнализирует о том, что примонтирован образ.
Обновление:
Если хотите обновить на более новую версию установленный уже PiKVM, то нужно выполнить две команды.
Скачать скрипт обновления:
wget -O /usr/local/bin/update-rpikvm.sh https://kvmnerds.com/RPiKVM/update-rpikvm.sh
Запустить скрипт обновления:
update-rpikvm.sh
После чего все у Вас обновится и версия будет более свежая.