GemOS is a lightweight, customizable, extensible operating system based on Linux built by your own machine. It constructs a minimal, UEFI-bootable ISO image using the host's kernel and a static BusyBox binary.
Note
This project is still a work in progress. Contributions to improve hardware compatibility are highly welcome!
- Minimalist: Extremely small footprint, focusing only on essential components.
- UEFI Support: Built-in support for UEFI booting via GRUB.
- Extension System: Modular design allowing for easy addition of features (e.g., disk utils installation).
To build and run GemOS, you need the following tools installed on your system:
curl: To download packages.xorriso: For ISO image creation.grub-common: Specificallygrub-mkimagefor creating the EFI bootloader.mtools&dosfstools: For manipulating EFI system partition images.binutils: Forstripto minimize binary sizes.- (Optional)
qemu-system-x86_64&ovmf: To run the resulting ISO in a virtual environment.
sudo apt update
sudo apt install curl xorriso grub-common mtools dosfstools binutils qemu-system-x86_64 ovmfsudo pacman -S curl xorriso grub mtools dosfstools binutils qemu-desktop ovmfSimply run the following command to build the ISO:
make buildThe output will be located at build/gemos.iso. With no extensions, its size could be about 40MB.
To test GemOS in a virtual machine:
make runNote: This requires OVMF to be installed at /usr/share/ovmf/x64/OVMF.4m.fd (standard on most distros).
To remove build artifacts:
make cleanTo remove all downloaded files as well:
make clean-all