FenrirOS

Ein Linux-System,
von Grund auf neu.

A Linux system,
built from scratch.

FenrirOS bringt eine eigene C++-libc, eine eigene Shell und ein eigenes Init-System mit – komplett mit LLVM gebaut, verwaltet über eine Web-Oberfläche und aktualisiert mit dnf5. Benutzer und Gruppen können UUIDs oder GUIDs als ID haben – bis in Kernel, Dateisystem, SMB und NFS.

FenrirOS comes with its own C++ libc, its own shell and its own init system – built entirely with LLVM, managed through a web interface and updated with dnf5. Users and groups can have UUIDs or GUIDs as their ids – all the way through the kernel, the file system, SMB and NFS.

Download

FenrirOS 1 RC2 – der zweite Release Candidate, Stand 1. November 2026. Zwei Live-ISOs mit Installer; installiert wird das System, das man gebootet hat.

FenrirOS 1 RC2 – the second release candidate, November 1, 2026. Two live ISOs with installer; the installer installs the system you booted.

FenrirOS 1 RC2 Server · x86_64

Ohne Compiler, Build-Werkzeuge und Header · ISO ca. 980 MB · installiert ca. 1,2 GB
Without compilers, build tools and headers · ISO about 980 MB · about 1.2 GB installed
Linux 7.3 UUID-/GUID-BenutzerUUID/GUID users dnf5 5.4.6 BIOS + UEFI (Limine)

FenrirOS 1 RC2 Devel · x86_64

Alle Pakete: dazu clang, lld, lldb, cmake, ninja, makeplus und die Entwicklungspakete · ISO ca. 1,2 GB · installiert ca. 2,5 GB
Every package: adds clang, lld, lldb, cmake, ninja, makeplus and the development packages · ISO about 1.2 GB · about 2.5 GB installed
Linux 7.3 LLVM 23.1.2 dnf5 5.4.6 BIOS + UEFI (Limine)

Download prüfen:Verify the download:

sha256sum -c fenriros-systempp-x86_64-server.iso.sha256

Was steckt drin?What's inside?

systempp

Eigene libc samt C++-Standardbibliothek und ABI. Systemdaten wie Benutzer, Gruppen und fstab liegen als YAML unter /etc.

Its own libc including the C++ standard library and ABI. System data such as users, groups and fstab is kept as YAML in /etc.

fresh

Shell und Basiswerkzeuge in einem Binary – ls, sed, vi, ip und vieles mehr.

Shell and base tools in one binary – ls, sed, vi, ip and much more.

syslite

Schlankes Init-System mit Diensten, Mount-Units, Netzwerk und Journal, steuerbar über sysbus.

A lean init system with services, mount units, networking and a journal, controlled over sysbus.

webctl

Web-Oberfläche für Benutzer, Netzwerk, Firewall, Dienste, Freigaben und Updates – per HTTPS auf Port 8443.

Web interface for users, network, firewall, services, shares and updates – over HTTPS on port 8443.

sharedd

SMB- und NFS-Freigaben direkt aus dem Kernel (ksmbd, knfsd), eingerichtet über webctl.

SMB and NFS shares served by the kernel itself (ksmbd, knfsd), set up in webctl.

dnf5 + RPM

Alle Pakete als RPM, Updates aus dem FenrirOS-Repository mit dnf5.

Every package is an RPM; updates come from the FenrirOS repository via dnf5.

UUID- und GUID-Benutzer

UUID and GUID users

Benutzer- und Gruppen-IDs können neben klassischen Nummern UUIDs oder Microsoft-GUIDs sein. Mehr dazu

Besides classic numbers, user and group ids can be UUIDs or Microsoft GUIDs. More

storaged

Software-RAID (md) und LVM2 ohne mdadm und lvm2-Werkzeuge, Dateisysteme einrichten und einhängen – alles in webctl.

Software RAID (md) and LVM2 without mdadm and the lvm2 tools, file systems set up and mounted – all in webctl.

firewalld

Paketfilter, NAT, Portweiterleitungen und Masquerading über nf_tables; Änderungen lassen sich erst ausprobieren und werden ohne Bestätigung zurückgenommen – in webctl oder mit firewallctl.

Packet filter, NAT, port forwards and masquerading over nf_tables; changes can be tried first and are undone unless confirmed – in webctl or with firewallctl.

containerd

Container aus Docker-/OCI-Images nach dem Vorbild von systemd-nspawn, dazu iSCSI (iscsid), NTP (ntpplus) und SNMP-Meldungen (snmpdd).

Containers from Docker/OCI images, modeled on systemd-nspawn – plus iSCSI (iscsid), NTP (ntpplus) and SNMP notifications (snmpdd).

adconnect

Benutzer und Gruppen aus Active Directory: Domänenbeitritt in webctl, Anmeldung mit dem AD-Passwort, SMB-Anmeldung mit Kerberos-Tickets der Domäne.

Users and groups from Active Directory: join a domain in webctl, log in with the AD password, SMB logins with the domain's Kerberos tickets.

upsd

Überwacht APC-USVs per SNMP (v1, v2c, v3) und fährt das System bei Stromausfall herunter; Einstellungen und Selbsttests in webctl.

Watches APC UPSes over SNMP (v1, v2c, v3) and shuts the system down on a power failure; settings and self tests in webctl.

systrace

Systemaufrufe verfolgen wie mit strace, aber über eBPF statt ptrace – die Programme laufen mit voller Geschwindigkeit weiter.

Trace system calls like strace, but through eBPF instead of ptrace – the programs keep running at full speed.

Benutzer mit UUID und GUIDUsers with UUIDs and GUIDs

