uDocs

PiKVM на базе одноплатного компьютера

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

PiKVM на базе одноплатного компьютера

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, вы можете подключить к нему клавиатуру, монитор и настроить все напрямую.

В Armbian подключиться к WI-FI сети можно командой 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

И в самый низ прописываем в него следующую команду:

/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 должны выглядеть вот так:

/etc/kvmd/override.yaml
# новый блок 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.

Рекомендуемые записи

Nginx Proxy Manager обратный прокси для домашнего сервера

Nginx Proxy Manager обратный прокси для домашнего сервера

Установка и настройка Nginx Proxy Manager, добавление локальных и публичных доменов для Home Assistant и других сервисов.
Операционная система

Операционная система

Linux — лучший выбор для серверов благодаря его надёжности, гибкости и открытому коду.
Основы работы в Linux

Основы работы в Linux

Делаем первые шаги в Linux: учимся ориентироваться в системе, работать с терминалом и управлять программами. Простые команды, базовые понятия и полезные советы для комфортного старта.
Docker для новичков

Docker для новичков

В этой статье разберём основы: что такое контейнеры, как создавать и управлять ими через Docker, а затем автоматизировать всё с помощью Docker Compose. Никакой магии — только практика.