ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

如何在Droidspaces上运行NixOS?从flake到无systemd的finix完整指南

2026/10/7 19:59:38 拓冰建站 浏览量
如何在Droidspaces上运行NixOS?从flake到无systemd的finix完整指南 如何在Droidspaces上运行NixOS从flake到无systemd的finix完整指南【免费下载链接】Droidspaces-OSSA lightweight, LXC-like container runtime for Android and Linux. Run full Linux distributions natively with zero performance penalty项目地址: https://gitcode.com/gh_mirrors/dr/Droidspaces-OSSDroidspaces 是一个轻量级、类 LXC 的容器运行时可以让你在 Android 和 Linux 上以零性能损耗原生运行完整的 Linux 发行版。本文将带你用最短路径在 Droidspaces 容器中跑起NixOS先获取一个可启动的最小 tarball再学会用 flake 定制自己的 NixOS 系统最后体验无 systemd 的 NixOS 与实验性的Finix系统。准备工作前提条件开始之前请确认以下两点详细步骤见 Android 安装指南已安装 Droidspaces 应用Android或解压了 droidspaces 二进制Linux并授予 Root 权限设备内核已启用 Droidspaces 所需的容器支持可通过设置 → 需求 → 检查需求一键验证。 记住一条关键规则NixOS 系统版本必须匹配你的内核。systemd v260 及以上已不再支持 5.4 及更老的内核老设备需要固定使用旧版 nixpkgs下文会给出具体命令。最快上手一键构建最小 NixOS tarball最快的方式是直接从 Droidspaces 的 flake 输出里取一个预制好的最小化 NixOS 归档无需写任何 Nix 配置git clone https://gitcode.com/gh_mirrors/dr/Droidspaces-OSS cd Droidspaces-OSS nix build .#nixosDroidspacesTarballs.aarch64-linux.minimal构建完成后会得到一个 tarball。在 Android 端进入容器选项卡 → 点击 → 选择你的 tarball 文件按向导完成命名、网络和容器类型设置即可推荐选择稀疏镜像类型以获得更好的性能。整个过程由应用自动解压并应用解压后修复无需终端命令。老内核5.4 及以下用户专用版本如果你的设备内核较老请把上面的输出名换成minimal-with-systemd-v259nix build .#nixosDroidspacesTarballs.aarch64-linux.minimal-with-systemd-v259该输出固定了仍支持老内核的 nixpkgs 版本避免 systemd 启动失败。若容器能正常启动你就可以进入下一步定制自己的系统。用 flake 定制你的 NixOS 系统完整玩法预制 tarball 适合快速体验而要真正拥有自己的 NixOS推荐用 flake 方式开发。核心只有一件事导入 Droidspaces 官方提供的working-droidspaces-rootfs-minimal兼容性模块。该模块封装了大量容器适配逻辑包括裁剪容器内无用服务、修复 iptables 兼容性、限制 udev 子集、按网络模式nat条件启动 NetworkManager/dhcpcd 等源码见 nix/nixos.nix。一个最小的flake.nix示例如下{ inputs { nixpkgs.url github:NixOS/nixpkgs; droidspaces.url github:ravindu644/Droidspaces-OSS; }; outputs { self, nixpkgs, droidspaces, ... } inputs: { nixosConfigurations.mybox nixpkgs.lib.nixosSystem { system aarch64-linux; modules [ ./configuration.nix droidspaces.nixosModules.working-droidspaces-rootfs-minimal ]; }; }; }导入模块后把系统构建为 tarball 只需一行命令nix build .#hostname.config.system.build.tarball生成的 tarball 就是完整安装了你的全部软件、服务的 NixOS 根文件系统直接丢给 Droidspaces 安装即可。完整说明可参考官方文档 Nix-NixOS.md。老内核用户的 flake 注意事项内核 5.4 及以下的设备无法运行来自新版 nixpkgs 的 NixOS 系统此时需要为系统固定一个带 systemd v259 的 nixpkgs 输入Droidspaces 的 flake.nix 中内置了nixpkgs-with-systemd-v259输入可供参考并为构建 tarball 使用该固定版本的lib.nixosSystem。不用 systemd 的 NixOS改 init 为 /bin/sh如果你只是想在 Droidspaces 里使用 Nix 的包管理生态并不需要 systemd 那套服务框架有一个非常简单的技巧在 Droidspaces 的容器配置中把init 路径设置为/bin/sh。这样容器启动后直接进入 shell你可以像往常一样登录并使用nix命令、运行编译好的程序只是 systemd 服务不会自动启动。适合追求极简、或内核与新版 systemd 不兼容的场景。Finix实验性的无 systemd NixOS 系统想要既保留类 NixOS 的体验、又彻底告别 systemd可以试试Finix——一个用finit替代 systemd 的实验性 NixOS 类系统。Droidspaces 已内置 Finix 的容器适配模块预装 openssh、nix-daemon、sudo、bash、sysklogd 及 nano/htop/fastfetch 等工具源码见 nix/finix.nix构建命令nix build .#finixDroidspacesTarballs.aarch64-linux.experimental⚠️ Finix 目前仍处于实验阶段部分服务行为可能与标准 NixOS 不同建议先在测试容器中体验。常见问题速查问题解决办法容器无法启动、systemd 报错确认内核版本改用minimal-with-systemd-v259输出或固定旧 nixpkgs想不运行 systemd 服务容器 init 路径改为/bin/sh或改用 Finix网络不通检查网络模式nat 模式下相关服务才会条件启动可用设置 → 需求重新检查不知道构建产物在哪构建后位于result软链接指向的目录直接选取该 tarball 文件安装小结最快路径nix build .#nixosDroidspacesTarballs.aarch64-linux.minimal→ 用 Droidspaces 应用安装 tarball几分钟跑起 NixOS完整路径flake 中导入working-droidspaces-rootfs-minimal模块构建自己的系统 tarball无 systemd 路径init 设为/bin/sh或直接体验实验性 Finixfinit。更多细节可阅读 Documentation/zh-CN/Nix-NixOS.md 与 Documentation/zh-CN/Installation-Android.md。【免费下载链接】Droidspaces-OSSA lightweight, LXC-like container runtime for Android and Linux. Run full Linux distributions natively with zero performance penalty项目地址: https://gitcode.com/gh_mirrors/dr/Droidspaces-OSS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考