在其他系统上安装
本页在没有 doona 软件包、符合内核要求的 x86_64 或 aarch64 Linux 系统(例如 Alpine Linux)上,用发布版本中的归档文件安装 doona 与 honk-core。完成最后一步后,请继续阅读最小配置。
开始之前
- Linux 6.12 或更高版本,以及系统要求列出的内核选项。用
uname -r查看内核版本。 - 可使用 sudo 的用户,或 root shell。需要 root 权限的命令分为“sudo”与“root”两个标签页,请选择与当前 shell 相符的一个。
- curl、tar、gzip、
sha256sum与 CA 证书。缺少 CA 证书时 honk 会在启动阶段退出。在 Alpine 上用sudo apk add curl ca-certificates安装,或在 root shell 中执行apk add curl ca-certificates;其他系统的软件包名称相近。 - 能够访问 github.com。
- 所有步骤都在同一个终端中执行:后面的步骤会用到前面设置的
VERSION、BASE与TARGET变量。
1. 下载 doona
设置发布版本号,然后把程序归档文件与校验和文件下载到当前目录。
VERSION=0.1.0-beta.12
BASE=https://github.com/Zakkaus/doona/releases/download/v$VERSION
curl -fL -O "$BASE/doona-${VERSION}.tar.gz" -O "$BASE/SHA256SUMS"
2. 校验下载的文件
该命令适用于 GNU 与 BusyBox 的 sha256sum。
grep " doona-${VERSION}.tar.gz\$" SHA256SUMS | sha256sum -c -
应当显示:
doona-0.1.0-beta.12.tar.gz: OK
3. 安装 doona
使用 doona 0.1.0-beta.12 附带的 honk-core 构建并设置 ui: embedded 时,doona 软件包可省略,详见最小配置。
把归档文件解压到 /usr/share/doona,honk 从这个目录提供 doona。
sudo
sudo mkdir -p /usr/share/doona
sudo tar -xzf doona-${VERSION}.tar.gz -C /usr/share/doona
ls -l /usr/share/doona/index.html
root
mkdir -p /usr/share/doona
tar -xzf doona-${VERSION}.tar.gz -C /usr/share/doona
ls -l /usr/share/doona/index.html
ls 输出一行以 /usr/share/doona/index.html 结尾的内容。
可选:字体归档文件为中文界面加入 Noto Sans TC 与 SC 字体。
sudo
curl -fL -O "$BASE/doona-fonts-${VERSION}.tar.gz"
grep " doona-fonts-${VERSION}.tar.gz\$" SHA256SUMS | sha256sum -c -
sudo tar -xzf doona-fonts-${VERSION}.tar.gz -C /usr/share/doona
root
curl -fL -O "$BASE/doona-fonts-${VERSION}.tar.gz"
grep " doona-fonts-${VERSION}.tar.gz\$" SHA256SUMS | sha256sum -c -
tar -xzf doona-fonts-${VERSION}.tar.gz -C /usr/share/doona
4. 选择 honk-core 构建
uname -m
发布版本附带 8 个 honk-core 归档文件,名称为 honk-core-debug-<target>.tar.gz。根据机器类型与 C 库确定 target:
uname -m 输出 |
target 开头 |
|---|---|
x86_64 |
x86_64-unknown-linux- |
aarch64 |
aarch64-unknown-linux- |
| target 结尾 | 适用情况 |
|---|---|
musl |
无法确定,或系统使用 musl(例如 Alpine)时选择此项。静态链接,不受系统 glibc 版本限制。 |
gnu |
系统的 glibc 为 2.39 或更高版本。glibc 较旧时会报错 GLIBC_2.38' not found 并退出。 |
-stock 后缀 |
内存比速度更重要,例如小型设备。使用系统内存分配器而不是 mimalloc。 |
例如 x86_64-unknown-linux-musl、aarch64-unknown-linux-gnu 或 x86_64-unknown-linux-musl-stock。
5. 下载并校验 honk-core
把 TARGET 设为所选的构建,然后从同一个发布版本下载,并用同一个 SHA256SUMS 校验。
TARGET=x86_64-unknown-linux-musl
curl -fL -O "$BASE/honk-core-debug-$TARGET.tar.gz"
grep " honk-core-debug-$TARGET.tar.gz\$" SHA256SUMS | sha256sum -c -
应当显示:
honk-core-debug-x86_64-unknown-linux-musl.tar.gz: OK
6. 安装 honk-core
归档文件内有一个目录,其中包含 honk-core 二进制文件。把它安装为 /usr/local/bin/honk-core,即服务管理中的服务启动的路径。
sudo
tar -xzf honk-core-debug-$TARGET.tar.gz
sudo install -m 0755 honk-core-debug-$TARGET/honk-core /usr/local/bin/honk-core
/usr/local/bin/honk-core --version
root
tar -xzf honk-core-debug-$TARGET.tar.gz
install -m 0755 honk-core-debug-$TARGET/honk-core /usr/local/bin/honk-core
/usr/local/bin/honk-core --version
最后一条命令输出 honk 的构建版本,例如:
honk-core debug.2026.9.30.native-api.5
同一个发布版本中的 HONK-SOURCE.txt 注明其附带的构建。
下一步:最小配置。服务相关步骤只涵盖 systemd 与 OpenWrt 的 procd;doona 与 honk 都不提供 OpenRC 脚本。使用 OpenRC 时(例如 Alpine),服务管理给出在前台运行 honk 的命令,用于完成首次登录。
遇到问题时
| 看到的内容 | 原因与处理 |
|---|---|
curl: (22) The requested URL returned error: 404 |
版本号或文件名有误。请对照发布页检查 VERSION。 |
no properly formatted checksum lines found(GNU)或 no checksum lines found(BusyBox) |
grep 没有找到该文件对应的行:当前终端未设置 VERSION 或 TARGET,或其中有拼写错误。 |
FAILED 以及校验和不匹配的 WARNING |
下载的文件损坏或不完整。删除该文件后重新下载。 |
sha256sum: unrecognized option: ignore-missing |
BusyBox 没有 --ignore-missing 选项。请使用第 2 步的 grep 写法。 |
version 'GLIBC_2.38' not found |
gnu 构建需要更新的 glibc。请改用 musl 构建。 |
安装后遇到的问题请参阅故障排查。