4 पॉइंट द्वारा GN⁺ 2025-04-27 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • RetrOS-32 एक i386 आर्किटेक्चर-आधारित 32-बिट हॉबी ऑपरेटिंग सिस्टम प्रोजेक्ट है
  • यह ग्राफिक्स, मल्टीटास्किंग, नेटवर्किंग फीचर प्रदान करता है और वास्तविक हार्डवेयर पर भी टेस्ट किया गया है
  • इसे C, C++, Assembly में लिखा गया है और Docker के जरिए cross-platform compilation को सपोर्ट करता है
  • यूज़र सिस्टम सेटअप, QEMU emulation में रन, और वास्तविक डिवाइस पर बूट करना संभव है
  • प्रोजेक्ट में उच्च-परिपक्वता वाले kernel फीचर और network stack मौजूद हैं, और इसमें लगातार नए फीचर जोड़े जा रहे हैं

RetrOS-32bit प्रोजेक्ट परिचय

  • i386 आर्किटेक्चर पर आधारित 32-बिट हॉबी ऑपरेटिंग सिस्टम डेवलपमेंट प्रोजेक्ट
  • ग्राफिकल environment, मल्टीटास्किंग, और नेटवर्क फीचर को सपोर्ट करता है
  • प्रोजेक्ट शुरू होने की तारीख: 12 मई 2022

डिफ़ॉल्ट लॉगिन जानकारी

  • डिफ़ॉल्ट यूज़र अकाउंट: system, admin, guest
  • admin का पासवर्ड admin है, guest के लिए कोई पासवर्ड नहीं है
  • नया यूज़र admin create <사용자명> <비밀번호> कमांड से बनाया जा सकता है

मुख्य डेवलपमेंट भाषाएँ और टूल

  • C, Assembly: kernel, utilities, build system
  • C++: user-space applications
  • Make: build automation
  • Docker: cross-platform compilation environment उपलब्ध कराता है

टेस्ट किया गया हार्डवेयर

  • Lenovo x240
  • Asus Eee PC सीरीज़
  • Dell Optiplex 780
  • Samsung N150 Plus
  • Samsung NP-NC10
  • IBM Thinkpad a21p

शुरुआत करना (Getting Started)

आवश्यक टूल (Prerequisites)

  • Docker: cross-platform compilation
  • QEMU: virtual machine emulation
  • Linux/WSL environment: build-essential, gcc-multilib, grub2, xorriso, xxd
  • MacOS: Docker का उपयोग आवश्यक (32-बिट x86 build सीमा के कारण)

इंस्टॉलेशन तरीका (Installation)

  • Git repository clone करें
  • Git submodule initialize करें
  • make compile, make img कमांड से image file बनाएँ
  • make qemu कमांड से QEMU emulator चलाएँ

MacOS और Windows पर Docker का उपयोग सुझाया जाता है

उपयोग (Usage)

  • copy.sh v86 साइट पर .img file upload करके चलाएँ
  • QEMU से सीधे चला सकते हैं: make qemu या qemu-system-i386 <이미지명>
  • वास्तविक डिवाइस पर GRUB-आधारित ISO को USB/CD में लिखकर बूट किया जा सकता है

प्रोजेक्ट संरचना (संक्षिप्त सारांश)

  • apps: user-space applications
  • bin: binary files
  • boot: bootloader source
  • drivers: kernel drivers
  • fs: file system code
  • graphics: graphics processing code
  • include: header files
  • kernel: मुख्य kernel source
  • lib: libraries
  • net: networking code
  • rootfs: root file system
  • tests: test code
  • tools: build और utility tools

डेवलपमेंट रोडमैप (Roadmap)

  • custom bootloader और GRUB-compatible boot पूरा
  • multithreaded preemptive scheduling और kernel/user-space separation लागू
  • network stack: Ethernet, IP, ARP, UDP, TCP, DHCP, DNS पूरा
  • graphics system: window manager, widgets, double framebuffer rendering लागू
  • file system: Ext2-जैसा, FAT16 सपोर्ट, read/write संभव
  • आगे की योजना: web server, FTP, IRC, SSH, Telnet, HTTP, HTML सपोर्ट जोड़ा जाएगा

