主要观点:作者将 NetBSD 操作系统部署在任天堂 Wii 上,展示了在非通用硬件上运行通用操作系统的可能性,包括安装过程、资源利用情况及监控等方面,并分享了最终的观察和感受。
关键信息:
- 实验背景:在 EMF Camp 2024 Swap Shop 找到一台 Wii,准备用于自制游戏和模拟,后来用于运行 NetBSD 并作为博客服务器。
- 硬件性能:Wii 的单核心“Broadway”CPU 基于 PowerPC 750 架构,TDP 低于 10W,虽性能受限,但曾用于太空探测等领域。
- 安装过程:通过 Wilbrand 漏洞利用安装 Homebrew Channel,下载 NetBSD 的
wii.img.gz
镜像到 SD 卡,使用 Raspberry Pi Imager 写入并验证,启动后可使用 USB 键盘,设置 SSH 并修改相关配置。 - 软件安装:安装 NetBSD 的
pkgin
包管理器,安装lighttpd
等有用的软件,将 Hugo 构建的静态博客文件通过rsync
传输到服务器。 - 资源优化:为提高性能,禁用一些不必要的服务(如
dhcpcd
、inetd
、mdnsd
、postfix
等),但发现ntpd
对系统时钟很重要,通过添加ntpd -q -g
到crontab
来定时同步时钟,将博客的 TLS 终止移到 Caddy 实例。 - 状态监控:将 SSL 终止移到 Caddy 可启用其 Prometheus 导出器,监控网站负载,还编写了一个 shell 脚本每 15 分钟输出系统状态到 HTML 文件。
- 最终观察:该设置运行良好且比预期容易,有一些缺点(如重启 NetBSD 会回到 Wii 菜单,Wiimote 和传感器棒成为生产基础设施的一部分),功耗约为 18W,每月约 13.2kWh,费用约 3.47 英镑,比一些 VPS 便宜。
重要细节:
- 介绍了一些相关的操作系统和软件,如 Yellow Dog Linux、PS2 Linux、Dreamcast Linux、PSPLinux、NetBSD 等。
- 详细说明了各种服务的禁用和配置过程,以及 Caddy 作为反向代理的设置。
- 展示了监控脚本的输出内容和生成的状态页面。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。