Awesome
Lemon OS is a UNIX-like 64-bit operating system written in C++.
About Lemon OS
Lemon OS includes its own modular kernel with SMP and networking, window server/compositor and userspace applications as well as a collection of software ports.
If you have any questions or concerns feel free to open a GitHub issue, join our Discord server or email me at computerfido@gmail.com.
Website
Discord Server
Building Lemon OS
Prebuilt Image
Before running See System Requirements
Features
- Modular Kernel
- Symmetric Multiprocessing (SMP)
- UNIX/BSD Sockets
- Network Stack (UDP, TCP, DHCP)
- A small HTTP client/downloader called steal
- Window Manager/Server LemonWM
- Terminal Emulator
- Writable Ext2 Filesystem
- IDE, AHCI and NVMe Driver
- Dynamic Linking
- mlibc C Library Port
- LLVM/Clang Port
- DOOM Port
- Audio Player (using ffmpeg)
Work In Progress
- XHCI Driver
- Intel HD Audio Driver
Third Party
Lemon OS depends on: mlibc, Freetype, zlib, libressl, ffmpeg, libfmt, libjpeg-turbo and libpng.
Optional ports include LLVM/Clang, DOOM, Binutils and Python 3.8
Various background images are located here
System requirements
- 256 MB RAM (512 is more optimal)
- x86_64 Processor supporting x86_64-v2 instructions including SSE4.2
- For QEMU/KVM use
-cpu host
or at least-cpu Nehalem
see this page
- For QEMU/KVM use
- 2 or more CPU cores recommended
- I/O APIC
- ATA, NVMe or AHCI disk (AHCI strongly recommended)
For QEMU run with:
qemu-system-x86_64 Lemon.img --enable-kvm -cpu host -M q35 -smp 2 -m 1G -netdev user,id=net0 -device e1000,netdev=net0 -device ac97
KVM is strongly recommended
Repo Structure
Directory | Description |
---|---|
Applications/ | Userspace Applications |
Base/ | Config, etc. Files copied to disk |
Documentation/ | Lemon OS Documentation |
Extra/ | (Currently) vector icons |
InterfaceCompiler/ | Compiler for interface definition files |
Kernel/ | Lemon Kernel |
LibGUI/ | LibGUI (Windowing and widgets) |
LibLemon/ | LibLemon (Lemon API) |
Toolchain/ | Toolchain build scripts and patches |
Ports/ | Build scripts and patches for ports |
Resources/ | Images, fonts, etc. |
Screenshots/ | Screenshots |
Scripts/ | Build Scripts |
Services/ | Interface definition files |
System/ | Core system programs and services |