配置 PiKVM 操作系统
"由于 BliKVM 硬件实现方案与 PiKVM 硬件实现方案并不完全相同,因此需要通过以下配置修改 PiKVM 官方镜像中的一些错误。当然,您也可以使用已配置的镜像。"
风扇配置
"由于 BliKVM 的风扇硬件与 PiKVM 的不同,您需要先替换控制风扇的脚本。以下默认启动风扇的温度为 40 摄氏度。"
su -
rw
git clone https://github.com/blikvm/blikvm.git
cd blikvm/package/kvmd-fan
bash install-kvmd-fan.sh
ro
"编辑 /etc/kvmd/override.yaml 文件,添加以下内容以移除关于风扇的 Web UI 错误警告。"
kvmd:
info:
fan:
unix: ''
检查 1080P60Hz 输入的 EDID 文件
"EDID 文件的功能是根据预期分辨率设置受控计算机的输入。由于 PiKVM 不同时期的镜像 EDID 文件不一定满足 1080P60Hz,当您使用 CM4 硬件版本时,发现受控计算机的默认输出不是 1080P60Hz,您可以将 /etc/kvmd/tc358743-edid.hex 修改为以下内容:"
00FFFFFFFFFFFF005262888800888888
1C150103800000780AEE91A3544C9926
0F505400000001010101010101010101
010101010101011D007251D01E206E28
5500C48E2100001E8C0AD08A20E02D10
103E9600138E2100001E000000FC0054
6F73686962612D4832430A20000000FD
003B3D0F2E0F1E0A202020202020014F
020323454F041303021211012021A23C
3D3E1F102309070766030C00300080E3
007F8C8C0AD08A20E02D10103E9600C4
8E210000188C0AD08A20E02D10103E96
00138E210000188C0AA01451F0160026
7C4300138E2100009800000000000000
00000000000000000000000000000000
00000000000000000000000000000087
"确保 /boot/config.txt 文件中包含 4lane=1 条目以支持 1080P60Hz。"
# 视频和音频
dtoverlay=tc358743,4lane=1
dtoverlay=tc358743-audio
"如果使用 WebRTC 无法获取音频,请尝试编辑 /etc/kvmd/janus/janus.plugin.ustreamer.jcfg 文件以添加音频支持。"
audio: {
device = "hw:0,0"
tc358743 = "/dev/kvmd-video"
}
OLED
"按照以下方法启用 OLED。"
如果您使用的是 PiKVM 官方镜像,登录到 PiKVM 并运行以下命令:
# rw
# systemctl enable --now kvmd-oled //启用 OLED
# ro
如果 OLED 仍然无法工作,您需要检查 "/boot/config.txt" 文件中是否包含 "dtparam=i2c_arm=on",以及 "/etc/modules-load.d/i2c.conf" 文件中是否包含 "i2c-dev"。如果没有,请创建并添加这些内容。 如果经过上述配置后仍然无法工作,请烧录由 BliKVM 提供的镜像进行测试,以检查 OLED 硬件是否损坏。
关于 v4mini 镜像的配置
如果您想在 BliKVM v1 和 v2 上使用 PiKVM v4mini 镜像,由于 v4mini 镜像使用了不同的 GPIO 引脚进行 ATX 控制,因此如果您希望在 BliKVM v1 或 v2 上运行 v4mini 镜像并能够使用 ATX 控制,则需要进行以下覆盖配置;如果不进行此更改,ATX 控制将无法正常工作(LED 引脚不同)。 编辑 /etc/kvmd/override.yaml 文件并添加以下内容:
kvmd:
### 禁用风扇插座检查 ###
info:
fan:
unix: ''
atx:
hdd_led_pin: 22
power_led_pin: 24
power_switch_pin: 23
reset_switch_pin: 27
type: gpio
gpio:
scheme:
__v3_usb_breaker__:
pin: 5
mode: output
initial: false
pulse:
delay: 0