-
Notifications
You must be signed in to change notification settings - Fork 0
Quick Start Guide
Inside ModuOS, paths look like:
-
/– root of the currently selected mount (boot filesystem by default) -
$/mnt/vDrive0/…$/mnt/vDriveN/– explicit per-drive mount views -
$/dev/– DevFS devices
Examples:
# dir /
# dir $/mnt/vDrive0/
# dir $/dev
Get ModuOS up and running in just a few minutes!
Before you begin, ensure you have:
- Windows (Linux/macOS may work with modifications)
- Docker Desktop - Download here
- QEMU - Download here
- Git - For cloning the repository
git clone https://github.com/NtinosTheGamer2324/ModuOS.git
cd ModuOSModuOS uses a Docker container with the cross-compilation toolchain (x86_64-elf-gcc, NASM, GRUB tools).
docker build buildenv -t modu-osThis creates a Docker image named modu-os containing:
- x86_64-elf-gcc: Cross-compiler for x86-64
- NASM: Netwide Assembler for assembly code
- GRUB: Bootloader tools
- xorriso: ISO creation utility
⏱️ Build time: ~5-10 minutes (one-time setup)
ModuOS requires a 1GB FAT32-formatted disk image named disk.img in the project root.
# Create 1GB blank file
fsutil file createnew disk.img 1073741824
# Format as FAT32 using Disk Management:
# 1. Open Disk Management (diskmgmt.msc)
# 2. Action > Attach VHD > Select disk.img
# 3. Initialize as MBR
# 4. Create volume and format as FAT32
# 5. Detach VHDdiskpart
> select vdisk file="C:\path\to\ModuOS\disk.img"
> create vdisk file="C:\path\to\ModuOS\disk.img" maximum=1024 type=fixed
> attach vdisk
> create partition primary
> format fs=fat32 quick
> assign letter=X
> detach vdisk
> exit- Win32 Disk Imager: Create and format disk images
- Rufus: Create FAT32 formatted files
⚠️ Important: Therun.batscript does NOT createdisk.imgautomatically!
Simply execute the batch script:
run.batThis script will:
- ✅ Check if Docker Desktop is running (starts it if needed)
- 🔨 Build the kernel inside the Docker container
- 📦 Create a bootable ISO with GRUB2
- 🚀 Launch QEMU with the kernel ISO and disk image
- 📄 Open log viewers for COM1 and COM2 output
- GRUB bootloader menu
- Kernel initialization messages
- Hardware detection (PCI, drives, memory)
- File system mounting
- Shell prompt
ModuOS v0.1
Type 'help' for available commands
# _
Try these commands to explore the system:
# System information
zsfetch
# List files
dir
# Read a file
cat /ModuOS/System64/mdsys.sqr
# Memory test
memtest
# Run the shell
sh
# Launch a game
gameTo view real-time COM port logs during execution:
- Download Log Viewer v1
- Place the executable at:
vendor/NTSoftware/Log Viewer.exe - The
run.batscript will automatically open it
Log files:
- com1.log: Kernel debug output
- com2.log: Additional system logs
# Manually start Docker Desktop
"C:\Program Files\Docker\Docker\Docker Desktop.exe"
# Wait 30 seconds, then run run.bat againMake sure QEMU is installed and in your PATH:
qemu-system-x86_64 --versionError: disk.img not found
Create the disk image as described in Step 3.
# Clean build artifacts
docker run --rm -it -v "%cd%":/root/env modu-os make clean
# Rebuild
run.bat- Press
Ctrl+Alt+2to access QEMU monitor - Check
com1.logfor kernel panic messages - Ensure disk.img is properly formatted as FAT32
- Shell Commands - Learn available commands
- Applications - Explore userland programs
- Games - Play built-in games
- Building ModuOS - Manual build process
- Debugging Guide - Debug the kernel
If you prefer not to use run.bat:
# Build kernel
docker run --rm -it -v "%cd%":/root/env modu-os make clean build-AMD64
# Run in QEMU
qemu-system-x86_64 ^
-M pc-i440fx-6.2 ^
-m 1024M ^
-smp 2 ^
-serial file:com1.log ^
-serial file:com2.log ^
-drive file=dist/AMD64/kernel.iso,format=raw,media=cdrom ^
-drive id=disk,file=disk.img,if=none,format=raw ^
-device ahci,id=ahci ^
-device ide-hd,drive=disk,bus=ahci.0 ^
-boot d- Issues: GitHub Issues
- OSDev Community: wiki.osdev.org
- Documentation: Continue reading the wiki!