SCUTARIUS

shield-bearer -- a minimal, systemd-free, locally built GNU/Linux (Devuan-based) for the brain-cell fleet

Architectures: arm64 (the GB10 fleet) and amd64 (since 2026-08-24). Each is built natively on its own host; nothing is cross-compiled.

genesis: the archive host. Stable release 1 (adam). Page generated 2026-09-08 10:14 UTC.

Install

Installer media (write with dd, boot, the installer pulls everything from this host):

No installer image published yet (the d-i based installer is in the works); check back.

All media listed above are arm64. The amd64 installer is not built yet -- its kernel and its 47 installer udebs are in the archive, the d-i configuration is written, the image has not been produced. Test nodes boot a prebuilt system image instead; those are not published here.

Use the archive from an installed system

One source line. It is the merged view: Scutarius packages first, then Devuan excalibur (+ security), minus banned packages, frozen at the last merge and signed by the Scutarius archive key.

deb [signed-by=/usr/share/keyrings/scutarius-archive.gpg] http://scutarius.csillag.me/scutarius adam main contrib non-free-firmware non-free
deb-src [signed-by=/usr/share/keyrings/scutarius-archive.gpg] http://scutarius.csillag.me/scutarius adam main contrib non-free-firmware non-free

Keyring: scutarius-archive-keyring.asc (ASCII-armored; install as /usr/share/keyrings/scutarius-archive.gpg with gpg --dearmor, or install the package scutarius-apt-config which ships it). Packages for Devuan/Debian are fetched via redirect from their mirrors and verified against this index.

The role names stable, testing and unstable (and their -proposed candidate lanes) also work in place of the codename above. A role is an alias that moves to a new codename on release day; a codename, once published, never changes meaning. Pin the codename for a line that must never move under you; use the role for a line that should always track whichever release currently holds it.

suitewho uses itindex
adamstable releasedists/adam/
adam-proposedstable candidates -- every upload lands here firstdists/adam-proposed/
abeltesting releasedists/abel/
abel-proposedtesting candidates -- every upload lands here firstdists/abel-proposed/
cainunstable releasedists/cain/

Archive state

current merged view20260908T095754Z (merged 2026-09-08 09:57 UTC)
all published views20260908T095754Z
raw Scutarius archive/scutarius-archive/ -- only the packages built here (reprepro), signed by the same key
Scutarius packages in adamlinux-base-7.1.12+scutarius-gb10 linux-base-7.1.12+scutarius-scutarius-amd64 linux-base-7.1.12+scutarius-scutarius-arm64 linux-base-7.1.8+scutarius.1-scutarius-amd64 linux-base-7.1.8+scutarius-gb10 linux-base-7.1.8+scutarius-scutarius-arm64 linux-base-gb10 linux-base-scutarius-amd64 linux-base-scutarius-arm64 linux-binary-7.1.12+scutarius-gb10 linux-binary-7.1.12+scutarius-scutarius-amd64 linux-binary-7.1.12+scutarius-scutarius-arm64 linux-binary-7.1.8+scutarius.1-scutarius-amd64 linux-binary-7.1.8+scutarius-gb10 linux-binary-7.1.8+scutarius-scutarius-arm64 linux-binary-unsigned-7.1.12+scutarius-gb10 linux-binary-unsigned-7.1.12+scutarius-scutarius-amd64 linux-binary-unsigned-7.1.12+scutarius-scutarius-arm64 linux-binary-unsigned-7.1.8+scutarius.1-scutarius-amd64 linux-binary-unsigned-7.1.8+scutarius-gb10 linux-binary-unsigned-7.1.8+scutarius-scutarius-arm64 linux-bpf-dev linux-headers-7.1.12+scutarius-common linux-headers-7.1.12+scutarius-gb10 linux-headers-7.1.12+scutarius-scutarius-amd64 linux-headers-7.1.12+scutarius-scutarius-arm64 linux-headers-7.1.8+scutarius.1-common linux-headers-7.1.8+scutarius.1-scutarius-amd64 linux-headers-7.1.8+scutarius-common linux-headers-7.1.8+scutarius-gb10 linux-headers-7.1.8+scutarius-scutarius-arm64 linux-headers-gb10 linux-headers-scutarius-amd64 linux-headers-scutarius-arm64 linux-image-7.1.12+scutarius-gb10 linux-image-7.1.12+scutarius-scutarius-amd64 linux-image-7.1.12+scutarius-scutarius-arm64 linux-image-7.1.8+scutarius.1-scutarius-amd64 linux-image-7.1.8+scutarius-gb10 linux-image-7.1.8+scutarius-scutarius-arm64 linux-image-amd64-signed-template linux-image-arm64-signed-template linux-image-gb10 linux-image-scutarius-amd64 linux-image-scutarius-arm64 linux-kbuild-7.1.12+scutarius linux-kbuild-7.1.12+scutarius-dbgsym linux-kbuild-7.1.8+scutarius linux-kbuild-7.1.8+scutarius.1 linux-kbuild-7.1.8+scutarius.1-dbgsym linux-kbuild-7.1.8+scutarius-dbgsym linux-libc-dev linux-libc-dev-amd64-cross linux-libc-dev-arm64-cross linux-modules-7.1.12+scutarius-gb10 linux-modules-7.1.12+scutarius-scutarius-amd64 linux-modules-7.1.12+scutarius-scutarius-arm64 linux-modules-7.1.8+scutarius.1-scutarius-amd64 linux-modules-7.1.8+scutarius-gb10 linux-modules-7.1.8+scutarius-scutarius-arm64 scutarius-apt-config scutarius-base-files scutarius-branding scutarius-debootstrap-scripts scutarius-desktop-defaults scutarius-desktop-theme scutarius-gb10-config scutarius-grub-theme scutarius-tasks tailscale tailscale-dbgsym task-albanian-desktop task-amharic task-amharic-desktop task-amharic-gnome-desktop task-amharic-kde-desktop task-arabic task-arabic-desktop task-arabic-kde-desktop task-asturian task-asturian-desktop task-basque task-basque-desktop task-basque-kde-desktop task-belarusian task-belarusian-desktop task-belarusian-kde-desktop task-bengali task-bengali-desktop task-bengali-kde-desktop task-blendsel task-bosnian task-bosnian-desktop task-bosnian-kde-desktop task-brazilian-portuguese task-brazilian-portuguese-desktop task-brazilian-portuguese-kde-desktop task-british-desktop task-british-kde-desktop task-bulgarian task-bulgarian-desktop task-bulgarian-kde-desktop task-catalan task-catalan-desktop task-catalan-kde-desktop task-chinese-s task-chinese-s-desktop task-chinese-s-gnome-desktop task-chinese-s-kde-desktop task-chinese-t task-chinese-t-desktop task-chinese-t-gnome-desktop task-chinese-t-kde-desktop task-cinnamon-desktop task-console-productivity task-croatian task-croatian-desktop task-croatian-kde-desktop task-cyrillic task-cyrillic-desktop task-cyrillic-kde-desktop task-czech task-czech-desktop task-czech-kde-desktop task-danish task-danish-desktop task-danish-kde-desktop task-desktop task-dutch task-dutch-desktop task-dutch-kde-desktop task-dzongkha-desktop task-dzongkha-kde-desktop task-english task-esperanto task-esperanto-desktop task-esperanto-kde-desktop task-estonian task-estonian-desktop task-estonian-kde-desktop task-finnish task-finnish-desktop task-finnish-kde-desktop task-french task-french-desktop task-french-kde-desktop task-galician task-galician-desktop task-galician-kde-desktop task-georgian-desktop task-german task-german-desktop task-german-kde-desktop task-gnome-desktop task-gnome-flashback-desktop task-greek task-greek-desktop task-greek-kde-desktop task-gujarati task-gujarati-desktop task-gujarati-kde-desktop task-hebrew task-hebrew-desktop task-hebrew-gnome-desktop task-hebrew-kde-desktop task-hindi task-hindi-desktop task-hindi-kde-desktop task-hungarian task-hungarian-desktop task-hungarian-kde-desktop task-icelandic task-icelandic-desktop task-icelandic-kde-desktop task-indonesian-desktop task-indonesian-kde-desktop task-irish task-irish-desktop task-irish-kde-desktop task-italian task-italian-desktop task-italian-kde-desktop task-japanese task-japanese-desktop task-japanese-gnome-desktop task-japanese-gnome-flashback-desktop task-japanese-kde-desktop task-kannada-desktop task-kannada-gnome-desktop task-kannada-kde-desktop task-kazakh task-kazakh-desktop task-kazakh-kde-desktop task-kde-desktop task-khmer task-khmer-desktop task-khmer-kde-desktop task-korean task-korean-desktop task-korean-gnome-desktop task-korean-kde-desktop task-kurdish task-kurdish-desktop task-kurdish-kde-desktop task-laptop task-latvian task-latvian-desktop task-latvian-kde-desktop task-lithuanian task-lithuanian-desktop task-lithuanian-kde-desktop task-lxde-desktop task-lxqt-desktop task-macedonian task-macedonian-desktop task-macedonian-kde-desktop task-malayalam task-malayalam-desktop task-malayalam-gnome-desktop task-malayalam-kde-desktop task-marathi task-marathi-desktop task-mate-desktop task-nepali-desktop task-nepali-kde-desktop task-northern-sami task-northern-sami-desktop task-norwegian task-norwegian-desktop task-norwegian-kde-desktop task-persian task-persian-desktop task-persian-kde-desktop task-polish task-polish-desktop task-polish-kde-desktop task-portuguese task-portuguese-desktop task-portuguese-kde-desktop task-punjabi task-punjabi-desktop task-punjabi-kde-desktop task-romanian task-romanian-desktop task-romanian-kde-desktop task-russian task-russian-desktop task-russian-kde-desktop tasksel tasksel-data task-serbian task-serbian-desktop task-serbian-kde-desktop task-sinhala-desktop task-sinhala-kde-desktop task-slovak task-slovak-desktop task-slovak-kde-desktop task-slovenian task-slovenian-desktop task-slovenian-kde-desktop task-south-african-english-desktop task-spanish task-spanish-desktop task-spanish-kde-desktop task-speech-accessibility task-ssh-server task-swedish task-swedish-desktop task-swedish-kde-desktop task-tagalog task-tamil task-tamil-desktop task-tamil-gnome-desktop task-telugu task-telugu-desktop task-telugu-gnome-desktop task-telugu-kde-desktop task-thai task-thai-desktop task-thai-gnome-desktop task-thai-kde-desktop task-turkish task-turkish-desktop task-turkish-kde-desktop task-ukrainian task-ukrainian-desktop task-ukrainian-kde-desktop task-uyghur-desktop task-uyghur-kde-desktop task-vietnamese-desktop task-vietnamese-kde-desktop task-web-server task-welsh task-welsh-desktop task-xfce-desktop task-xhosa-desktop task-xhosa-kde-desktop u-boot-asahi u-boot-mvebu u-boot-qcom u-boot-qcom-dbgsym u-boot-qemu u-boot-rockchip u-boot-rockchip-dbgsym u-boot-rpi u-boot-rpi-dbgsym u-boot-sunxi u-boot-sunxi-dbgsym u-boot-tegra u-boot-tools u-boot-tools-dbgsym
architecturepackagesbuilt hereborrowed from freiainstaller udebs
amd646883026622897
arm646820729421885

"borrowed from freia" is a deliberate, name-listed slice of the newer Devuan suite -- currently the gcc-15 toolchain, which the kernel is built with and which linux-headers-* therefore depends on. Every borrowed package carries a recorded reason (scripts/repo/view-config.py), and a merge fails if the slice grows without one.

How it fits together

Source packages are built with sbuild on a native build host per architecture (kernel: Devuan's linux source package forked into three flavours -- scutarius-arm64 generic + installer, gb10 for the NVIDIA GB10 nodes, scutarius-amd64 generic + installer), signed by the build key, and uploaded into the testing lane. Only one host holds a key: builders build, they do not sign, and the Secure Boot signature is applied where the key lives even when the package is assembled elsewhere.

A merge produces a stamped, signed snapshot of the whole world the nodes may see. Before anything is stamped, a dependency-closure gate checks that every package published from here can actually have its dependencies met inside this view, and that the borrowed slice has not grown; an unmet dependency stops the merge rather than reaching a machine. Publishing flips current on this host, rollback is flipping it back. Nothing installs software onto a node except apt against this view.

Design and evidence live in the scutarius repository: docs/build-plan.md, docs/milestone-pure-apt.md, docs/superpowers/specs/, reports/.