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
FenrirOS 1 RC2 Devel · x86_64
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
-
USB-Stick beschreiben
Write a USB stick
Alle Daten auf dem Stick gehen verloren.
/dev/sdXdurch das richtige Gerät ersetzen (für Devel-devel.iso): This erases everything on the stick. Replace/dev/sdXwith the right device (-devel.isofor Devel):sudo dd if=fenriros-systempp-x86_64-server.iso of=/dev/sdX bs=4M status=progress oflag=sync -
Live-System starten
Boot the live system
Vom Stick booten – das geht per BIOS und UEFI. Im Live-System als
rootanmelden. Boot from the stick – BIOS and UEFI both work. Log in to the live system asroot. -
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 withuid_r), sets up the network and asks for the root password:fenriros-install -
Neu starten und verwalten
Reboot and manage
Nach dem Neustart ist die Web-Oberfläche unter
https://<rechner>:8443erreichbar.sudürfen nur Mitglieder der Gruppewheelbenutzen. After the reboot the web interface is athttps://<host>:8443. Only members of the groupwheelmay usesu.
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 |
|---|---|---|
| systempp | libc und C++-Standardbibliotheklibc and C++ standard library | BSD-3-Clause |
| fresh | Shell und BasiswerkzeugeShell and base tools | BSD-3-Clause |
| syslite | Init-System und sysbusInit system and sysbus | LGPL-3.0 |
| webctl | Web-OberflächeWeb interface | BSD-3-Clause |
| sharedd | SMB- und NFS-FreigabenSMB and NFS shares | BSD-3-Clause |
| adconnect | Benutzer und Gruppen aus Active DirectoryUsers and groups from Active Directory | BSD-3-Clause |
| firewalld | Paketfilter und NAT (nf_tables)Packet filter and NAT (nf_tables) | BSD-3-Clause |
| storaged | Software-RAID und LVM2Software RAID and LVM2 | BSD-3-Clause |
| containerd | Container aus Docker-/OCI-ImagesContainers from Docker/OCI images | BSD-3-Clause |
| iscsid | iSCSI-InitiatoriSCSI initiator | BSD-3-Clause |
| snmpdd | SNMP-MeldungenSNMP notifications | BSD-3-Clause |
| ntpplus | NTP-Client und -ServerNTP client and server | BSD-3-Clause |
| proxyplus | HTTP-/SMTP-Reverse-ProxyHTTP/SMTP reverse proxy | LGPL-3.0 |
| makeplus | make-Implementierungmake implementation | BSD-3-Clause |
| feos-scripts | Paket-Specs, Installer und BuildPackage specs, installer and build | – |