Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/junsious/zenos
32-bit kernel
https://github.com/junsious/zenos
assembly c kernel os
Last synced: 2 months ago
JSON representation
32-bit kernel
- Host: GitHub
- URL: https://github.com/junsious/zenos
- Owner: Junsious
- License: gpl-3.0
- Created: 2024-09-09T09:24:30.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-10-18T13:32:30.000Z (2 months ago)
- Last Synced: 2024-10-18T17:06:22.375Z (2 months ago)
- Topics: assembly, c, kernel, os
- Language: C
- Homepage:
- Size: 1.98 MB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# ZenOS
![2](https://github.com/user-attachments/assets/47cff0b6-14a5-44d6-9dda-248524830bcb)- [RU README](https://github.com/Junsious/zen-kernel-OS/blob/main/README_ru.md)
## If you have ideas, don’t be shy and write them, create threads, ask to be contributors, we will be only too glad to see new people in this project
## Description
- `ZenOS` is an educational project aimed at creating an operating system from scratch. The project includes a kernel written in both C and Rust, with basic functionality for text output and command input support. This project is intended to provide hands-on experience in operating system development, cross-compilation, and low-level programming. The project will also develop.## Building and Running
### Requirements
- **Cross-compiler**: `i386-elf-gcc` and `i386-elf-as`
- **ISO Image Creation Tool**: `grub-mkrescue`
- **Emulator**: `QEMU`### Build
1. **Clone the repository**:
```bash
git clone https://github.com/yourusername/ZenOS.git
cd zen-kernel-OS
```2. **Build the project**:
```bash
make
```3. **Run the ISO image with QEMU**:
```bash
qemu-system-i386 -cdrom ZenOS.iso
```### Project Structure
- **`kernel.c`** — Kernel source code in C.
- **`boot.asm`** — Assembler code for the bootloader.
- **`linker.ld`** — Linker script used for building the kernel.
- **`grub.cfg`** — GRUB configuration file for loading the kernel.
- **`Makefile`** — Build automation file.
- **`keyboard_driver.c`** — Driver for your keyboard on C with special characters.## Development and Contributing
If you would like to contribute to the project, follow these steps:
1. **Create a branch**:
```bash
git checkout -b feature-branch
```2. **Make your changes** and test them.
3. **Commit your changes**:
```bash
git commit -am 'Added new feature'
```4. **Push your changes**:
```bash
git push origin feature-branch
```5. **Create a Pull Request** on GitHub, describing your changes and their purpose.
## License
This project is licensed under the GNU General Public License v3.0 (GPL-3.0). See [LICENSE](LICENSE) for more details.
## Contact
If you have any questions or suggestions, you can reach out to the project maintainer through GitHub or via email: [email protected]
## Creators
Coder - Junsious ([GitHub](https://github.com/junsious))
Designer - Konrad ([GitHub](https://github.com/WilliamKonRaDDD))