LemonOS Terminal
LemonOS> about 🍋 LemonOS v0.1 - Baremetal Operating System ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ A lightweight CLI-based OS written in C and Assembly Features: • Real-time Clock - Hardware RTC integration • CLI Interface - Professional terminal interface • Calculator & Unit Converter • System Information & Matrix Screensaver LemonOS> _
Fresh-Squeezed Baremetal OS
No artificial preservatives. No kernels. Just pure, zesty code.
Command Reference
Explore all available LemonOS commands
Quick Start
Prerequisites
Ubuntu/Debian
sudo apt-get install gcc-multilib qemu-system-x86 grub-pc-bin
Arch Linux
sudo pacman -S gcc-multilib qemu grub
macOS (Homebrew)
brew install x86_64-elf-gcc qemu
Build & Run
Clone and Build
git clone https://github.com/dwip-the-dev/LemonOS.git
cd LemonOS
make clean && make
Run in QEMU
make run
Create Bootable ISO
make iso
Make Targets
make
Build LemonOS
make run
Run in QEMU
make iso
Create bootable ISO
make clean
Clean build artifacts
make debug
Build with debug symbols
Technical Details
Boot Process
- BIOS loads boot sector
- Bootloader enters protected mode
- Kernel initializes hardware
- Shell starts interactive session
Hardware Support
- CPU: x86-32 (i386+)
- Memory: Conventional + Extended
- Display: VGA Text Mode (80x25)
- Input: PS/2 Keyboard
- Time: CMOS RTC
Project Structure
LemonOS
├── apps
│ ├── calculator.c
│ ├── clock.c
│ ├── file_manager.c
│ ├── screensaver.c
│ ├── system_info.c
│ └── unit_converter.c
├── art.h
├── boot.s
├── commands.c
├── commands.h
├── drivers
│ ├── rtc.c
│ ├── simple_fs.c
│ └── vga_utils.c
├── grub.cfg
├── include
│ ├── calculator.h
│ ├── clock.h
│ ├── file_manager.h
│ ├── filesystem.h
│ ├── keyboard.h
│ ├── rtc.h
│ ├── screensaver.h
│ ├── stddef.h
│ ├── stdint.h
│ ├── system_info.h
│ ├── unit_converter.h
│ ├── vga.h
│ └── vga_utils.h
├── kernel.c
├── keyboard.c
├── linker.ld
├── Makefile
├── shell.c
├── shell.h
└── vga.c
4 directories, 34 files
Contributing
Found a bug? Want a new feature? Contributions are welcome!
How to Contribute
- Fork the repository
- Create a feature branch
git checkout -b amazing-feature
- Commit your changes
git commit -m 'Add amazing feature'
- Push to the branch
git push origin amazing-feature
- Open a Pull Request
Ideas for Contribution
- 🎮 Basic games (Snake, Pong)
- 🎨 Colour themed OS
- 🌐 Network stack
- 🎵 Sound driver
- 👾 Run DOOM
Learning Resources
This project is excellent for learning:
Operating System Design
x86 Assembly Programming
Hardware Interaction
System Programming
Boot Process & Firmware
Get LemonOS
Download the latest release and start exploring