PiKVM на базе одноплатного компьютера
Установка и настройках PiKVM на одноплатный компьютер на Raspberry PI или аналогичный.

KVM (Keyboard, Video, Mouse) — это технология удалённого управления компьютером на уровне «как будто ты сидишь перед ним». Она позволяет видеть изображение с монитора, управлять клавиатурой и мышью, даже если операционная система зависла или ещё не загрузилась. KVM-устройства часто используются для серверов и администрирования компьютеров на расстоянии.
Существует множество готовых устройств, но если у вас под рукой завалялся не нужный одноплатник типа Orange PI или Raspberry PI вы можете установить на него PiKVM и с его помощью управлять другим компьютером.
PiKVM — это открытое аппаратно-программное решение для реализации KVM-over-IP на базе Raspberry Pi. Оно подключается к компьютеру через HDMI и USB и позволяет полностью управлять им через браузер: включать, видеть экран, работать с BIOS, монтировать образы и перезагружать систему.
Предварительные требования
- Одноплатный компьютер с установленным Armbian и подключенный к вашей локальной сети
- Устройство видеозахвата
- Кабель micro-HDMI to HDMI либо переходник micro-HDMI to HDMI, если на вашем одноплатнике нет полноценного HDMI
- Отдельный блок питания для одноплатника, либо USB разветвитель
Устройство видеозахвата
Для того чтобы получать видеосигнал с управляемого компьютера подойдет практически любое устройство видеозахвата, например ESPADA EVihu3.

Переходник micro-HDMI to HDMI
Например Orange PI Zero 3 имеет HDMI в формате micro-HDMI, а устройство видеозахвата обычно имеет полноразмерный HDMI, поэтому вам понадобится либо кабель, либо переходик на соотвествующие разьемы.


Питание
Orange PI Zero 3 может питаться от USB Type C от подключенного компьютера, но во время перезагрузок питание на USB порту может пропадать и у вас не получиться зайти в биос или загрузиться с удаленного ISO образа. Чтобы этого избежать вам нужно использовать отдельный блок питания для одноплатника или использовать USB Splitter с функцией питания и передачи данных, например BliKVM BLICUBE. Подключите один USB в управляемый компьютер, а второй в отдельный USB блок питания.

Схема подключения
Полная схема подключения со всеми переходниками выглядит примерно так:

Установка PiKVM
Во время установки не обязательно подключать одноплатник к компьютеру, поэтому если у вас на одноплатнике не настроена сеть или SSH, вы можете подключить к нему клавиатуру, монитор и настроить все напрямую.
sudo nmtui-connect SSID_NAME, где SSID_NAME это имя вашей сети. После ввода команды будет предложено ввести пароль.Подключитесь к одноплатнику напрямую или по SSH и выполните следующие команды.
sudo apt update && apt upgrade -y
sudo apt install -y git vim make python3-dev gcc xz-utils wget sudo
git clone https://github.com/srepac/kvmd-armbian.git
cd kvmd-armbian
sudo ./install.sh
Установка занимает продолжительное время, дождитесь надписи Press ENTER to continue or CTRL+C to break out of script, нажмите Enter для перезагрузки. После перезагрузки опять переходите в папку со скаченным кодом и опять запускаете установку для продолжения.
cd kvmd-armbian
sudo ./install.sh
После успешного завершения установки будет предложение для запуска PiKVM: Did kvmd -m run properly? [y/n], согласитесь кнопкой y.
Проверка
Подключите одноплатник к управляемому компьютеру согласно схеме выше, дождитесь загрузки и перейдите в браузере по ip адресу одноплатника. Логин и пароль для веб-интерфейса по умолчанию: admin / admin.

На данном этапе вы уже можете управлять компьютером, но если вы планируете удаленно устанавливать систему из ISO образов без физического доступа, то вам нужно продолжить настройку.
Настройка эмуляции CD привода с .iso образами
Вы можете удаленно на одноплатник загружать образы ISO для того чтобы загружать управляемый компьютер с них.
Для начала проверьте сколько свободного места у вас есть на одноплатнике и определитесь сколько вы готовы выделить под хранение ISO образов. Для примера создаем виртуальный диск на 8ГБ, в команде параметр count=8192 указывает на рамер в мегабайтах.
df -h /
sudo dd if=/dev/zero of=/var/lib/kvmd/msd.img bs=1M count=8192 status=progress
sudo mkfs.ext4 /var/lib/kvmd/msd.img
sudo mkdir -p /mnt/otgmsd
Создание файла может занимать значительное время в зависимости от вашего накопителя, особенно если в его роли выступает флешка
После завершения создания виртуального диска пропишем автомонтирование его при запуске системы, для этого открываем файл /etc/fstab:
sudo nano /etc/fstab
И в самый низ прописываем в него следующую команду:
/var/lib/kvmd/msd.img /var/lib/kvmd/msd ext4 loop,nodev,nosuid,noexec,rw,errors=remount-ro,data=journal,X-kvmd.otgmsd-root=/var/lib/kvmd/msd,X-kvmd.otgmsd-user=kvmd 0 0
Клавишами + x закрываем файл подтверждая сохранения кнопкой y.
Далее в файле /etc/kvmd/override.yaml нужно добавить новый блок otg и изменить параметр type: disabled на type: otg в блоке kvmd.msd.
yaml очень выжны оступы слева, внимательно их проверьте!Открываем файл:
sudo nano /etc/kvmd/override.yaml
Листаем в самый низ и блоки otg и kvmd должны выглядеть вот так:
# новый блок otg, изначально его нет
otg:
devices:
drives:
enabled: true
kvmd:
msd:
type: otg # было disabled
atx:
type: disabled
streamer:
forever: true
cmd_append:
- "--slowdown"
resolution:
default: 1280x720 # можете указать другое разрешение экрана
После сохранения файла перезагружаем сервис:
sudo systemctl restart kvmd
Загрузка ISO образа
В веб-интерфейсе сверху слева нажмите на иконку Drive, выберите Drive mode CD-ROM, нажмите Select image to upload и загрузите необходимый ISO-образ с локального компьютера или по ссылке из интернета.

Загрузка компьютера через эмулятор CD-ROM
После загрузки образа на одноплатник в меню Drive выберите из списка нужный образ, нажмите Connect drive to Server и перезагрузите компьютер. Перезагрузить можно, например, через меню Shortcuts выбрав команду + + ⌦.
Во время перезагрузки управляемого компьютера зайдите в BIOS и в разделе приоритетов загрузки выбите эмулятор CD-ROM.





