斐讯 n1 改造 ipkvm 设备

2026-04-29 09:152阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

前言

当 NAS 机器身处离我几百公里的老家,总是会担心不小心某个操作导致机器不能启动,而且还不清楚是什么原因导致的,可能需要进入修复模式进行某些操作。

所以考虑能不能通过另外一台稳定运行的的机器远程操作,可以看见屏幕又可以使用鼠标键盘,就好像机器就在身边。通过网络可以进行远程排查,同时还可以进行 bios 级别的操作。

了解到向日葵控控 A2,当时价格是 400 多,现在已经涨价到 700 多,确实有点贵。后面又了解到 pikvm,于是当时就买好了一些设备,比如 hdmi 采集卡,usb 公对公线等等。由于当时 pikvm 搭建比较复杂和其他原因,所以就放弃了。

近日,又看见 one-kvm 项目,该项目基于 pikvm 二次开发,可以使用 docker 搭建并配置了本地化,属实是眼前一亮。最终也是功夫不负有心人,成功搭建属于自己的 ipkvm 设备了。

硬件

  • 斐讯 N1 盒子
  • HDMI 采集卡(需要带延长线的,否则会导致另外一个 usb 口空间被占用)
  • HDMI 传输线
  • USB 公对公线(用于模拟鼠标键盘,需要设备支持 OTG,否则需要 USB CH340+CH9329)
  • U 盘(用于重装系统)

20250625155256.png1024×225 31.8 KB

OTG 与 CH9329 区别说明

  • OTG HID:大多数 ARM CPU 支持 USB OTG 接口,该接口可以配置为 USB Host 或 USB Device 模式。在 Linux 下,它能够充当虚拟 HID 设备(如键盘、鼠标等)。此外,OTG 还支持虚拟存储驱动器(MSD)、虚拟 USB 网卡等功能。

  • CH9329 HID:这是一款串口转 USB HID 的芯片,在计算机上表现为标准的 USB 输入设备。它适用于 X86 架构机器,因为它们通常不支持 USB OTG。

一、安装 armbian 系统

1. 下载系统镜像

去 github 下载 armbian 的 Jammy 版本系统镜像,N1 盒子下载包含如图所示关键词的镜像即可。

20250625144727.png979×370 31.7 KB

其他的机器可能要下载对应的镜像,关于镜像命名可以了解一下,以下是 gpt 的回复。

镜像名称:Armbian_25.05.0_amlogic_s905d_jammy_6.1.137_server_2025.05.05.img.gz

字段 含义
Armbian 基于 Armbian 系统
25.05.0 Armbian 项目版本号(第 25 年 05 月发布,第 0 次小更新)
amlogic_s905d 针对 Amlogic S905D 芯片的定制构建(DTB 和启动适配)
jammy 基于 Ubuntu 22.04 LTS(代号 Jammy Jellyfish)
6.1.137 Linux 内核版本为 6.1.137(LTS 内核)
server 无桌面的最小化版本
2025.05.05 镜像构建时间(2025 年 5 月 5 日)
.img.gz .img 是裸磁盘镜像,.gz 是压缩格式(需解压)

最主要是查看机器的芯片,再下载对应的镜像。

2. 镜像写入 U 盘

下载写入工具 rufus。

20250625150908.png418×538 12.4 KB

选择好设备,以及镜像,然后点击开始。

3. 开始重装

将 U 盘插入 N1,默认使用 U 盘启动系统,这里首先会提示安装系统,比如创建用户、设置密码等操作,过程略。

安装系统完成后,使用 armbian-install 命令将镜像写入 eMMC,后面选项根据机器类型选择,比如 N1 选择 101,系统格式选择 ext4 格式。

20250625151614.png841×161 29.3 KB

完成后输入 poweroff 关闭系统,拔掉 U 盘。

二、安装 one-kvm

1. 修改 dts

这一步骤的操作是为了将 USB 控制器的模式从主机模式切换为外设模式,否则不能使用鼠标键盘控制其他主机。

