基于泰山派的 PiKVM

💡 原文中文,约4700字,阅读约需12分钟。
📝

内容提要

PiKVM是基于树莓派的IP KVM工具,实现远程管理。作者记录了在泰山派上安装PiKVM的过程,包括硬件准备和系统准备。通过修改设备树和编译内核,实现键鼠模拟和大容量存储功能。最后介绍了使用TailScale进行虚拟局域网连接和错误排查。

🔎

延伸解读

硬件改造的安全要点

文章强调DIY Y型USB线时,接到服务器端的Type-A端VCC必须断开,否则可能烧毁设备;供电端只保留地线和供电线,且三个接头的GND要相连以保证地电位一致。这些细节直接关系到硬件安全,操作时需严格遵循,避免因接线错误导致开发板或服务器损坏。

系统升级的曲折路径

泰山派官方最高只提供Ubuntu 20.04固件,而PiKVM需要Python 3.10,因此作者先刷20.04再升级到22.04。过程中需解除包版本锁定、关闭自动更新、合并/oem和/userdata分区以扩充根分区空间。这种曲线救国方式虽可行,但步骤繁琐,适合有一定Linux经验的用户参考。

内核编译的关键修改

为了支持键鼠模拟和大容量存储,必须修改设备树将usbdrd_dwc3的dr_mode改为peripheral,并在defconfig中启用CONFIG_USB_CONFIGFS_F_HID、CONFIG_TUN和CONFIG_USB_CONFIGFS_MASS_STORAGE。编译后仅刷入boot.img即可。这些修改是功能实现的基础,缺一不可。

远程访问与存储扩展

由于缺乏公网IP,作者使用TailScale组建虚拟局域网,并切换iptables到legacy版本以兼容低内核。大容量存储功能则通过挂载存储卡并修改override.yaml启用,可将开发板模拟成USB存储设备,用于服务器开机引导。这两个功能提升了PiKVM的实用性和远程管理能力。

❓

Q&A

PiKVM是什么,它的主要功能是什么?

PiKVM是基于树莓派的IP KVM工具,支持远程管理和带外管理功能,可以模拟键鼠并读取主机的视频输出。

在泰山派上安装PiKVM需要哪些硬件?

需要泰山派开发板、HDMI采集卡和DIY的Y型USB线。

如何将泰山派的Android系统升级到Ubuntu 22.04?

需要先刷20.04,然后通过命令行升级到22.04,确保安装ssh server以便于远程调试。

安装KVMD时需要注意哪些依赖?

需要处理kvmd模块的依赖,并安装相关的Python库,如async_lru和gpiod。

如何使用TailScale实现虚拟局域网连接?

安装TailScale并切换iptables到legacy版本,然后运行相关命令进行配置。

如何进行错误排查以确保PiKVM正常运行?

可以通过查看kvmd服务状态和日志来检查具体的错误信息。

🏷️

标签

➡️

继续阅读