Skip to content

Weiww-Xu/LemonOS

 
 

Repository files navigation

banner

CI

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 [email protected].

Prebuilt Image

Nightly Images - Go to latest job, Lemon.img located under Artifacts
You must be logged in to GitHub to download the image

Before running See System Requirements

Lemon OS Screenshot
More screenshots

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

Work In Progress

  • XHCI Driver
  • Intel HD Audio Driver

Third Party

Lemon OS depends on mlibc, Freetype, zlib, libressl 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
  • 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
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

About

The Lemon Operating System

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 92.6%
  • C 4.4%
  • Meson 1.0%
  • Assembly 1.0%
  • Shell 0.9%
  • Dockerfile 0.1%