反编译 dts 文件:

dtc -I dtb -O dts -o n1.dts /boot/dtb/amlogic/meson-gxl-s905d-phicomm-n1.dtb

修改 dts 文件,vim n1.dts将 USB 设备的 dr_mode 从 “host” 改为 “peripheral”。

20250625152633.png780×624 13.5 KB

编译修改后的 dts 文件:

dtc -I dts -O dtb -o n1.dtb n1.dts

将编译好的 dtb 文件移动至 /boot/dtb/amlogic/ 目录下。

mv n1.dtb /boot/dtb/amlogic/

vim /boot/uEnv.txt 修改 uEnv.txt 文件使用 n1.dtb

20250625152951.png1370×135 5.77 KB

2. 安装 docker

切换 apt 源:

sudo armbian-apt

20250625153443.png571×610 14.5 KB```

安装 docker:

sudo apt update sudo apt install docker.io

3. 安装 one-kvm

直接运行:

docker run -d \ --name kvmd \ --privileged \ --network host \ -v /lib/modules:/lib/modules:ro \ -v /dev:/dev \ -v /sys/kernel/config:/sys/kernel/config \ -e OTG=1 \ -e NOMSD=0 \ -e VIDEONUM=1 \ -e USERNAME=admin \ -e PASSWORD=admin \ --restart unless-stopped \ dockerpull.pw/silentwind0/kvmd

compose 运行:

services: kvmd: image: dockerpull.pw/silentwind0/kvmd container_name: kvmd privileged: true network_mode: host #ports: #- "8080:8080" #- "4430:4430" #- "5900:5900" #- "623:623" volumes: - /lib/modules:/lib/modules:ro - /dev:/dev - /sys/kernel/config:/sys/kernel/config environment: - OTG=1 - NOMSD=0 # 双公头线插入usb0即靠近hdmi接口,采集器插入usb1即外侧 - VIDEONUM=1 - USERNAME=admin - PASSWORD=admin restart: unless-stopped

4. 插入外设

如果 usb 插入顺序和下图不同,那么可能用上面的启动方式无法运行。

20250625154129.png1075×449 164 KB

5. 访问 kvm

访问 kvm 的地址为 https://ip:4430,默认用户名和密码为 admin

效果如下:

20250625155558.png1902×1031 27.7 KB

6. 配置异地组网或内网穿透

搭建完成以后,肯定就是需要让外网能够访问到 one-kvm 了,过程略。


参考文档:

  • One-KVM 搭建低成本的 IP KVM

参考视频:

  • docker 运行 One-KVM
  • N1 盒子 IPKVM 安装记录
网友解答:
--【壹】--:

我的玩客云也刷了个one-kvm 挺好玩的

但是有个问题 怎么接kvm切换器 来控制多台设备啊

官方文档写的感觉不是很清晰 蹲一个更好的文档


--【贰】--:

看来一下二开项目,还支持玩客云,那也可以刷起来了


--【叁】--:

快用起来


--【肆】--:

n1现在不够用了吧


--【伍】--:

N1盒子确实历久弥新


--【陆】--:

N1 和 N佬谁更厉害


--【柒】--:

感谢分享


--【捌】--:

像这种双工头的 usb 线是不是市面上 的都是可以用的?
不像 typec 线那种,有些是只有传输功能。。。


--【玖】--:

哈哈哈,还没搞到这个地步


--【拾】--:

N1真是个传奇


--【拾壹】--:

N1再就业


--【拾贰】--:

牛掰哄哄啊~


--【拾叁】--:

n1又可以起飞了


--【拾肆】--:

USB 控制器的模式从主机模式切换为外设模式之后是不是N1就不能通过插实体鼠标键盘控制了,只能通过web页面访问远程控制了吗,这样的话如果N1没连上网是不是就得嘎了


--【拾伍】--:

不愧是N1


--【拾陆】--:

这个我不是很清楚,我就拼多多买的很便宜的


--【拾柒】--:

哈哈哈,确实


--【拾捌】--:

N1这么多年还是很好玩。

标签:vps
问题描述:

前言

当 NAS 机器身处离我几百公里的老家,总是会担心不小心某个操作导致机器不能启动,而且还不清楚是什么原因导致的,可能需要进入修复模式进行某些操作。

所以考虑能不能通过另外一台稳定运行的的机器远程操作,可以看见屏幕又可以使用鼠标键盘,就好像机器就在身边。通过网络可以进行远程排查,同时还可以进行 bios 级别的操作。

了解到向日葵控控 A2,当时价格是 400 多,现在已经涨价到 700 多,确实有点贵。后面又了解到 pikvm,于是当时就买好了一些设备,比如 hdmi 采集卡,usb 公对公线等等。由于当时 pikvm 搭建比较复杂和其他原因,所以就放弃了。

近日,又看见 one-kvm 项目,该项目基于 pikvm 二次开发,可以使用 docker 搭建并配置了本地化,属实是眼前一亮。最终也是功夫不负有心人,成功搭建属于自己的 ipkvm 设备了。

硬件

  • 斐讯 N1 盒子
  • HDMI 采集卡(需要带延长线的,否则会导致另外一个 usb 口空间被占用)
  • HDMI 传输线
  • USB 公对公线(用于模拟鼠标键盘,需要设备支持 OTG,否则需要 USB CH340+CH9329)
  • U 盘(用于重装系统)

20250625155256.png1024×225 31.8 KB

OTG 与 CH9329 区别说明

  • OTG HID:大多数 ARM CPU 支持 USB OTG 接口,该接口可以配置为 USB Host 或 USB Device 模式。在 Linux 下,它能够充当虚拟 HID 设备(如键盘、鼠标等)。此外,OTG 还支持虚拟存储驱动器(MSD)、虚拟 USB 网卡等功能。

  • CH9329 HID:这是一款串口转 USB HID 的芯片,在计算机上表现为标准的 USB 输入设备。它适用于 X86 架构机器,因为它们通常不支持 USB OTG。

一、安装 armbian 系统

1. 下载系统镜像

去 github 下载 armbian 的 Jammy 版本系统镜像,N1 盒子下载包含如图所示关键词的镜像即可。

20250625144727.png979×370 31.7 KB

其他的机器可能要下载对应的镜像,关于镜像命名可以了解一下,以下是 gpt 的回复。

镜像名称:Armbian_25.05.0_amlogic_s905d_jammy_6.1.137_server_2025.05.05.img.gz

字段 含义
Armbian 基于 Armbian 系统
25.05.0 Armbian 项目版本号(第 25 年 05 月发布,第 0 次小更新)
amlogic_s905d 针对 Amlogic S905D 芯片的定制构建(DTB 和启动适配)
jammy 基于 Ubuntu 22.04 LTS(代号 Jammy Jellyfish)
6.1.137 Linux 内核版本为 6.1.137(LTS 内核)
server 无桌面的最小化版本
2025.05.05 镜像构建时间(2025 年 5 月 5 日)
.img.gz .img 是裸磁盘镜像,.gz 是压缩格式(需解压)

最主要是查看机器的芯片,再下载对应的镜像。

2. 镜像写入 U 盘

下载写入工具 rufus。

20250625150908.png418×538 12.4 KB

选择好设备,以及镜像,然后点击开始。

3. 开始重装

将 U 盘插入 N1,默认使用 U 盘启动系统,这里首先会提示安装系统,比如创建用户、设置密码等操作,过程略。

安装系统完成后,使用 armbian-install 命令将镜像写入 eMMC,后面选项根据机器类型选择,比如 N1 选择 101,系统格式选择 ext4 格式。

20250625151614.png841×161 29.3 KB

完成后输入 poweroff 关闭系统,拔掉 U 盘。

二、安装 one-kvm

1. 修改 dts

这一步骤的操作是为了将 USB 控制器的模式从主机模式切换为外设模式,否则不能使用鼠标键盘控制其他主机。

反编译 dts 文件:

dtc -I dtb -O dts -o n1.dts /boot/dtb/amlogic/meson-gxl-s905d-phicomm-n1.dtb

修改 dts 文件,vim n1.dts将 USB 设备的 dr_mode 从 “host” 改为 “peripheral”。

20250625152633.png780×624 13.5 KB

编译修改后的 dts 文件:

dtc -I dts -O dtb -o n1.dtb n1.dts

将编译好的 dtb 文件移动至 /boot/dtb/amlogic/ 目录下。

mv n1.dtb /boot/dtb/amlogic/

vim /boot/uEnv.txt 修改 uEnv.txt 文件使用 n1.dtb

20250625152951.png1370×135 5.77 KB

2. 安装 docker

切换 apt 源:

sudo armbian-apt

20250625153443.png571×610 14.5 KB```

