Skip to content

Commit 612718b

Browse files
committed
Add commands
Document akmods (Fedora kernel module rebuild) and lumabri (P2P MoE swarm).
1 parent 9205915 commit 612718b

3 files changed

Lines changed: 176 additions & 0 deletions

File tree

assets/commands/akmods.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# TAGLINE
2+
3+
Rebuild out-of-tree kernel modules from akmod packages
4+
5+
# TLDR
6+
7+
**Check and rebuild** missing or outdated modules for the running kernel
8+
9+
```sudo akmods```
10+
11+
**Force rebuild** of all modules even if they failed or look up to date
12+
13+
```sudo akmods --rebuild --force```
14+
15+
Build and install modules only for a **specific kernel** (same format as `uname -r`)
16+
17+
```sudo akmods --kernels [kernel_version]```
18+
19+
Rebuild only one **akmod** package
20+
21+
```sudo akmods --akmod [akmod_name]```
22+
23+
Show status of the background **akmods service**
24+
25+
```systemctl status akmods```
26+
27+
# SYNOPSIS
28+
29+
**akmods** [_options_]
30+
31+
# DESCRIPTION
32+
33+
**akmods** checks installed **akmod** packages and rebuilds out-of-tree kernel modules when they are missing, outdated, or broken for a given kernel. It is the Fedora/RHEL-family counterpart to frameworks like DKMS: an **akmod** package ships module sources and build metadata; **akmods** compiles them on the local system (often into a matching **kmod-*** RPM) whenever a new kernel appears.
34+
35+
Typical use is after installing or updating drivers from RPM Fusion (for example NVIDIA via **akmod-nvidia**). A systemd unit may run **akmods** at boot so modules for the current kernel are ready before they are needed. Manual runs are common when a build failed, **kernel-devel** was missing during an earlier attempt, or you need modules for a kernel other than the one currently running.
36+
37+
Builds need a compiler toolchain and matching kernel headers/devel packages for each target kernel. Secure Boot setups may also need module signing keys under **/etc/pki/akmods**.
38+
39+
# OPTIONS
40+
41+
**--force**
42+
43+
> Try all akmods, including ones that failed on earlier runs.
44+
45+
**--kernels** _kernel_
46+
47+
> Build and install only for the given kernel version string (same format as **uname -r**).
48+
49+
**--rebuild**
50+
51+
> Rebuild all modules even when they already appear up to date.
52+
53+
**--akmod** _akmod_
54+
55+
> Build and install only the named akmod package.
56+
57+
**--quiet**
58+
59+
> Reduce output.
60+
61+
**--verbose**
62+
63+
> Increase output.
64+
65+
# CAVEATS
66+
67+
Failed builds often leave no usable **kmod** until headers, compiler tools, and enough disk space are available, then **akmods --force** or **--rebuild** is re-run. On ostree-based systems (Silverblue/Kinoite) module signing and rebuild timing can differ from classic package installs. The man page is sparse; log output under the **akmods** service and journal is usually the best diagnostic trail.
68+
69+
# INSTALL
70+
71+
```dnf: sudo dnf install akmods```
72+
73+
<!-- packages: 2026-08-10 -->
74+
75+
# SEE ALSO
76+
77+
[dkms](/man/dkms)(1), [modprobe](/man/modprobe)(8), [uname](/man/uname)(1)
78+
79+
# RESOURCES
80+
81+
```[Documentation](https://rpmfusion.org/Packaging/KernelModules/Akmods)```
82+
83+
<!-- verified: 2026-08-10 -->

assets/commands/index.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ airtun-ng.md
157157
aislop.md
158158
ajson.md
159159
ak.md
160+
akmods.md
160161
alacritty.md
161162
alembic.md
162163
alertmanager.md
@@ -4331,6 +4332,7 @@ ludusavi.md
43314332
lue.md
43324333
luigi.md
43334334
luit.md
4335+
lumabri.md
43344336
lumen.md
43354337
lumon.md
43364338
lure.md

