Skip to content
> 0x2d.dev
Назад

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


KVM (Keyboard, Video, Mouse) — это технология удалённого управления компьютером на уровне «как будто ты сидишь перед ним». Она позволяет видеть изображение с монитора, управлять клавиатурой и мышью, даже если операционная система зависла или ещё не загрузилась. KVM-устройства часто используются для серверов и администрирования компьютеров на расстоянии.

Существует множество готовых устройств, но если у вас под рукой завалялся ненужный одноплатник типа Orange PI или Raspberry PI вы можете установить на него PiKVM и с его помощью управлять другим компьютером.

PiKVM — это открытое аппаратно-программное решение для реализации KVM-over-IP на базе Raspberry Pi. Оно подключается к компьютеру через HDMI и USB и позволяет полностью управлять им через браузер: включать, видеть экран, работать с BIOS, монтировать образы и перезагружать систему.

Предварительные требования

Устройство видеозахвата

Для того чтобы получать видеосигнал с управляемого компьютера подойдет практически любое устройство видеозахвата, например ESPADA EVihu3.

Устройство видеозахвата ESPADA EVihu3

Переходник micro-HDMI to HDMI

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

Кабель аудио-видео Buro HDMI Переходник однонаправленный GoPower HDMI - micro HDMI

Питание

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

USB разветвитель питания для Raspberry Pi BliKVM BLICUBE

Схема подключения

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

Схема подключения Orange PI Zero 3 для PiKVM

Установка PiKVM

Во время установки не обязательно подключать одноплатник к компьютеру, поэтому если у вас на одноплатнике не настроена сеть или SSH, вы можете подключить к нему клавиатуру, монитор и настроить все напрямую.

Tip

В 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.

PiKVM Веб-интерфейс

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

Создание файла может занимать значительное время в зависимости от вашего накопителя, особенно если в его роли выступает флешка

После завершения создания виртуального диска пропишем автомонтирование его при запуске системы, для этого открываем файл /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/etc/fstab
Warning

Команда должна быть в одну строку без переносов

Клавишами CTRL + x закрываем файл подтверждая сохранения кнопкой y.

Далее в файле /etc/kvmd/override.yaml нужно добавить новый блок otg и изменить параметр type: disabled на type: otg в блоке kvmd.msd.

Warning

В файлах формата 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 # можете указать другое разрешение экрана/etc/kvmd/override.yaml

После сохранения файла перезагружаем сервис:

sudo systemctl restart kvmd

Загрузка ISO образа

В веб-интерфейсе сверху слева нажмите на иконку Drive, выберите Drive mode CD-ROM, нажмите Select image to upload и загрузите необходимый ISO-образ с локального компьютера или по ссылке из интернета.

PiKVM Загрузка ISO-образа в хранилище образов

Загрузка компьютера через эмулятор CD-ROM

После загрузки образа на одноплатник в меню Drive выберите из списка нужный образ, нажмите Connect drive to Server и перезагрузите компьютер. Перезагрузить можно, например, через меню Shortcuts выбрав команду CTRL + ALT + DELETE.

Во время перезагрузки управляемого компьютера зайдите в BIOS и в разделе приоритетов загрузки выберите эмулятор CD-ROM.

PiKVM загрузка через эмулятор CD-ROM PiKVM Ubuntu загруженная через эмулятор CD-ROM


Предыдущая запись
Облачная виртуальная машина за 150р. в месяц
Следующая запись
Установка Ollama в Linux и Docker-контейнер