4 poin oleh GN⁺ 2025-04-27 | 1 komentar | Bagikan ke WhatsApp
  • RetrOS-32 adalah proyek sistem operasi hobi 32-bit berbasis arsitektur i386
  • Menyediakan fitur grafis, multitasking, dan jaringan serta telah diuji pada perangkat keras nyata
  • Ditulis dalam C, C++, dan Assembly serta mendukung kompilasi lintas platform melalui Docker
  • Mendukung pembangunan sistem pengguna, menjalankan emulasi QEMU, dan boot di perangkat fisik
  • Proyek ini memiliki fitur kernel yang matang dan stack jaringan serta terus menambahkan fitur baru

Pengenalan proyek RetrOS-32bit

  • Proyek pengembangan sistem operasi hobi 32-bit berbasis arsitektur i386
  • Mendukung lingkungan grafis, multitasking, dan fungsi jaringan
  • Tanggal mulai proyek: 12 Mei 2022

Informasi login dasar

  • Akun pengguna default: system, admin, guest
  • Kata sandi admin adalah admin, guest tidak memiliki kata sandi
  • Pengguna baru dapat dibuat dengan perintah admin create <nama_pengguna> <kata_sandi>

Bahasa dan alat pengembangan utama

  • C, Assembly: kernel, utilitas, sistem build
  • C++: aplikasi ruang pengguna
  • Make: otomatisasi build
  • Docker: menyediakan lingkungan kompilasi lintas platform

Perangkat keras yang telah diuji

  • Lenovo x240
  • Asus Eee PC series
  • Dell Optiplex 780
  • Samsung N150 Plus
  • Samsung NP-NC10
  • IBM Thinkpad a21p

Memulai (Getting Started)

Alat yang diperlukan (Prerequisites)

  • Docker: kompilasi lintas platform
  • QEMU: emulasi mesin virtual
  • Lingkungan Linux/WSL: build-essential, gcc-multilib, grub2, xorriso, xxd
  • MacOS: perlu menggunakan Docker (karena keterbatasan build x86 32-bit)

Cara instalasi (Installation)

  • Clone repositori Git
  • Inisialisasi submodule Git
  • Buat file image dengan perintah make compile, make img
  • Jalankan emulator QEMU dengan perintah make qemu

Pada MacOS dan Windows, penggunaan Docker direkomendasikan

Cara penggunaan (Usage)

  • Unggah file .img ke situs copy.sh v86 untuk menjalankannya
  • Dapat dijalankan langsung dengan QEMU: make qemu atau qemu-system-i386 <nama_image>
  • Pada perangkat fisik, ISO berbasis GRUB dapat dibakar ke USB/CD lalu di-boot

Struktur proyek (ringkasan singkat)

  • apps: aplikasi ruang pengguna
  • bin: file biner
  • boot: source bootloader
  • drivers: driver kernel
  • fs: kode sistem file
  • graphics: kode pemrosesan grafis
  • include: file header
  • kernel: source utama kernel
  • lib: pustaka
  • net: kode jaringan
  • rootfs: sistem file root
  • tests: kode pengujian
  • tools: alat build dan utilitas

Roadmap pengembangan (Roadmap)

  • Bootloader kustom dan boot kompatibel GRUB selesai
  • Penjadwalan preemptive multithread dan pemisahan ruang kernel/pengguna telah diimplementasikan
  • Stack jaringan: Ethernet, IP, ARP, UDP, TCP, DHCP, DNS selesai
  • Sistem grafis: pengelola jendela, widget, rendering framebuffer ganda telah diimplementasikan
  • Sistem file: mirip Ext2, mendukung FAT16, dapat baca/tulis
  • Rencana berikutnya: menambahkan dukungan web server, FTP, IRC, SSH, Telnet, HTTP, HTML

1 komentar

 
GN⁺ 2025-04-27
Komentar Hacker News
  • Proyek seperti ini jauh lebih menyenangkan untuk dilihat daripada AI. Mungkin tidak akan laku dijual, tetapi ini menunjukkan seorang teknisi yang berkarya secara kreatif
    • Saat akhir masa remaja, saya banyak mempelajari pengembangan OS sebagai hobi. Saya masih sesekali membuat kernel kecil (baru-baru ini saya menampilkan pesan kepada pasangan saya dengan kernel kecil RISCV)
  • Ini salah satu proyek penuh gairah paling mengesankan yang pernah saya lihat dalam waktu lama. Saya penasaran kenapa dia menulis compiler C sendiri
  • Font sistem default seharusnya berupa varian yang lebih ramping. Sistemnya akan terlihat jauh lebih rapi
    • Jelas bahwa karakter membutuhkan lebih banyak ruang horizontal. Setiap karakter harus lebih sempit, dan jarak antarhuruf harus sesedikit mungkin — pada ukuran font dan resolusi yang dipakai sekarang, sekitar satu piksel seharusnya cukup
    • Saya tidak terlalu paham tentang sistem font, tetapi saya berasumsi ini font bitmap monospasi. Saya tidak tahu seberapa sulit membuat perubahan seperti ini di dalam codebase, tetapi kalau terlalu banyak pekerjaan, jangan terlalu dipikirkan
    • Saya sedang membangun situs web OS dari nol, dan baru-baru ini menulis ulang kelas font sepenuhnya. Jadi masalah ini sedang ada di kepala saya
  • Keren sekali! Kalau memulai lagi hari ini, apa yang akan Anda lakukan secara berbeda?
    • Bagaimana pendapat Anda tentang kecocokan bahasa untuk bagian low-level? (misalnya tetap di C, atau subset sederhana dari C++, atau salah satu bahasa baru)
    • Dengan berbagai sumber daya yang tersedia, bagaimana Anda menjaga proyek ini tetap menarik tanpa sekadar menyalin kode orang lain?
  • Selamat! Sebagai seseorang yang menggunakan Commodore PET 2001 pada tahun 1977, ini terlihat keren. Saya sempat bermain-main dengan KolibriOS dan MenuetOSx64, tetapi ingin membuat OS saya sendiri. Anda berhasil! Semoga terus melaju
  • Saya hanya ingin mengucapkan selamat. Saya sangat terkesan dengan proyek ini. Saya penggemar pengembangan OS sejak remaja, dan senang melihat pencapaian ini terwujud. Saya penasaran bagaimana subsistem grafis diinisialisasi. Semoga sukses
  • Apakah ini akan menjadi besar dan profesional seperti GNU? :)
  • Bisakah Anda menjelaskan bagaimana compiler ini berinteraksi dengan sistem operasi? Secara khusus saya penasaran bagaimana fitur seperti struct ditangani, serta apa keterbatasan saat ini atau peningkatan yang direncanakan di area tersebut
  • Menarik melihat beberapa proyek mencapai tonggak pada saat yang sama. Rasanya melegakan bahwa masih ada orang-orang yang bekerja secara mendalam dengan komputer dan membagikan hasilnya
    • Semoga terus melaju
  • Saya melihat jejak Turbo C/QBasic di editornya
    • Salut untuk proyek ini