HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
klange
toaruos
Developer Tools2013–2025
klange / toaruos · Archived

toaruos

Complete, independent operating system built by humans.

22Distinct people
22Mentions
0Explicit recommenders
6.9KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Complete, independent operating system built by humans.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year22 dated mentions

Observed mentions: 2013-12-01 19:03:26 UTC to 2025-03-26 02:22:22 UTC.

0123452013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20132014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 5 mentions; 2 submissions, 3 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 4 mentions; 3 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 3 mentions; 2 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC202
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC312
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC000
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC523
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC110
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC202
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC431
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC321
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
ToaruOS ToaruOS is a complete, independent operating system for x86-64 PCs and ARMv8 VM environments. The OS includes an SMP-capable modular kernel, C standard library with dynamic linker, a composited desktop environment, a dynamic bytecode-compiled programming language, advanced code editor, and a rapidly expanding collection of POSIX utilities, all of which is original to the project and has no third-party dependencies. Demonstration of ToaruOS's UI and some applications. History ToaruOS has been in development since January of 2011. The first full version was released in 2017. Early versions of ToaruOS relied on a large suite of ports. In 2018, a project was started to replace all third-party runtime dependencies of the OS, culminating in the release of ToaruOS 1.6. It would take a few more years for functionality to reach full parity with the original release. ToaruOS's kernel was rewritten in 2020 and 2021, and ported to x86-64, with support for SMP. ToaruOS 2.0 was released in December of 2021. In early 2022, the OS was further ported to aarch64. Notable Components Misaka (kernel), kernel/, a hybrid modular kernel, and the core of the operating system. Yutani (window compositor), apps/yutani.c, manages window buffers, layout, and input routing. Kuroko (interpreter), kuroko/, a dynamic bytecode-compiled programming language. Bim (text editor), bim/, is a Vim-inspired editor with syntax highlighting. Terminal, apps/terminal.c, xterm-esque terminal emulator with 24-bit color support. ld.so (dynamic linker/loader), libc/dlfcn/dl.c, loads dynamically-linked ELF binaries. Current Goals The following projects are currently in progress: Improve POSIX coverage especially with new utilities, and more correct file system behavior. Continue to improve the C library which remains quite incomplete. Replace third-party development tools to get the OS to a state where it is self-hosting with just the addition of a C compiler. Building / Installation Building With Docker General users hoping to build ToaruOS from source are recommended to fork the repository on Github and make use of the Github CI pipeline. For those looking to build locally on an appropriately configured Linux host with Docker, a build container is available. The ToaruOS repository should be used as a bind mount at /root/misaka and util/build-in-docker.sh can be run within this container to complete the compilation process: git clone https://github.com/klange/toaruos cd toaruos git submodule update --init kuroko git submodule update --init bim docker pull toaruos/build-tools:1.99.x docker run -v `pwd`:/root/misaka -w /root/misaka -e LANG=C.UTF-8 -t toaruos/build-tools:1.99.x util/build-in-docker.sh After building like this, you can run the various utility targets (make run, etc.). Try make shell to run a ToaruOS shell using a serial port with QEMU. Build Process Internals The Makefile uses a Kuroko tool, auto-dep.krk, to generate additional Makefiles for the userspace applications and libraries, automatically resolving dependencies based on #include directives. In an indeterminate order, the C library, kernel, userspace librares and applications are built, combined into a compressed archive for use as a ramdisk, and then packaged into an ISO9660 filesystem image. Project Layout apps - Userspace applications, all first-party. base - Ramdisk root filesystem staging directory. Includes C headers in base/usr/include, as well as graphical resources for the compositor and window decorator. bim - Submodule checkout of the Bim editor. boot - BIOS and EFI loader with interactive menus. build - Auxiliary build scripts for platform ports. kernel - The Misaka kernel. kuroko - Submodule checkout of the Kuroko interpreter. lib - Userspace libraries. libc - C standard library and dynamic linker implementation. modules - Loadable driver modules for the kernel. tests - Test utilities that are not normally built. util - Utility scripts, staging directory for the toolchain (binutils/gcc). .make - Generated Makefiles. Filesystem Layout The root filesystem is set up as follows: bin: First-party applications. cdrom: Mount point for the CD, if available. dev: Virtual device directory, generated by the kernel. net: Network interface devices. pts: PTY secondaries, endpoints for TTYs. etc: Configuration files, startup scripts. home: User directories. lib: First-party libraries kuroko: Kuroko modules. mod: Loadable kernel modules. proc: Virtual files that present kernel state. 1, etc.: Virtual files with status information for individual processes. net: Network socket information, by protocol src: Source files, see "Project Layout" section above. tmp: Mounted as a read/write tmpfs normally. usr: Userspace resources bin: Third-party applications, normally empty until packages are installed. include: Header files, including potentially ones from third-party packages. lib: Third-party libraries. Should have libgcc_s.so by default. share: Various resources. bim: Syntax highlighting and themes for the text editor. cursor: Mouse cursor sprites. fonts: TrueType font files. Live CDs ship with Deja Vu Sans. games: Dumping ground for game-related resource files, like Doom wads. help: Documentation files for the Help Browser application. icons: PNG icons, divided into further directories by size. ttk: Spritesheet resources for the window decorator and widget library. wallpapers: JPEG wallpapers. var: Runtime files, including package manager manifest cache, PID files, some lock files, etc. Running ToaruOS VirtualBox and VMware Workstation The best end-user experience with ToaruOS will be had in either of these virtual machines, as ToaruOS has support for their automatic display sizing and absolute mouse positioning. Set up a new VM for an "other" 64-bit guest, supply it with at least 1GiB of RAM, attach the CD image, remove or ignore any hard disks, and select an Intel Gigabit NIC. Two or more CPUs are recommended, as well. By default, the boo
Read the full README on GitHub

