Install on Fedora or RHEL
This page installs doona from its .rpm package and honk-core from the same doona release on Fedora, RHEL and other DNF-based systems. After the last step, continue with Minimal configuration.
Before you start
- Linux 6.12 or later and the kernel options listed in Requirements. Check the kernel with
uname -r. - A user account with sudo, or a root shell. Commands that need root have a sudo tab and a root tab; pick the one that matches your shell.
- Access to github.com.
- Run every step in the same terminal: later steps use the
VERSION,BASEandTARGETvariables that earlier steps set.
1. Install curl and CA certificates
honk downloads subscriptions and geodata over HTTPS and stops at startup without CA certificates.
sudo
sudo dnf install curl ca-certificates
root
dnf install curl ca-certificates
2. Download doona
Set the release version, then download the package and the checksum file into the current directory.
VERSION=0.1.0-beta.12
BASE=https://github.com/Zakkaus/doona/releases/download/v$VERSION
curl -fL -O "$BASE/doona-${VERSION}-1.noarch.rpm" -O "$BASE/SHA256SUMS"
3. Verify the download
grep " doona-${VERSION}-1.noarch.rpm\$" SHA256SUMS | sha256sum -c -
You should see:
doona-0.1.0-beta.12-1.noarch.rpm: OK
4. Install doona
The doona package is optional when you use ui: embedded with the honk-core builds attached to doona 0.1.0-beta.12; see Minimal configuration.
sudo
sudo dnf install ./doona-${VERSION}-1.noarch.rpm
ls -l /usr/share/doona/index.html
root
dnf install ./doona-${VERSION}-1.noarch.rpm
ls -l /usr/share/doona/index.html
DNF prints Warning: skipped OpenPGP checks for 1 package from repository: @commandline, because a downloaded package has no repository signature; step 3 checked it instead. ls then prints a line ending in /usr/share/doona/index.html. The package holds only doona’s web files; it installs no service.
Optional: the doona-fonts package adds the Noto Sans TC and SC fonts for the Chinese interface.
sudo
curl -fL -O "$BASE/doona-fonts-${VERSION}-1.noarch.rpm"
grep " doona-fonts-${VERSION}-1.noarch.rpm\$" SHA256SUMS | sha256sum -c -
sudo dnf install ./doona-fonts-${VERSION}-1.noarch.rpm
root
curl -fL -O "$BASE/doona-fonts-${VERSION}-1.noarch.rpm"
grep " doona-fonts-${VERSION}-1.noarch.rpm\$" SHA256SUMS | sha256sum -c -
dnf install ./doona-fonts-${VERSION}-1.noarch.rpm
5. Choose the honk-core build
uname -m
The release carries eight honk-core archives, named honk-core-debug-<target>.tar.gz. Build the target from the machine type and the C library:
uname -m prints |
Target starts with |
|---|---|
x86_64 |
x86_64-unknown-linux- |
aarch64 |
aarch64-unknown-linux- |
| Target ends with | Choose it when |
|---|---|
musl |
Unsure. Statically linked, so the system’s glibc version does not matter. |
gnu |
The system has glibc 2.39 or later, such as Fedora 44. On an older glibc it stops with GLIBC_2.38' not found. |
-stock suffix |
Memory matters more than speed, as on a small device. Uses the system allocator instead of mimalloc. |
For example, x86_64-unknown-linux-musl, aarch64-unknown-linux-gnu or x86_64-unknown-linux-musl-stock.
6. Download and verify honk-core
Set TARGET to the build you chose, then download it from the same release and check it against the same 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 -
You should see:
honk-core-debug-x86_64-unknown-linux-musl.tar.gz: OK
7. Install honk-core
The archive holds one directory with the honk-core binary. Install it as /usr/local/bin/honk-core, the path the service in Service management starts.
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
The last command prints the honk build, for example:
honk-core debug.2026.9.30.native-api.5
HONK-SOURCE.txt in the same release names the build it carries.
Next: Minimal configuration.
If it doesn’t work
| You see | Cause and fix |
|---|---|
curl: (22) The requested URL returned error: 404 |
The version or file name is wrong. Check VERSION against the releases. |
sha256sum: 'standard input': no properly formatted checksum lines found |
grep found no line for that file: VERSION or TARGET was not set in this terminal, or it has a typo. |
FAILED and WARNING: 1 computed checksum did NOT match |
The download is damaged or incomplete. Delete the file and download it again. |
version 'GLIBC_2.38' not found |
The gnu build needs a newer glibc. Use the musl build. |
For problems after installation, see Troubleshooting.