1 टिप्पणियां

 
GN⁺ 2025-04-27
Hacker News राय
  • ऐसे प्रोजेक्ट AI से कहीं ज़्यादा अच्छे लगते हैं। शायद यह बिकेगा नहीं, लेकिन यह एक तकनीकी व्यक्ति को रचनात्मक काम करते हुए दिखाता है
    • किशोरावस्था के आख़िरी वर्षों में मैंने शौक़िया तौर पर OS development बहुत पढ़ी थी। अब भी कभी-कभी छोटे kernel बनाता हूँ (हाल ही में एक छोटे RISCV kernel से अपने पार्टनर के लिए संदेश आउटपुट किया था)
  • यह उन सबसे प्रभावशाली passion projects में से एक है जो मैंने लंबे समय में देखे हैं। जानना चाहूँगा कि आपने अपना C compiler खुद क्यों लिखा
  • डिफ़ॉल्ट system font का एक ज़्यादा condensed variant होना चाहिए। इससे सिस्टम काफ़ी अधिक polished लगेगा
    • साफ़ दिख रहा है कि अक्षरों को और horizontal space चाहिए। हर अक्षर की चौड़ाई कम होनी चाहिए, और अक्षरों के बीच की जगह जितनी हो सके उतनी कम होनी चाहिए - अभी जो font size और resolution इस्तेमाल हो रहा है, उसमें लगभग एक pixel काफ़ी होगा
    • मुझे font systems के बारे में ज़्यादा जानकारी नहीं है, लेकिन मान रहा हूँ कि यह fixed-width bitmap font है। codebase में इस तरह का बदलाव करना कितना मुश्किल है, नहीं जानता, लेकिन अगर यह बहुत ज़्यादा काम हो तो इसकी चिंता मत करें
    • मैं भी एक web OS site शुरू से बना रहा हूँ, और हाल ही में font class को पूरी तरह फिर से लिखा है। इसलिए यह बात मेरे दिमाग़ में है
  • शानदार! अगर आज फिर से शुरू करते, तो क्या अलग करते?
    • lower-level हिस्सों के लिए language suitability पर आपके क्या विचार हैं? (जैसे C पर टिके रहना, या C++ के किसी सरल subset का उपयोग करना, या नई भाषाओं में से कोई)
    • इतने सारे resources उपलब्ध होने के बावजूद आपने दूसरों का code कॉपी किए बिना प्रोजेक्ट को दिलचस्प कैसे बनाए रखा?
  • बधाई! 1977 में Commodore PET 2001 इस्तेमाल कर चुके व्यक्ति के तौर पर यह बहुत शानदार लग रहा है। मैं KolibriOS और MenuetOSx64 के साथ खेल रहा था, लेकिन अपना खुद का OS बनाना चाहता था। आपने कर दिखाया! आगे बढ़ते रहिए
  • बस बधाई कहना चाहता हूँ। इस प्रोजेक्ट से बहुत प्रभावित हूँ। मैं किशोरावस्था से ही OS development का प्रशंसक रहा हूँ, और यह उपलब्धि साकार होते देखना अच्छा लग रहा है। जानना चाहूँगा कि graphics subsystem कैसे initialize होता है। सफलता की शुभकामनाएँ
  • क्या यह GNU जितना बड़ा और professional होगा? :)
  • क्या आप समझा सकते हैं कि यह compiler operating system के साथ कैसे interact करता है? खास तौर पर यह जानना चाहता हूँ कि struct जैसी सुविधाएँ कैसे संभाली जाती हैं, और इस क्षेत्र में अभी क्या सीमाएँ हैं या कौन-से सुधार योजनाबद्ध हैं
  • यह दिलचस्प है कि कई प्रोजेक्ट एक ही समय में milestones तक पहुँच रहे हैं। यह जानकर तसल्ली होती है कि अब भी लोग कंप्यूटर के साथ गहराई से काम कर रहे हैं और अपने नतीजे साझा कर रहे हैं
    • आगे बढ़ते रहिए
  • editor में Turbo C/QBasic की झलक दिखी
    • प्रोजेक्ट के लिए प्रशंसा