家里的玩客云 KVM 坏掉了, 想做新的, 但是又不想考虑玩客云方案, 这玩意稳定性真的很堪忧, 于是乎上闲鱼找了找便宜的Arm开发板, 遂看到了FireFly的 RK3399Plus, 题主选了一个 4+16 的版本, 理论上来说是够用了, 板子长这样, 18 年产, 但是看着很新, 怀疑已经水洗过了 (雾.插电, 连接开发板TypeC口和电脑, 电脑需要先下载 Firefly提供的 RK 驱动以及 AndroidTool这两样东西FireFly DriverAssistantRK DevTool打开RKDevTool以后, 准备让开发板进入MaskRom来刷入系统, 我这里提供两种方案方案一 先进入Loader然后进入MaskRom插电, 按住主板上的Reset按钮三秒后松手, 自动进入Loader模式然后进入DevTool查看高级配置 Advanced Fuction 里面有一个进入MaskRom模式方案二 短接跳线直接进入MaskRom跳线位置略微奇怪, 但还是很好找的短接上图的两个金色触点, 先短接, 后插电开机, 即可直接进入MaskRom模式, 但我还是推荐方法一, 因为一个手短接一个手开电有点麻烦, 进入后, DevTool 里会显示发现一个MaskRom设备接下来刷入系统需要准备两件事, 一个是支持FireFly RK3399的Armbian ISO文件, 一个是Loader引导, 前者可以直接在Armbian的官网找到连接, 当然不要去下Armbian的软件, 那玩意没法直接下ISO文件后者需要我们在Github自己Clone然后编译, 方法如下git clone https://github.com/rockchip-linux/rkbin.git cd rkbin chmod +x tools/boot_merger ./tools/boot_merger RKBOOT/RK3399MINIALL.ini执行完后我们会得到一个类似rk3399_loader_v1.30.130.bin的文件, 这就是我们需要的Loader然后回到软件是Download Image只勾选Loader和 System, 前者指定我们刚刚编译出来的Bin文件, 后者指定我们下载的Armbian镜像, 注意, Loader的地址是0xCCCCCCCC, System的地址是0x00000000, 别搞错了, 选择完以后点击Run按钮刷入, 最后提示Download image OK就刷入成功了不知道是不是只有我的有问题, 我的 HDMI 并没输出, 所以我通过 SSH 连进去的, 第一次进入会要求你设定密码(默认Root密码为 1234)以及账户, 然后就美美进入了fastfetch 一下查看 GPIO 的连通性root@firefly-rk3399:~# gpioinfo gpiochip0 - 32 lines: line 0: unnamed input line 1: unnamed input line 2: unnamed output consumer=vcc3v3-3g-regulator line 3: unnamed input line 4: unnamed input consumer=host-wakeup line 5: unnamed input active-low consumer=GPIO Key Power line 6: unnamed input active-low consumer=ir-receiver line 7: unnamed input active-low consumer=cd line 8: unnamed input line 9: unnamed output consumer=shutdown line 10: unnamed output active-low consumer=reset line 11: unnamed input line 12: unnamed input line 13: unnamed output consumer=diy line 14: unnamed input line 15: unnamed input line 16: unnamed input line 17: unnamed input line 18: unnamed input line 19: unnamed input line 20: unnamed input line 21: unnamed input line 22: unnamed input line 23: unnamed input line 24: unnamed input line 25: unnamed input line 26: unnamed input line 27: unnamed input line 28: unnamed input line 29: unnamed input line 30: unnamed input line 31: unnamed input gpiochip1 - 32 lines: line 0: unnamed output consumer=regulator-vcc5v0-host line 1: unnamed input line 2: unnamed input line 3: unnamed output consumer=regulator-vcc5v0-typec line 4: unnamed input line 5: unnamed input line 6: unnamed input line 7: unnamed input line 8: unnamed input line 9: unnamed input line 10: unnamed input line 11: unnamed input line 12: unnamed input line 13: unnamed output consumer=enable line 14: unnamed input line 15: unnamed input line 16: unnamed input省略 N 行, GPIO 都正确读到了当然, 如果要做PiKVM这种东西的话, 建议把USB Gadget搞起来, 因为内核默认使用的是HOST模式, 需要修改一下当然, 很多人没有这东西的外壳, 所以我自己搞了一套外壳外壳的参数大概是这样的- 板尺寸：125 × 94.5 × 1.6 mm - 板孔：4 × Ø3.5 mm - 孔中心距相邻板边：3.75 mm - 板四周装配余量：1.5 mm 外壳外轮廓： - 底座、顶盖平面尺寸均为：132 × 101.5 mm - 壁厚：2 mm - 底板厚：2 mm - 四侧中段接口均开口，仅保留四角结构 - 通风槽：11 条，单条 5 × 80 mm，10 mm 间距 底座： - STL 总高：13 mm - 板底距内底面：10 mm - 4 个板载螺丝座：外径 Ø9.6 mm，顶面支撑开发板 - 安装孔：Ø3.6 mm - 底部螺丝头沉孔：Ø6.4 mm，深 2.5 mm 顶盖： - STL 总高：29.6 mm - 顶板厚：3 mm - 4 个内侧螺丝座：高 3.75 mm，外径 Ø9.6 mm - 顶部螺丝孔：Ø3.6 mm - 顶部螺丝头沉孔：Ø6.4 mm，深 2.5 mm 五金： - 4 × M3×25 双母铜柱 - 8 × M3×20 螺丝（底部 4 颗、顶盖 4 颗） - 不需要螺母 装配： 顶盖 → M3×20 → M3×25 铜柱 → 开发板 → M3×20 → 底座