assets/commands/lumabri.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# TAGLINE
2+
3+
Peer-to-peer MoE model swarm for distributed LLM inference
4+
5+
# TLDR
6+
7+
**Serve** a local model directory on the swarm (tracker + bytes + optional expert compute)
8+
9+
```lumabri serve --model [/path/to/model]```
10+
11+
**Chat** against a tracker, using colibri engine binaries from a local tree
12+
13+
```lumabri chat --tracker [host:7300] --engines-dir [/path/to/colibri/c]```
14+
15+
Open the interactive front end with **saved swarm settings** (no flags)
16+
17+
```lumabri```
18+
19+
Generate an **operator keypair** for a signed swarm
20+
21+
```lumabri key --out [swarm]```
22+
23+
Serve and **join** an existing tracker while donating disk space
24+
25+
```lumabri serve --model [./slice] --join [host:7300] --model-name [model] --donate [GB]```
26+
27+
Chat against a **local** model directory (no mirror, no second copy)
28+
29+
```lumabri chat --local [/path/to/model] --engines-dir [/path/to/colibri/c]```
30+
31+
# SYNOPSIS
32+
33+
**lumabri** [_subcommand_] [_options_]
34+
35+
# DESCRIPTION
36+
37+
**lumabri** runs huge mixture-of-experts (MoE) language models across a swarm of peers using the [colibri](https://github.com/JustVugg/colibri) engine. Pure C, no runtime dependencies beyond a colibri build for the engine binaries. One machine can share a model; others chat without downloading the full weights up front. Bytes that inference actually touches are fetched from peers, verified, and kept in a local mirror under **~/.lumabri** so later prompts can run offline from cache.
38+
39+
**serve** starts a tracker (index of who holds which files) and a maintainer that answers byte-range reads. With phase 2 enabled it can also run expert execution for peers. **chat** boots a colibri engine against a model path that may exist only on the swarm: an **LD_PRELOAD** shim fetches missing blocks, and optional expert offload sends activations to peers that hold those experts. With no arguments, **lumabri** prompts for swarm address and key once and remembers them in **~/.lumabri/config**.
40+
41+
Integrity modes include open swarms (per-MiB hashes, optional operator signatures, spot-check of expert results) and private swarms gated by **LUMABRI_TOKEN**. Design goals emphasize byte-identical output whether experts run locally or remotely, and a hardware floor that includes CPU-only machines.
42+
43+
# SUBCOMMANDS
44+
45+
**serve**
46+
47+
> Share a model: run tracker/maintainer (and usually expert execution). Flags include **--model**, **--port**, **--join**, **--donate**, **--model-name**, **--key**, **--advertise**, **--cache** / **--exec-cache**, **--no-exec**.
48+
49+
**chat**
50+
51+
> Connect to a swarm or a local model. Flags include **--tracker**, **--engines-dir**, **--local**, **--role**, **--donate**, **--model-dir**. In-chat commands include **/swarm** and **/model**.
52+
53+
**key**
54+
55+
> Create an Ed25519 operator keypair (**--out** path) for signed swarms.
56+
57+
# ENVIRONMENT
58+
59+
**LUMABRI_TOKEN**
60+
61+
> Shared invite secret for private swarms; required on every node when set.
62+
63+
**LUMABRI_PUBKEY**
64+
65+
> Operator public key (hex) for verifying signed model hashes out of band.
66+
67+
**LUMABRI_REQUIRE_HASH**
68+
69+
> When set to 1, refuse fetches without integrity data.
70+
71+
**LUMABRI_VERIFY**
72+
73+
> Spot-check fraction for phase-2 expert results on a second replica.
74+
75+
**LUMABRI_PREFETCH**
76+
77+
> Readahead block count for cold mirrors (default 2).
78+
79+
# CAVEATS
80+
81+
Requires **Linux**, **gcc**, **GNU make**, and a matching **colibri** checkout for engine binaries (**make phase2-all ENGINE=...** for peer expert execution). First cold answers are network-bound while the working set is mirrored. Misconfigured **--engines-dir** or missing keys can cause huge downloads or unverified models; the interactive default path is intentionally safer than raw flags. Tracker/maintainer/executor ports (commonly **7300–7302**, plus offsets per extra model) must be reachable for multi-host swarms. Status is a working prototype: features such as speculative drafting and key rotation remain incomplete.
82+
83+
# SEE ALSO
84+
85+
[ollama](/man/ollama)(1), [llama.cpp](/man/llama-cli)(1)
86+
87+
# RESOURCES
88+
89+
```[Source code](https://github.com/JustVugg/lumabri)```
90+
91+
<!-- verified: 2026-08-10 -->

0 commit comments

Comments
 (0)