pornOS - The Most Miserable Operating System Ever
____ ____ _____ _____ ______
| _ \ ___ ___| _ \| __ \/ _ \ \/ / ___|
| |_) / _ \/ __| |_) | | | | | | \ /| _|
| __/ __/\__ \ _ <| |__| | |_| / \| |___
|_| \___||___/\_\ \_\_____/ \___/_/\_\____|
pornOS is a deliberately miserable, fully joke GNU/Linux distribution. Do not use this for anything real. We're not even sure it works.
Requirements Status
| # | Requirement | Status |
|---|---|---|
| 1 | Package manager porn, hybrid compile+binary, .pornpkg format, written in Holy Porn |
✅ pornpkg |
| 2 | TUI install, fastfetch logo = Pornhub logo in ASCII | ✅ porninstaller.py |
| 3 | Miserable to use, working ISO, install script, custom init porn |
✅ porn init, installer, build-pornos.py |
| 4 | No glibc/musl, uses pornlibc |
✅ usr/lib/pornlibc/libporn.so |
| 5 | Lightweight | ✅ (pure Python + shell + own FS) |
| 6 | Very porn | ✅ obviously |
| 7 | ctrl+p opens porncli (CLI) / pornGUI (browser to Pornhub) |
✅ |
| 8 | Every 20 min plays "Misery" by Pupsies | ✅ misery-daemon |
| 9 | Miserable working OS | ✅ |
| 10 | Kernel linux-very-hardened (linux-hardened + bore), genuine ass, xvideos instead of sudo |
✅ xvideos |
Bonus (no archiso, no ext4): we wrote our own filesystem called cum
(src/cumfs/) and use our own tools + porn init + own bootloader config.
Your drive is cum.
Components
Holy Porn (language)
src/holyporn/holyporn.py - the official esoteric language of pornOS.
All system utilities (the package manager) are written in it.
Syntax highlights:
porn x = 6- declaresexy("hi")- printnaked foo(a): { }- define functionerect cond: { } limp: { }- if/elsewet i 5: { }- for loopthrust()- returncreampie(a,b)add,gangbang(a,b)multiply,cuckold(a,b)subtract,smut(a,b)dividemissionary(file)import,jack(cmd)run shell,finger()inputhusl/bonk- program start/endprostate()- system info
Holy Porn is a prefix-notation (s-expression-like) language, compiled/interpreted to Python, for maximum misery.
pornlibc (requirement #4)
src/pornlibc/libporn.c + Makefile - pornOS's own standard library. No
glibc/musl. A tiny, auditable shared object (libporn.so) exporting
porn_write, porn_read, porn_exit, string helpers, a minimal porn_printf,
and version queries. Built with make on a real host
(sudo make install -> /usr/lib/pornlibc/libporn.so). When the build host
has no compiler, the pipeline ships a stub so pornOS always boots.
pornpkg (package manager)
src/pornpkg/pornpkg written entirely in Holy Porn.
Hybrid package manager supporting install/remove/search/list/upgrade/update/clean/info.
porncli / pornGUI
src/porncli/porncli.py - full TUI shell tool with many themed commands
(proton, protonvpn, nsfw, nakedpics, stripclub, hentai, gangang, camgirl,
dominatrix, exhibitionist, voyeur, onlyfan, roleplay, fetish, latex, etc.)
src/pornGUI/pornGUI.py - opens the browser with a Pornhub page.
Both are bound to ctrl+p via src/scripts/pornsh.
cum filesystem
src/cumfs/ - our own filesystem that replaces ext4. Your drive is cum.
include/cumfs.h- on-disk format spec (superblock, inode table, data region)mkfs.cum(Python) +mkfs.cum.c(reference C impl) - build a cum imagecum-ls- inspect / extract /--infoa cum imagecumfs.c+Makefile- in-kernel Linux VFS driver (mount -t cum)
cum is read-only, flat, simple and pure. Just like it sounds.
porn (init)
src/porninit/porn - custom init replacing systemd. Handles initramfs
pivot + real-root bring-up: mounts core filesystems, mounts the cum root,
loads udev, starts the misery daemon, sets hostname, spawns agetty.
xvideos (sudo replacement)
src/xvideos/xvideos - the only way to get root on pornOS.
xvideos pacman -S vim, xvideos -u root bash, etc.
misery-daemon
src/misery-daemon/misery-daemon - plays "Misery" by Pupsies every 20 minutes
(1200 seconds). Includes an init script for completeness.
porninstaller
src/installer/porninstaller.py - TUI installer with the Pornhub-ascii logo,
GPT partitioning, cum formatting, the pornOS userland, kernel, init, and boot
setup. No pacstrap, no archiso - our own components end to end.
linux-very-hardened (kernel)
src/kernel/ - the custom pornOS kernel, requirement #10:
linux-hardened + BORE, genuine ass. It's linux-hardened in spirit
(hardening .config + lockdown LSMs + memory hardening) and ships the
BORE (Burst-Oriented Response Enhancer) EEVDF scheduler. See
src/kernel/README.md and src/kernel/docs/HARDENING.md for the full
decision log and a per-switch table of what's hardened and why.
Built on a real build host via src/kernel/scripts/build.sh (no compiler
exists inside pornOS itself), producing vmlinuz-linux-very-hardened plus
System.map and config-. BORE is a runtime toggle:
sysctl kernel.sched_bore. On boot porn-init prints the BORE banner so you
know the "very hardened" claim isn't a placebo.
Build / Test (NO archiso)
build/build-pornos.py assembles the pornOS userland, packs it into a cum
filesystem image, builds a cpio initramfs, and produces a bootable El Torito
ISO with the host tools (xorriso / mkisofs / genisoimage + syslinux). The
.cum rootfs image and initramfs are always produced even without ISO tools.
# Run the holy porn test suite
python3 src/holyporn/holyporn.py tests/test.hp
# Full no-archiso build -> build/pornos.cum, build/initramfs.cpio.gz, build/pornos-live.iso
python3 build/build-pornos.py
# Inspect the cum image
python3 src/cumfs/cum-ls --info build/pornos.cum
python3 src/cumfs/cum-ls build/pornos.cum
Needs a kernel image at /boot/vmlinuz-linux-very-hardened for the ISO, and
xorriso/mkisofs/genisoimage + syslinux on the build host for the ISO step.
The cum rootfs does not need any of that.
Quick demo (without arch)
python3 src/holyporn/holyporn.py tests/test.hp
./src/pornpkg/pornpkg list
./src/xvideos/xvideos --version
python3 src/porncli/porncli.py # then type 'proton', 'exit'
Disclaimer
This is a joke. pornOS is not a real, secure, or usable operating system.
While xvideos accepts any password and there's no firewall, that's exactly
the point: it is very porn and very miserable. Don't run it on real hardware.
Use a VM. Safer: don't use it at all.