Fiwix
Fiwix is an operating system kernel based on the UNIX architecture and fully focused on being POSIX compatible. It is designed and developed mainly as a hobbyist operating system, but it also serves for educational purposes. It runs on the i386 hardware platform and is compatible with a good base of existing GNU applications. It follows the UNIX System V application binary interface and is also mostly Linux 2.0 i386 system call ABI compatible.
The FiwixOS 3.5 operating system is a Fiwix distribution. It uses the Fiwix kernel, includes the GNU toolchain, it uses Newlib v4.5.0 as its C standard library, and Ext2 as its primary file system.
Between October 2022 and the whole 2023 the Fiwix kernel accepted a series of patches that were necessary to be able to be compiled with TCC. This was a necessary step into the whole bootstrapping process to build a complete Linux distribution from scratch, with Fiwix being currently a crucial part of it.
In January 2026 appeared a project that acts as a full-source bootstrap chain for NixOS
Features
Features according to the official website include:- Written in ANSI C language.
- GRUB Multiboot Specification v1 compliant.
- Full 32bit protected mode non-preemptive kernel.
- POSIX compliant.
- For i386 processors and higher.
- Process groups, sessions and job control.
- Interprocess communication with pipes, signals and UNIX-domain sockets.
- UNIX System V IPC.
- BSD file locking mechanism.
- Virtual memory splits : 3GB/1GB and 2GB/2GB.
- Linux 2.0 ABI system calls compatibility.
- ELF-386 executable format support.
- Round Robin based scheduler algorithm.
- VFS abstraction layer.
- Kexec support.
- Ext2 filesystem support with 1KB, 2KB and 4KB block sizes.
- Minix v1 and v2 filesystem support.
- Linux-like Proc filesystem support.
- ISO9660 filesystem support with Rock Ridge extensions.
- RAMdisk device support.
- Initial RAMdisk image support.
- SVGALib based applications support.
- PCI local bus support.
- UNIX98 pseudoterminals and devpts filesystem support.
- Virtual consoles support.
- Keyboard driver with Linux keymaps support.
- PS/2 mouse support.
- Frame buffer device support for VESA VBE 2.0+ compliant graphic cards.
- Framebuffer console support.
- Serial port RS-232 driver support.
- Remote serial console support.
- QEMU Bochs-style debug console support.
- Basic implementation of a Pseudo-Random Number Generator.
- Floppy disk device driver and DMA management.
- IDE/ATA hard disk device driver.
- IDE/ATA ATAPI CD-ROM device driver.