Unter FenrirOS ist eine Benutzer- oder Gruppen-ID nicht nur eine 32-Bit-Nummer: Sie kann auch eine UUID (Version 4) oder eine Microsoft-GUID sein. Klassische Programme sehen wie gewohnt Nummern; neue Systemaufrufe mit der Endung _r (setuid_r, chown_r, statx mit STATX_UID_R, …) kennen alle drei Arten.

On FenrirOS a user or group id isn't just a 32 bit number: it can also be a UUID (version 4) or a Microsoft GUID. Classic programs see numbers as always; new system calls ending in _r (setuid_r, chown_r, statx with STATX_UID_R, …) know all three kinds.

KernelKernel Prozesse, Dateien, ACLs, Schlüssel, IPC, Sockets und Signale mit UUID-/GUID-Besitzern; tmpfs, devpts und ext4 speichern sie. Processes, files, ACLs, keys, IPC, sockets and signals with UUID/GUID owners; tmpfs, devpts and ext4 store them.
ext4 Die Dateisystem-Eigenschaft uid_r (mke2fs -O uid_r); Installer und webctl legen ext4 damit an, e2fsck prüft sie. The file system feature uid_r (mke2fs -O uid_r); the installer and webctl create ext4 with it, e2fsck checks it.
Benutzer anlegenCreating users webctl gibt neuen Benutzern standardmäßig eine UUID; auf der Konsole useradd --uuid. webctl gives new users a UUID by default; on the console useradd --uuid.
SMB Anmeldung über ksmbd und sharedd; Besitzer erscheinen als SIDs S-1-22-3-… (UUID) bzw. S-1-22-5-… (GUID). Logins through ksmbd and sharedd; owners appear as SIDs S-1-22-3-… (UUID) or S-1-22-5-… (GUID).
NFSv4 Besitzer gehen als Text über die Leitung; ls -l und chown funktionieren auf dem Client. Owners travel as text; ls -l and chown work on the client.
ProgrammePrograms ssh-Anmeldung, tar/bsdtar, rsync und rpm erhalten UUID-/GUID-Besitzer. ssh logins, tar/bsdtar, rsync and rpm keep UUID/GUID owners.

Grenzen: NFS mit AUTH_SYS überträgt eine 32-Bit-uid, ein UUID-Benutzer auf einem NFS-Client erreicht den Server daher als Überlauf-ID; Quotas zählen nur klassische IDs.

Limits: NFS with AUTH_SYS sends a 32 bit uid, so a UUID user on an NFS client reaches the server as the overflow id; quotas only count classic ids.

Installation

  1. USB-Stick beschreiben Write a USB stick Alle Daten auf dem Stick gehen verloren. /dev/sdX durch das richtige Gerät ersetzen (für Devel -devel.iso): This erases everything on the stick. Replace /dev/sdX with the right device (-devel.iso for Devel):
    sudo dd if=fenriros-systempp-x86_64-server.iso of=/dev/sdX bs=4M status=progress oflag=sync
  2. Live-System starten Boot the live system Vom Stick booten – das geht per BIOS und UEFI. Im Live-System als root anmelden. Boot from the stick – BIOS and UEFI both work. Log in to the live system as root.
  3. Installer starten Run the installer Der Installer partitioniert die Zielplatte (GPT mit EFI-Partition und ext4 mit uid_r), richtet das Netzwerk ein und fragt das root-Passwort ab: The installer partitions the target disk (GPT with an EFI partition and ext4 with uid_r), sets up the network and asks for the root password:
    fenriros-install
  4. Neu starten und verwalten Reboot and manage Nach dem Neustart ist die Web-Oberfläche unter https://<rechner>:8443 erreichbar. su dürfen nur Mitglieder der Gruppe wheel benutzen. After the reboot the web interface is at https://<host>:8443. Only members of the group wheel may use su.

Updates

Installierte Systeme beziehen ihre Pakete aus dem FenrirOS-Repository repo.tuxist.de/fenriros. Updates lassen sich in webctl unter „Updates“ einspielen oder auf der Konsole:

Installed systems get their packages from the FenrirOS repository repo.tuxist.de/fenriros. Install updates in webctl under “Updates” or on the console:

dnf5 upgrade

QuellcodeSource code

ProjektProject BeschreibungDescription LizenzLicense
systempplibc und C++-Standardbibliotheklibc and C++ standard libraryBSD-3-Clause
freshShell und BasiswerkzeugeShell and base toolsBSD-3-Clause
sysliteInit-System und sysbusInit system and sysbusLGPL-3.0
webctlWeb-OberflächeWeb interfaceBSD-3-Clause
shareddSMB- und NFS-FreigabenSMB and NFS sharesBSD-3-Clause
adconnectBenutzer und Gruppen aus Active DirectoryUsers and groups from Active DirectoryBSD-3-Clause
firewalldPaketfilter und NAT (nf_tables)Packet filter and NAT (nf_tables)BSD-3-Clause
storagedSoftware-RAID und LVM2Software RAID and LVM2BSD-3-Clause
containerdContainer aus Docker-/OCI-ImagesContainers from Docker/OCI imagesBSD-3-Clause
iscsidiSCSI-InitiatoriSCSI initiatorBSD-3-Clause
snmpddSNMP-MeldungenSNMP notificationsBSD-3-Clause
ntpplusNTP-Client und -ServerNTP client and serverBSD-3-Clause
proxyplusHTTP-/SMTP-Reverse-ProxyHTTP/SMTP reverse proxyLGPL-3.0
makeplusmake-Implementierungmake implementationBSD-3-Clause
feos-scriptsPaket-Specs, Installer und BuildPackage specs, installer and build–