https://github.com/lenovix/kamilos
Develop my Operating System, Start date: 18 May 2025
https://github.com/lenovix/kamilos
linux-kernel operating-system
Last synced: 7 months ago
JSON representation
Develop my Operating System, Start date: 18 May 2025
- Host: GitHub
- URL: https://github.com/lenovix/kamilos
- Owner: lenovix
- Created: 2025-05-18T13:56:31.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-06-17T04:45:38.000Z (9 months ago)
- Last Synced: 2025-06-17T05:29:11.242Z (9 months ago)
- Topics: linux-kernel, operating-system
- Language: Assembly
- Homepage:
- Size: 1000 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# kamilOS v0.0.1

**kamilOS** adalah sistem operasi minimal buatan sendiri sebagai latihan eksplorasi sistem operasi dari nol menggunakan bahasa Assembly dan C, serta compiler cross-platform `i386-elf-gcc`.
Versi 0.0.1 adalah rilis awal yang berfokus pada:
- Bootloader buatan sendiri (512-byte MBR)
- Kernel 32-bit sederhana yang ditulis dalam C
- Dapat dijalankan di emulator QEMU
- Struktur awal file dan toolchain
## ๐ Struktur Proyek
```
kamilOS/
โโโ boot.asm # Bootloader 16-bit (MBR)
โโโ kernel.c # Kernel C sederhana
โโโ kernel.ld # Linker script untuk ELF ke binary
โโโ Makefile # Otomatisasi build
โโโ os-image.bin # Image akhir yang siap dijalankan QEMU
โโโ README.md # Dokumentasi ini
```
---
## ๐ Persyaratan
Sebelum mem-build, pastikan kamu sudah install:
- `i386-elf-gcc` & `i386-elf-ld` (cross compiler)
- `nasm`
- `qemu`
- `make`
### Install Cross Compiler (contoh ringkas)
```bash
export PREFIX="$HOME/cross"
export TARGET=i386-elf
export PATH="$PREFIX/bin:$PATH"
```
Kamu bisa ikuti panduan osdev.org - GCC Cross Compiler untuk setup lengkapnya.
---
## โ๏ธ Build
Jalankan perintah berikut untuk membangun image OS:
```bash
make
```
Jika berhasil, kamu akan mendapatkan file os-image.bin.
---
## ๐ Menjalankan kamilOS
Gunakan QEMU untuk menguji OS ini:
```bash
qemu-system-i386 -fda os-image.bin -boot a
```
Kamu seharusnya melihat hasil dari kernel atau debug awal dari bootloader.
## ๐งช Status Fitur v0.0.1
| Fitur | Status |
|:-----|:--------:|
| Bootloader 16-bit | **โ
Selesai** |
| Switch ke 32-bit protected mode | **โ
Selesai** |
| Kernel Hello World | **โ
Selesai** |
| Output teks ke layar | **โ ๏ธ Minimal** |
| File system / input keyboard | **โ Belum** |
| Memory management | **โ Belum** |
## ๐งญ Tujuan Selanjutnya
- Menambahkan dukungan keyboard input
- Sistem output teks yang lebih baik (print string, newline, dll)
- Setup stack dan interrupt descriptor table (IDT)
- Paging dan manajemen memori dasar