MENU

openipkvm安装过程记录

October 16, 2023 • 折腾,分享

前言

和PiKVM类似,这也是一个轻量开源的的kvm over ip项目。虽然程序本身比较简陋,但使用node环境可以在各类Linux(+ Arduino Leonardo)平台上运行,兼容性非常强,可以作为一个备选方案。其在GitHub和恩山无线论坛上有非常详细的安装指引,这里简单记录一下在armbian上的安装过程。

下图是架构和截图:(转自项目作者)
v2-6cec063b80e38dd07368c2341f05dca8_720w.png
v2-b33e2174f8c6b83f48537639674070f0_720w.png

硬件准备

安装好Linux系统的主机(含两个USB口以上,arm,x86都可)

Arduino Leonardo开发板、USB-to-TTL适配器(如ch340)、采集卡(Linux免驱即可,如ms2109方案)

安装教程

  1. 写入Arduino Leonardo

    下载并打开Arduino IDE 载入源码里的virt-hid-arduino.ino上传到对应COM口的开发板设备

image-20231016204449905.png

image-20231016204525994.png

#安装mjpg-streamer
apt-get install cmake libjpeg-dev gcc g++
git clone https://ghproxy.com/https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer && cd mjpg-streamer-experimental
make
sudo make install
#根据机器类型下载对应版本node即可,这里下载的是arm32位版本,适用于arm设备
cd ~
wget https://cdn.npmmirror.com/binaries/node/v14.17.0/node-v14.17.0-linux-armv7l.tar.xz
tar -xJf node-v14.17.0-linux-armv7l.tar.xz
cd node-v14.17.0-linux-armv7l
sudo cp -R * /usr/local/
node -v
#cd ~
git clone https://ghproxy.com/https://github.com/Nihiue/open-ip-kvm.git
npm config set registry https://registry.npmmirror.com
cd open-ip-kvm && npm install
#程序程序运行命令
npm run start
#安装进程管理器,开机自启的具体实现请参考pm2文档(可选)
npm install -g pm2

连接

USB-TTL设备TTL端与「Arduino Leonardo」用杜邦线连接,TX接RX,RX接TX,GND可以不接,USB端接Linux主机。Arduino Leonardo的USB口接需要控制的目标机,采集卡HDMI输入接需要控制目标机的HDMI输出接口。网页地址:http://IP:8000
IMG_20231016_212149_edit_76777194577930.jpg

其他

openipkvm只是一个能用的程序,程序比较简单,优化空间大,不适合正式环境。此方案理论上能在各类Linux设备上运行,在玩客云上测试通过。

一些比较罕见的arm电视盒子上的Armbian Linux系统可能不含UVC驱动就只能放弃了kvm over ip了(此情况很少见)。
image-20231016213508602.png

参考:

  1. DIY 一个运维神器 Open IP-KVM - 知乎 (zhihu.com)
  2. Nihiue/open-ip-kvm: Build your own open-source ip-kvm device (github.com)
  3. 解锁N1新玩法,生产力工具,BIOS级别远程管理Open IP-KVM-斐讯无线路由器以及其它斐迅网络设备-恩山无线论坛 (right.com.cn)