安装 docker:

sudo apt update sudo apt install docker.io

3. 安装 one-kvm

直接运行:

docker run -d \ --name kvmd \ --privileged \ --network host \ -v /lib/modules:/lib/modules:ro \ -v /dev:/dev \ -v /sys/kernel/config:/sys/kernel/config \ -e OTG=1 \ -e NOMSD=0 \ -e VIDEONUM=1 \ -e USERNAME=admin \ -e PASSWORD=admin \ --restart unless-stopped \ dockerpull.pw/silentwind0/kvmd

compose 运行:

services: kvmd: image: dockerpull.pw/silentwind0/kvmd container_name: kvmd privileged: true network_mode: host #ports: #- "8080:8080" #- "4430:4430" #- "5900:5900" #- "623:623" volumes: - /lib/modules:/lib/modules:ro - /dev:/dev - /sys/kernel/config:/sys/kernel/config environment: - OTG=1 - NOMSD=0 # 双公头线插入usb0即靠近hdmi接口,采集器插入usb1即外侧 - VIDEONUM=1 - USERNAME=admin - PASSWORD=admin restart: unless-stopped

4. 插入外设

如果 usb 插入顺序和下图不同,那么可能用上面的启动方式无法运行。

20250625154129.png1075×449 164 KB

5. 访问 kvm