What Hacker News says

22 sources
ToaruOS has an ARMv8 port: https://github.com/klange/toaruos and Serenity has an ARM and RISC-V ports: https://github.com/SerenityOS/serenity ; although I think you would call them Unix-like. Haiku has tier-2 ports to ARM, RISC-V, and SPARC: https://www.haiku-os.org/guides/building/port_status ReactOS has an ARM32 port but the ARM64 one is not usable yet. Skift apparently runs on ARM and RISC-V: https://skiftos.org/
In Recommendation for non-DOS/Unix open source OS outside x86/X64
people always say that C++ is not a good fit for kernels, but so far this is the only language I know where small teams or individuals are regularly able to create non-trivial hobby OSes from scratch that go from zero to GUI: - Serenity (https://github.com/SerenityOS/serenity) - not really a small team, but it managed to get to GUI as pretty much a one-man-show - Skift (https://github.com/skift-org/skift) - hhu: https://github.com/hhuOS/hhuOS - MaxOS: https://github.com/maxtyson123/MaxOS - MorphiOS: https://github.com/syedtaqi95/morphiOS - Macaron: https://github.com/MacaronOS/Macaron - Ghost: https://github.com/maxdev1/ghost most big ones in C don't manage to get to the GUI level, except toaruos: https://github.com/klange/toaruos
In Managarm: Pragmatic microkernel-based OS with asynchronous I/O
This began life as a hobby CS project started at the time the author was in college. The allocator was based on a custom malloc() written for a systems programming course (I was in the same course at one point). https://github.com/klange/toaruos/blob/bb91a91cac2793daa213d... There's some really early screenshots here. https://forum.osdev.org/viewtopic.php?p=202371#p202371 I think before he even graduated the OS had a graphical mode. On OSDev you'd have a screen sharing thread with people posting their text mode OS projects and then he would post this one with this windowing system with the anime background and it would stand out that much more. And it was all made by a single person. In college. Some people are just way, way out there.
In ToaruOS: A Hobby Operating System

Showing the 15 most recent of 22 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.