Welcome to ZenOS.
ZenOS is an experimental operating system project focused on learning and developing low-level system software.
The project currently explores areas such as:
- Linux kernel development
- Userspace
- Toybox
- Root filesystems
- Boot processes
- System initialization
- Networking
- Security tooling
- Automation
- AI-assisted system interaction
Recommended knowledge:
- Basic Linux command line
- Git
- C programming
- Shell scripting
- Basic operating-system concepts
You do not need to be an expert to contribute.
The recommended development environment includes:
- Git
- Docker
- GCC
- Make
- Binutils
- QEMU
- Linux kernel build dependencies
- Toybox build dependencies
Fork the repository on GitHub and clone your fork:
git clone https://github.com/YOUR_USERNAME/YOUR_REPOSITORY.git
cd YOUR_REPOSITORYAdd the upstream repository:
git remote add upstream https://github.com/Coder-Delta/YOUR_REPOSITORY.gitVerify:
git remote -vNever perform development directly on main.
Create a branch:
git checkout -b feature/my-featureFor bug fixes:
git checkout -b fix/my-bugZenOS development is recommended inside Docker.
Example:
docker run --rm -it \
-v "$PWD:/workspace" \
ubuntu:latest \
bashInside the container:
cd /workspaceA good first contribution could be:
- Fixing documentation
- Improving build instructions
- Adding a test
- Fixing a build script
- Improving error handling
- Reporting a reproducible bug
- Adding a small userspace utility
- Improving QEMU testing
For significant changes:
- Check existing issues.
- Check existing Pull Requests.
- Search the repository.
- Discuss architectural changes with maintainers.
- Create a design proposal when appropriate.
This helps prevent duplicated work and incompatible implementations.
If you are stuck:
- Read the README.
- Read the relevant documentation.
- Search existing issues.
- Search Pull Requests.
- Ask a focused question.
Include commands, errors, and relevant logs when asking for help.