访问 kvm 的地址为 https://ip:4430,默认用户名和密码为 admin

效果如下:

20250625155558.png1902×1031 27.7 KB

6. 配置异地组网或内网穿透

搭建完成以后,肯定就是需要让外网能够访问到 one-kvm 了,过程略。


参考文档:

  • One-KVM 搭建低成本的 IP KVM

参考视频:

  • docker 运行 One-KVM
  • N1 盒子 IPKVM 安装记录
网友解答:
--【壹】--:

我的玩客云也刷了个one-kvm 挺好玩的

但是有个问题 怎么接kvm切换器 来控制多台设备啊

官方文档写的感觉不是很清晰 蹲一个更好的文档


--【贰】--:

看来一下二开项目,还支持玩客云,那也可以刷起来了


--【叁】--:

快用起来


--【肆】--:

n1现在不够用了吧


--【伍】--:

N1盒子确实历久弥新


--【陆】--:

N1 和 N佬谁更厉害


--【柒】--:

感谢分享


--【捌】--:

像这种双工头的 usb 线是不是市面上 的都是可以用的?
不像 typec 线那种,有些是只有传输功能。。。


--【玖】--:

哈哈哈,还没搞到这个地步


--【拾】--:

N1真是个传奇


--【拾壹】--:

N1再就业


--【拾贰】--:

牛掰哄哄啊~


--【拾叁】--:

n1又可以起飞了


--【拾肆】--:

USB 控制器的模式从主机模式切换为外设模式之后是不是N1就不能通过插实体鼠标键盘控制了,只能通过web页面访问远程控制了吗,这样的话如果N1没连上网是不是就得嘎了


--【拾伍】--:

不愧是N1


--【拾陆】--:

这个我不是很清楚,我就拼多多买的很便宜的


--【拾柒】--:

哈哈哈,确实


--【拾捌】--:

N1这么多年还是很好玩。

标签:vps