SimpleOS is a minimalist experimental operating system designed for learning and exploration. It is written in Assembly and C and can run in a virtual or physical environment.
- Custom bootloader.
- Basic kernel with essential functionalities.
- Minimalist window system.
Make sure you have the following programs installed on your machine:
- VirtualBox (6.1 or higher)
- FergoRaw (for creating disk images)
- NASM Assembler (2.15 or higher) and GCC or LLVM Clang++
- Rufus (4.5 or higher)
Run the Constructor.bat
file or the commands below manually:
nasm -f bin bootloader.asm -o bootloader.bin
nasm -f bin kernel.asm -o kernel.bin
nasm -f bin window.asm -o window.bin
After generating the binary files, add them to FergoRaw in the correct size order:
- Sector 1:
bootloader.bin
(0–512 bytes) - Sector 2:
kernel.bin
(0–512 bytes) - Sector 3:
window.bin
(0–512 bytes)
If any file exceeds 512 bytes, adjust the sectors as indicated:
Sector 1: bootloader.bin
Sector 2: kernel.bin (first 512 bytes)
Sector 3: kernel.bin (remainder)
Sector 4: window.bin
- Open Rufus and select the image file created in FergoRaw.
- Configure the USB device and start transferring.
With the USB connected, run the following commands in the terminal:
-
Navigate to the VirtualBox directory:
cd %programfiles%\oracle\virtualbox
-
Create the VMDK file:
VBoxManage internalcommands createrawvmdk -filename "%USERPROFILE%\.VirtualBox\usb.vmdk" -rawdisk \\.\PhysicalDrive[USB_disk_number]
- Create a new virtual machine in VirtualBox.
- Assign the VMDK file to the storage drive.
- Start the virtual machine to test SimpleOS.
Contributions are welcome! Follow these steps:
- Fork the repository.
- Create a branch for your changes.
- Submit a Pull Request with a detailed description.
If you have questions or encounter problems, please contact:
- Email: [email protected]