最近给家里拉好了隐形光纤,服务器的环境条件限制瞬间松了不少。
但由于我长期不在家,导致服务器如果出了什么事情不能在第一时间内去解决(例如手欠防火墙端口全屏蔽啥的)。
我的服务器又因为成本和环境等问题并没有使用带ipmi的大厂机架准系统,而是我在撕逼🐟上翻半天捡来的垃圾。
所以如果能有一个工具,可以通过外设去在线上管理服务器的话,那便是极好的。
在互联网浅浅查找数分钟后,我发现了一个叫做PiKVM的玩意:

这个开源KVM工具可以将你手边的树莓派变成线上KVM管理系统,缺点就是贵。
再翻了一下,发现有国外大佬对其他硬件进行了相关的适配:

但问题是这些板子国内普遍售价100+,还是贵。
正当我苦恼之时,我无意间发现了国内大佬给矿渣玩客云适配了PiKVM系统:OneKVM。这下子成本急剧降低,成功的吸引了我的眼球。
于是打算折腾玩玩。
材料准备:
矿渣玩客云*1;
usb-hdmi采集卡*1(大佬推荐ms2109方案);
usb双公头线*1;
网线。
现在玩客云矿渣很便宜,基本价格都20出头。
22软妹币从撕逼🐟线下自提一台矿渣玩客云:

18从某宝买了个usb-hdmi采集卡,目前还没到。
刷机教程:
刷机方法很简单,这里采用线刷方式。
首先把主板拆出来,然后用usb双公头一边连着电脑,一边连着靠近hdmi的usb母座:

电脑打开晶晨Amlogic USB Burning Tool v2.1.3,按照以下方式短接对应触点后插电开机。
旧版玩客云短接方式:


新版玩客云短接方式:

电脑显示设备后松开短接点。
接着点击文件-导入烧录包,导入UBoot.eMMC.burn.img,加载完成后点开始刷一遍uboot。
然后按照前面的方式导入One-KVM_Armbian_by-SilentWind_for-Onecloud_*.burn.img,加载完成后点开始刷系统。
如果刷rootfs的过程总是刷到一半报错,可以把擦除flash方式改为强制擦除所有。
进度条走完后立马断电重启或者拔掉刷机线,不然工具会一遍又一遍的重复刷机。
断电后按照如下图接好线:

开机之后在路由器后台查看玩客云ip地址:

浏览器输入玩客云ip后进入登录界面,默认账户密码都是admin。登录后即可进入系统:

至此,你可以使用你的矿渣玩客云进行愉快的玩耍了。
如果需要更多功能可继续观看本文章。
开机键:
在板子上找到玩客云预留的红外遥控焊盘,然后最左边的GPIO焊盘和中间的GND焊盘接线到主板POWER_SW上:

进入OneKVM WebUI后点击KVM:

点击右上的电源管理:

即可看到开关机选项:

RESET键(可选):
玩客云矿渣有预留wifi模块焊盘位,预留了GPIO引脚:

由于我只使用有线,而且目前已知板子上没有其他多的GPIO引脚(前面提到的预留红外遥控焊盘除外),所以我直接从WIFI模块焊盘上接了GPIO作为RESET键使用。
WIFI模块焊盘对应GPIO定义:
GPIO-430 默认in 1 可用 连接焊盘19脚
GPIO-431 默认in 1 可用 连接焊盘14脚
GPIO-432 默认in 1 可用 连接焊盘15脚
GPIO-433 默认in 1 可用 连接焊盘27脚
GPIO-434 默认in 1 可用 连接焊盘25脚
GPIO-435 默认in 1 可用 连接焊盘28脚
GPIO-436 默认in 1 可用 连接焊盘26脚
GPIO-437 默认in 1 可用 连接焊盘17脚
GPIO-438 默认in 1 可用 连接焊盘16脚
GPIO-440 默认in 1 可用 连接焊盘12脚
GPIO-441 默认in 1 可用 连接焊盘43脚 TXD
GPIO-442 默认in 1 可用 连接焊盘42脚 RXD
GPIO-443 默认in 1 可用 连接焊盘41脚 RTX_N
GPIO-444 默认in 1 可用 连接焊盘44脚 CTS_N
GPIO-446 默认in 1 可用 连接焊盘13脚 此处我使用了GPIO440(焊盘12脚)作为RESET键定义,第一脚作为GND:

SSH进入玩客云命令行。
首先将/usr/bin/onecloud_gpio.sh修改成以下内容(追加reset代码):
#!/bin/bash
case $1 in
short)
gpioset -m time -s 1 gpiochip1 7=0
gpioset gpiochip1 7=1
;;
long)
gpioset -m time -s 5 gpiochip1 7=0
gpioset gpiochip1 7=1
;;
reset)
gpioset -m time -s 1 gpiochip0 11=0
gpioset gpiochip0 11=1
;;
*)
echo "No thing."
esac 编辑/etc/kvmd/override.yaml文件,在该文件中对应处分别插入以下内容(请注意缩进格式,不然会报错):
gpio:
drivers:
<原有内容...>
reset_press:
type: cmd
cmd: [/usr/bin/sudo, onecloud_gpio.sh, reset]
scheme:
<原有内容...>
reset_button:
driver: reset_press
pin: 0
mode: output
switch: false
view:
header:
title: ATX
table:
<原有内容...>
- ["#RESET重启:", reset_button|Press] 然后重启服务:
sudo systemctl restart kvmd 注意,主板接线图需要如下图所示:

不同的主板有不同的接针。但是如果是像这种通用的黄色排针,reset接线和普通接线相比需要往右边多挪动一根针的位置。
PiKVM默认WebUI密码:
User: admin
Password: admin SSH第一次登录时的用户/密码:
User: root
Password: 1234 关于WebUI用户/密码的部分命令:
# 修改管理员密码:
kvmd-htpasswd set admin
# 新建访问用户:
kvmd-htpasswd set <user>
# 删除访问用户:
kvmd-htpasswd del <user> 关于2FA:
# 查看PiKVM 2FA命令帮助
kvmd-totp -h
# 生成2FA密钥并开启2FA验证
kvmd-totp init
# 展示已有密钥
kvmd-totp show
# 删除所有密钥并关闭2FA验证
kvmd-totp del
参考资料:
OneKVM文档:https://one-kvm.mofeng.run/
PiKVM文档:https://docs.pikvm.org/
文中提到的固件下载地址:https://files.mofeng.run/
晶晨Amlogic USB Burning Tool各版本下载地址:https://androidmtk.com/download-amlogic-usb-burning-tool
玩客云WIFI位GPIO定义:https://www.right.com.cn/forum/thread-2881296-1-1.html
参考教程1:https://one-kvm.mofeng.run/onecloud_install/
参考教程2:https://www.bilibili.com/video/BV1FD421P79L/
参考教程3:https://www.bilibili.com/read/cv21169636/