把 NixOS 塞进 Steam Link
来源: feyor.sh — 2026-09-26
概述
作者从储物柜翻出一台 2018 年闪购买的 Steam Link,看中它常开、低功耗、带以太网、WiFi、蓝牙和多个 USB 口,于是动手装 NixOS。最大的障碍是 bootloader 只肯启动 Valve 签名的内核,解法是先进入官方内核再 kexec 到新内核;而原厂内核根本没开 CONFIG_KEXEC,于是他把 kexec 相关源码编成一个最小内核模块,给运行中的系统补上 kexec 系统调用。他坚持自己编译,而不是直接下载别人网站上的内核模块。
核心要点
- Steam Link 是常开的低功耗 ARM 设备,自带以太网、WiFi、蓝牙与多个 USB 口。
- Valve 的 bootloader 只引导官方签名内核,必须靠 kexec 换内核绕过。
- 原厂内核没有启用 CONFIG_KEXEC,需要自己把 kexec 编成内核模块注入运行中的系统。
- 作者不愿从网上直接下载现成内核模块,而是从 Valve 的 steamlink-sdk 3.8.13 源码自行编译。
- 交叉编译时选用 armv7l 而非 armv7a,避免与 Go 的构建流程发生冲突。
- 为老内核编模块要处理 stdenv 默认加固标志等坑,NixOS wiki 提供了相关提示。
金句
与其从网上随便下载一个内核模块,我宁愿自己动手编译。
👍 0
👎 0
← 返回 Lobsters 首页