Status

Known limitations

What SlopOS does not do yet, and which of those gaps we plan to close.

SlopOS is a research system. Everything is tested in QEMU, and one laptop runs the live ISO. This page lists what is missing, what each gap means for you, and whether we plan to close it. Planned links to the Roadmap; Not planned means no plan covers it today.

Hardware

  • Only one real machine has been tried. Other PCs may boot, but nothing outside QEMU and the tested laptop has been run, and support for other machines' hardware is outside the current plans. Not planned. See Hardware.
  • No installer. The disk layout SlopOS boots from can already sit beside another OS on one disk (it shares the EFI system partition and keeps its own partitions), but only the host can build such a disk. Inside SlopOS there is no tool to create a filesystem, check one, resize one or write a partition table, so you cannot install SlopOS onto a real disk yet. Planned (bare metal).
  • A panic on real hardware leaves no record. With the panic=reboot boot option the machine resets at once, and on a laptop with no serial port the screen was the only copy of the message. The disk layout already reserves a small partition for a crash record, but nothing writes to it yet. Planned (bare metal).
  • No network on real hardware. The only network driver is for QEMU's virtio card; the laptop's Realtek wired card has no driver. Planned (bare metal).
  • No USB. There is no USB controller driver, so USB keyboards, mice, sticks and network adapters do nothing once the kernel runs. Input on the laptop comes from the built-in keyboard and touchpad. Planned (USB).
  • No power management. The kernel does not tune CPU frequency and does not tell the laptop's fast cores from its efficient ones, so builds may run below the CPU's full speed. Planned as measurement first (bare metal).
  • No Wi-Fi, Bluetooth, audio, GPU acceleration or suspend. Not planned.

Kernel

  • Partial system call coverage. System calls use Linux's numbers, but many are missing; a program that calls one gets ENOSYS. Coverage grows when a port needs it. Not planned as a goal in itself.
  • One user. Every process runs as user 0. What a program may do comes from the permissions it was started with, not from who runs it (Permissions). Not planned.
  • Devices are found once, at boot. Drivers cannot be unloaded, and a device plugged in later is not noticed. Not planned in the mid term (Drivers).
  • SlopRing covers less than io_uring. It borrows the idea but does not aim to match Linux's feature set (SlopRing). Not planned.
  • Proofs cover part of the trusted core. Machine-checked proofs cover selected logic; some lock-free code in SlopRing and the TCP zero-copy path is reviewed by hand instead (Proofs).
  • No kernel page-table isolation. The kernel stays mapped (but inaccessible) while programs run, and relies on the processor's protection bits rather than unmapping itself, which is the defence Linux added against Meltdown (User mode and kernel mode). Not planned.
  • Some scheduler waits cost latency. A CPU can briefly spin waiting for another to finish switching a task out, ending a task checks every CPU's queue, and the memory of finished tasks is freed only when a CPU goes idle. None of these is a correctness problem, and none is scheduled work.

Storage

  • ext4 as SlopOS makes it. SlopOS formats every volume with one set of ext4 features. It also reads ext2 and ext3, but an ext4 volume made by another system with other features is not supported. Mounting btrfs, XFS or other filesystems is future work with no plan yet.
  • Self-hosted test builds need 8 GB. At the development machine's default 4 GB, linking the test kernel hits a per-process memory limit and the link fails. Boot with DEV_QEMU_MEM=8G for those builds. Open defect.

Network

  • IPv4 only. There is no IPv6. Not planned.
  • Not hardened for the open Internet. The stack carries real TCP, UDP, DNS and TLS 1.3 traffic, but it is a small stack and has not been through what an Internet-facing one has (Networking).
  • No SSH client. Git inside SlopOS reaches the host over the git:// protocol through QEMU's user networking, or GitHub over HTTPS. Planned (bare metal).

Toolchain

  • The compilers are built on the host. LLVM and rustc are cross-built with just toolchain; SlopOS does not rebuild its own compiler. A plan exists but is not committed to (Toolchain).
  • Not a tier 2 Rust target. Rust ships no prebuilt standard library for SlopOS, so every build compiles it from source with -Zbuild-std.

Project

  • Plans are proposals. The plans in the source tree describe work that has not landed. Only what these docs describe as working is part of the system; the Roadmap summarises the rest.

On this page