The profan Operating System is an independent OS developed from scratch. It is characterized by its ring0-only preemptive modular multitasking minimalist kernel and colorful-looking command line-based user interface. Test it from your browser without installing anything.
You can find a progress roadmap in github projet, a monthly updates and the wiki for documentation.
Note
Compilation is guaranteed only on linux but it is also possible in windows with virtualization solutions like wsl (on windows 11) or hyperV.
# Debian based
sudo apt update
sudo apt install -y make python3 gcc g++ nasm qemu-system-i386 \
grub-common xorriso grub-pc-bin mtools
# Arch based
sudo pacman -Syu
sudo pacman -S make python gcc nasm qemu-full xorriso \
grub-common mtools# Compile and run
make run
# Show all commands
makeEach time the disk is modified you must force its reconstruction with make disk.
The main ports (more information in the [ports](#Major ports - Addons) section) are not included
in the repo source code but are easily downloadable with make addons disk.
You can download the build images from the latest release or the repo profanOS-build.
# Run the iso image in qemu
qemu-system-i386 -cdrom profanOS.iso
# With KVM acceleration
qemu-system-i386 -cdrom profanOS.iso -enable-kvmprofanOS can also be tested online with two clicks with the v86 copy emulator here.
When starting profanOS, you will be greeted by the Olivine shell, a language similar to bash.
You can then run the help command to see a list of useful commands.
Tip
To switch the keyboard layout use the kb <layout> command, such as kb qwerty.
The profanOS kernel is the core of the operating system. It is extremely minimalist and provides only the essential features required to run a multitasking OS. Everything non-essential is kept outside of the kernel and implemented as modules.
Main features:
- multiboot support
- 32 bits protected mode
- custom modular filesystem
- preemptive multitasking
- virtual memory management
- syscalls with interrupts
- ELF modules loading
Modules extend the kernel with additional functionality, they can be hot-loaded and have access to all kernel functions. Typical modules provide drivers, UNIX compatibility layers, or low-level libraries.
Main modules:
- unix file descriptors interface
- ATA and AHCI disk driver
- profan filesystem extansion
- intel HDA audio driver
- panda terminal emulator
The kernel and userspace are developed mainly in C. The Olivine Shell (see the language documentation) is the main shell language. You can also use python3, posix-sh, lua, perl, sulfur, and C languages to create your own programs.
If you prefer a bash like rather than Olivine, you can use the dash port which is
POSIX compliant and often used as /bin/sh in linux systems.
- python Python 3.11 interpreter
- dash POSIX compliant shell
- tcc Small and fast C compiler
- GNU make Makefile interpreter
- doom Raycasting first person shooter
All the ports are available with the command make addons.
A lot of programs are compiled from this repo,
you can also find a list of stuff tested in profanOS
here.
Libraries are loaded from file system and are dynamically linked to executables using
deluge (profan dynamic linker).
Here is a list of the main libraries and kernel modules:
- libc - standard C library
- libpf - extra stuff like libtsi
- libm - math library (port)
- libSDL2 - Simple DirectMedia Layer 2 (port)
Find all the libraries available on the wiki.
profanOS works on pc with legacy bios but not with uefi. However profanOS can work on recent pc by activating bios compatibility.
To install profanOS on a USB key or an internal disk, it is possible to use
the installation script tools/install.sh or any other image flasher.
Warning
Installing an OS on a real machine can be risky and must be done with knowledge of the possible risks!
- Download ISO or build it in linux
- Flash the ISO on the USB key with
ddor any other image flasher - Activate the legacy bios in the bios settings (if not already done)
- Boot on the USB key from the bios boot menu
- select the graphical mode
This method is dangerous and will cause the complete erasure of your machine's disk. Please make a backup of your data and be sure of what you are doing.
- Activate the legacy bios in the bios settings (if not already done)
- Boot on a live linux
- Download ISO or build it in linux
- Flash the ISO with
tools/install.shor any other image flasher
# replace sdX with the disk to flash
sudo sh install.sh /dev/sdX profanOS.iso- Reboot on the internal disk
![]() |
![]() |
|---|---|
![]() |
![]() |
- Linux running in halfix x86 emulator
- Configuring and compiling yacc from source
- Discontinued desktop environment for profanOS
- The doom port running in profanOS
- pf4 (@elydre)
Contact me on my discord server or in PM @pf4
- os tutorial for the original tutorial
- @asqel for tests, the sulfur language and all the ports
- @Sarah for all the help and ideas
- @copy for the v86 online emulator and floppy build
- @spaskalev for the buddy allocator
- osdev wiki for documentation made by the community
- ToaruOS for the inspiration and the dynamic linking
- BleskOS for the Intel HDA driver
- mintsuki for freestanding headers
A huge thank you to all the contributors and all the people who took the time to look at this project!
be careful with our friend 55




