forked from jnode/jnode
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Levente Santha edited this page May 9, 2026
·
3 revisions
Welcome to the JNode wiki — a compiled knowledge base maintained by LLM agents and human contributors.
JNode is an operating system written almost entirely in Java. It runs on bare-metal x86/x86_64 hardware without a host OS — JNode is the OS. It includes its own JVM, kernel, scheduler, JIT compilers, driver framework, filesystem layer, network stack, GUI (AWT implementation), and shell.
The codebase contains ~3,300 Java files and 24 assembly files, organized into sub-projects.
| Resource | Link |
|---|---|
| Source code | github.com/LSantha/jnode_ai |
| Build instructions | Build-System |
| Architecture overview | Architecture |
| For LLM agents | index — read this first to find relevant pages |
| Agent instructions | AGENTS.md — overarching rules for LLMs |
| Wiki schema | WIKI_SCHEMA.md — structure and maintenance rules |
| Project | Directory | Purpose |
|---|---|---|
| Core | core/ |
VM, kernel, scheduler, JIT compilers, driver framework |
| FS | fs/ |
Filesystems, partition tables, block device drivers |
| Net | net/ |
Network protocols, sockets, network device drivers |
| GUI | gui/ |
AWT implementation, video/input drivers |
| Shell | shell/ |
Command-line shell, system commands |
| CLI | cli/ |
Additional command-line commands |
| Builder | builder/ |
Build tools: JNasm assembler, BootImageBuilder |
| Textui | textui/ |
Text-based AWT interface |
| Sound | sound/ |
Sound support (future work) |
| Distr | distr/ |
Distribution tools and apps |
| All | all/ |
Master build: configuration, plugin lists, build.xml |
- Architecture — System layers and how they fit together
-
Boot-Sequence — From GRUB to Java
Main.vmMain() - Memory-Management — Address spaces, paging, garbage collection
- JIT-Compilers — L1/L2 compiler pipeline and register allocation
- Plugin-System — Plugin/extension mechanism (OSGi-like)
- Driver-Framework — Device manager, PCI/USB, resource management
- Filesystem-Layer — VFS, partition tables, filesystem drivers
- Network-Stack — Protocol stack, sockets, network drivers
- GUI-AWT — Video drivers, AWT implementation, input handling
- Shell-Commands — Command framework, built-in commands
- Build-System — Ant targets, boot image builder, classlib
- Testing — Unit tests, boot testing with QEMU/VirtualBox
- VM-Magic — Magic annotations that control JIT behavior
- Assembly-Files — Role of each x86 assembly file
- Code-Conventions — Style rules, patterns, anti-patterns