已经实现,经测试运行完美,需要用到
- NanoPi R4S
- 双公头USB 2.0/3.0 数据线
- HDMI采集卡
- HDMI数据线
R4S安装Armbian系统即可,肯定不会用openwrt了,我主要做旁路由和小型服务器使用,功耗低而且可以自制一个UPS备用电源,成本20左右,过几天也可以发一个教程
如果还需要托其他设备,可以再买一个USB3.0扩展,我还拖了一个硬盘盒
言归正传,主要是需要重新编译设备的USB接口配置文件,网上没有教程,自己对着其他同CPU设备配置文件捣鼓了半天才成功,文件到时候会放网盘,至于具体的图文教程先暂时不更新,太懒了。。最近打算编写一个API和前端静态开源库的CDN加速网站,今天晚上没事干就写了这个教程,过几天把坑填上。
首先需要安装armbian系统,我使用的就是最新的Armbian 24.5.1 Noble Server/CLI
写入和安装就不多说了,安装好后直接修改内核加载usb驱动文件
先替换并更新一下源
nano /etc/apt/sources.list.d/armbian.list
将 http://apt.armbian.com 替换为以下链接
https://mirrors4.tuna.tsinghua.edu.cn/armbian
然后替换Ubuntu Ports源
nano /etc/apt/sources.list
将内容全部删除,替换为清华大学镜像源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ jammy-security main restricted universe multiverse
更新源
apt-get update
然后将原来的dtb编译为dts
dtc -I dtb -O dts -o /root/rk3399-nanopi-r4s.dts /boot/dtb-6.6.31-current-rockchip64/rockchip/rk3399-nanopi-r4s.dtb
然后编辑rk3399-nanopi-r4s.dts 搜索
dr_mode = "host";
一般这时候会搜到两个,只需要改其中一个就可以了,我修改的是usb@fe800000
将host修改为peripheral,同时在上面在添加一行
dr_mode = "peripheral";
最终如下图所示
然后再编译回dtb文件
dtc -I dts -O dtb -o rk3399-nanopi-r4s.dtb rk3399-nanopi-r4s.dts
然后将编译好的dtb文件替换掉/boot/dtb-6.6.31-current-rockchip64/rockchip/rk3399-nanopi-r4s.dtb文件,之后重启R4S即可
cp -f /root/rk3399-nanopi-r4s.dtb /boot/dtb-6.6.31-current-rockchip64/rockchip/rk3399-nanopi-r4s.dtb
接下来安装pikvm
git clone https://github.catiz.eu.org/https://github.com/jacobbar/fruity-pikvm.git
cd fruity-pikvm
执行安装脚本之前建议替换掉里面的python和GitHub链接地址,因为一些未知的原因,访问这些链接非常慢
nano install.sh
将GitHub和python(当前版本默认是符合要求的python版本,可以不用替换)的链接替换
python安装包链接
https://mirrors.aliyun.com/python-release/source/Python-3.10.9.tgz
github镜像地址替换链接
https://github.catiz.eu.org/https://github.com/jacobbar/fruity-pikvm/releases/download/debfile/
执行安装脚本
./install.sh
安装完成需要设置admin账户的密码
kvmd-htpasswd set admin
输入主机的IP地址即可访问,默认端口号分别是80和443,这个也可以修改,你问怎么修改?先鸽一下~
编辑如下两个文件
/etc/kvmd/nginx/listen-https.conf
/etc/kvmd/nginx/listen-http.conf
将其中的80和443改为你想使用的端口,保持后重启服务器即可