Skip to content

Latest commit

 

History

1,932 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ferrix: Linux apps without Linux

Ferrix

Linux apps without Linux.

Boot Ferrix in QEMU and you can open its Wayland desktop, browse with Chrome, or run git, curl and rustc. Those are ordinary Linux binaries running on Ferrix's own Rust kernel. Disk, network, graphics and input drivers run as separate processes that Ferrix can restart if they crash.

Ferrix is still experimental. Authentication and parts of process isolation are unfinished, so it is not ready to be your everyday OS.

Boot Ferrix · See what works · Read the technical guide · Visit the website

Ferrix's Wayland desktop with Chrome, btop and a terminal

zinc shell showing driver processes, service status and a curl request Chrome browsing Wikipedia on the Ferrix desktop btop showing Chrome, the compositor and driver processes
The zinc shell, driver processes and a curl request. Chrome browsing Wikipedia on Ferrix. btop showing what's running.

Captured on x86-64 under KVM. How the screenshots were made.

What works

  • Linux programs: Chrome, rustc, git, curl and other tested binaries run without patches. Ferrix implements the Linux system calls they need. It also has its own C library, ferrousli, for native userland programs.
  • A desktop: The hyprix Wayland compositor tiles windows and starts with a terminal running the zinc shell. Chrome can play video with sound.
  • Drivers outside the kernel: Disk, network, graphics, input and console drivers run as processes. On x86-64 and AArch64, an IOMMU limits their device access. Ferrix can restart them after a crash.
  • Persistent storage and networking: The root filesystem is btrfs. Inside Ferrix, git can clone a repository and curl can fetch over HTTPS.
  • Three architectures: Boot tests cover x86-64, AArch64 and ARMv7-A. Ferrix has also booted on an STM32MP157D-DK1 board and a Pixel 7.

The roadmap tracks what is done and what is still being built. Ferrix is not ready as an everyday operating system.

Boot Ferrix

Install Rust and QEMU, then:

git clone https://github.com/SetZero/ferrix.git
cd ferrix
cargo xtask run --arch x86_64

That opens a serial console. For the desktop, run cargo xtask run-compositor. The technical guide covers firmware requirements, other architectures, Windows, graphics options and the extra downloads needed for Chrome and the Rust toolchain. Quit QEMU with Ctrl-A, then x.

Check the claims

The boot test starts Ferrix on all three architectures:

cargo xtask test-boot --arch all

Other tests compile a program with an unmodified rustc inside Ferrix and boot an x86-64 image built inside Ferrix. The guide has the commands and serial output. These tests demonstrate specific working paths; they are not a claim that every Linux app works.

How the project is built

Claude sessions write most of the code in separate worktrees. A human owner sets priorities, and changes have to pass their tests before landing. The working rules include mistakes the project has made and what changed afterward. Human contributions are welcome; see CONTRIBUTING.md.

Ferrix is MIT licensed. Explore the code and component docs, get the logo and press kit, or open an issue.

About

Experimental Rust operating system running unmodified Linux apps on its own kernel, with restartable userland drivers and a Wayland desktop.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages