主要观点:作者介绍了自己的 NAS frood 的独特设置,即一个包含整个 Alpine Linux 系统的大 initramfs,阐述了选择这种方式的原因(避免系统存储设备磨损、便于在 git 中跟踪系统状态等),详细说明了其工作原理,包括构建 initramfs、安装的包、设置脚本、根骨架、qemu 测试、引导加载程序以及一个简单的状态服务等,并提到整个设置是开源的,其维护工作由一些客户资助,还分享了一些关于 Porto Moniz 自然泳池的照片和相关信息。
关键信息:
- NAS [frood] 是一个包含整个 Alpine Linux 系统的大 initramfs,启动时 Linux 期望一个“initramfs”图像,通常其工作是加载模块以挂载真正的根文件系统,而 [frood] 则将整个系统放入其中。
- Alpine 的“diskless mode”存在复杂性和依赖包管理器等问题,作者更倾向于将系统状态跟踪在 git 中。
- 构建 initramfs 的起始点是 alpine-make-rootfs,它会复制文件、安装包并运行设置脚本。
- 安装的包包括 alpine-base、linux-lts、linux-firmware-i915、intel-ucode、syslinux、openrc-init、agetty 等。
- 设置脚本主要用于链接 /init、设置运行级别和设置 root 密码等。
- 根骨架用于放置系统特定的文件,如使电源按钮工作的文件、网络配置文件等。
- 可以在 qemu 中测试 [frood] 的设置,包括持久性设备。
- 引导加载程序使用 extlinux 安装和更新,有三个启动条目。
- 作者还创建了一个简单的 Go 服务器作为状态服务。
重要细节:
- [frood] 的整个设置是开源的,位于 FiloSottile/mostly-harmless/tree/main/frood 。
- 关于如何注入秘密尚未解决,目前是.gitignore 的。
- 作者的维护工作由 Geomys 客户资助,如 Interchain、Smallstep、Ava Labs、Teleport、SandboxAQ、Charm、Tailscale 和 Sentry 等。
- 分享了 Porto Moniz 自然泳池的照片,并说明自己不是被马德拉旅游部付费。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。