11 पॉइंट द्वारा GN⁺ 2026-02-04 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • एक ही फ्लॉपी डिस्क (1.44MB) से बूट होने वाला हल्का Linux डिस्ट्रीब्यूशन Floppinux अब 2025 संस्करण (v0.3.1) में अपडेट किया गया है
  • नया संस्करण Linux kernel 6.14.11 और BusyBox 1.36.1 पर आधारित है, और इसमें persistent storage (264KB) तथा आधुनिक हार्डवेयर संगतता शामिल है
  • यह Intel 486DX(33MHz) या उससे ऊपर के CPU और केवल 20MB RAM पर चल सकता है, तथा text editor (vi) और बुनियादी फ़ाइल संचालन कमांड्स को सपोर्ट करता है
  • यह वास्तविक हार्डवेयर और emulator (qemu, Bochs, 86Box) दोनों पर चलता है, और इसे इस तरह बनाया गया है कि उपयोगकर्ता स्वयं kernel और toolchain बिल्ड करें
  • 4 साल पहले पहली बार जारी होने के बाद से इसका उपयोग शिक्षा और प्रयोग के लिए होता रहा है; इस संस्करण में नवीनतम kernel को बनाए रखने और learning tutorial को अपडेट करने पर जोर है

प्रोजेक्ट अवलोकन

  • Floppinux का लक्ष्य एकल फ्लॉपी डिस्क से बूट होने वाला न्यूनतम Linux सिस्टम बनाना है
    • इसे “Linux From Scratch” जैसी सीखने के लिए workshop शैली में डिज़ाइन किया गया है, ताकि उपयोगकर्ता इसे सीधे संशोधित और विस्तारित कर सकें
  • तैयार डिस्ट्रीब्यूशन text-based terminal environment देता है, जिसमें फ़ाइल संपादन और सरल script लेखन किया जा सकता है
  • बची हुई स्टोरेज 264KB है, इसलिए उपयोगकर्ता अपनी बनाई हुई फ़ाइलों को सीधे फ्लॉपी पर सहेज सकते हैं

मुख्य फीचर्स और आवश्यक विनिर्देश

  • single floppy boot, नवीनतम kernel (6.14), 32-bit x86 CPU (486DX या उससे ऊपर) सपोर्ट
  • text editor (vi), बुनियादी फ़ाइल संचालन कमांड्स (cat, cp, mv, rm आदि), और सरल scripting फीचर्स शामिल
  • persistent storage के जरिए फ्लॉपी पर फ़ाइलें सहेजी जा सकती हैं
  • न्यूनतम हार्डवेयर आवश्यकताएँ: Intel 486DX 33MHz, 20MB RAM, internal floppy drive

kernel कॉन्फ़िगरेशन

  • Linux 6.14.11 वह अंतिम kernel है जो i486 CPU को पूरी तरह सपोर्ट करता है
  • kernel सेटिंग्स को न्यूनतम boot फीचर्स पर केंद्रित रखा गया है, और इसमें XZ-compressed initramfs, ELF executable support, और FAT filesystem शामिल हैं
  • TTY, block device, /proc और sysfs filesystem सपोर्ट सक्षम किया गया है
  • kernel build का आउटपुट bzImage(881KiB) के रूप में बनता है

build environment और toolchain

  • build को Omarchy Linux(Arch-आधारित 64-bit OS) पर किया गया, लेकिन वही प्रक्रिया POSIX-compatible सिस्टम्स पर भी लागू की जा सकती है
  • i486-linux-musl-cross cross compiler का उपयोग 32-bit target build के लिए किया गया है
  • emulation environment के रूप में qemu का उपयोग किया गया है; Bochs debugging के लिए है, और 86Box धीमा लेकिन एक विकल्प है

BusyBox-आधारित toolset

  • BusyBox 1.36.1 का उपयोग किया गया है, जो GNU utilities की जगह लेने वाला हल्का command set देता है
  • चुने गए प्रमुख कमांड्स: cat, cp, df, echo, ls, mkdir, mv, rm, sync, vi, mount, umount, clear, test
  • इसे static binary के रूप में build किया गया है, जिससे shared library dependency हट जाती है
  • BusyBox build के बाद बना root filesystem (rootfs.cpio.xz) 137KiB का है

filesystem और initialization कॉन्फ़िगरेशन

  • इसमें न्यूनतम directory structure, welcome message, inittab, और rc initialization script शामिल हैं
    • rc script /proc, /sys को mount करने के बाद /home directory बनाती है और फ्लॉपी को /mnt पर mount करती है
    • boot के समय welcome banner दिखाने के बाद shell(/bin/sh) में प्रवेश होता है
  • syslinux.cfg सेटिंग्स के जरिए boot message और kernel parameters निर्धारित किए जाते हैं
    • APPEND root=/dev/ram rdinit=/etc/init.d/rc console=tty0 tsc=unstable

boot image बनाना

  • 1.44MB floppy image (floppinux.img) बनाई जाती है, फिर उसे format करके bootloader (syslinux) इंस्टॉल किया जाता है
  • kernel, root filesystem, और configuration files को image में कॉपी किया जाता है
  • qemu से boot test करने के बाद इसे वास्तविक फ्लॉपी पर लिखा जा सकता है
  • गलत drive चुनने पर data loss का जोखिम होने की चेतावनी भी शामिल है

अंतिम सारांश

  • संस्करण: 0.3.1 (दिसंबर 2025)
  • kernel: 6.14.11
  • BusyBox: 1.36.1
  • image size: 1.44MiB
  • बची हुई जगह: लगभग 253KiB
  • समर्थित कमांड्स: फ़ाइल संचालन (cat, cp, mv, rm, ls, mkdir), सिस्टम प्रबंधन (df, sync, mount, umount), text processing (echo, more), editor (vi)

महत्व

  • Floppinux, Linux kernel की संरचना और boot process को सीखने के लिए अनुकूलित एक अति-हल्का डिस्ट्रीब्यूशन है
  • यह वास्तविक हार्डवेयर पर भी चलने वाला पूर्ण Linux environment एक ही फ्लॉपी डिस्क में समेटता है
  • शिक्षा, retro system प्रयोग, और embedded development की शुरुआत के लिए यह एक उपयोगी उदाहरण प्लेटफ़ॉर्म है

1 टिप्पणियां

 
GN⁺ 2026-02-04
Hacker News की राय
  • क्रिसमस के दौरान मैंने 32-bit युग के कंप्यूटर को सच में उपयोग करने लायक स्तर तक लाने की कोशिश की थी
    समस्या performance नहीं बल्कि software support और video drivers थे
    आजकल 32-bit के लिए packages लगभग build ही नहीं होते, इसलिए CLI भी 64-bit dependencies की वजह से सीमित हो गया है
    kernel में भी पुराने GPU drivers हट चुके हैं, इसलिए सिर्फ basic VGA mode बचता है और MPEG2 playback भी मुश्किल हो जाता है
    आखिर में मैंने hardware के मुताबिक Debian 5 install करने की कोशिश की, लेकिन उस समय के ISO में USB boot support नहीं था, इसलिए छोड़ना पड़ा
    नतीजा यही है कि ऐसे project मजेदार तो हैं, लेकिन रोज़मर्रा के इस्तेमाल के लिए मुश्किल हैं

    • मैंने VM में Office 97 चलाकर देखा, और वह अब भी feature-rich और तेज़ है
      ribbon UI से पुराना interface बेहतर लगता है, और WordArt जैसी features nostalgia जगाती हैं
      नए versions की features भी अच्छी हैं, लेकिन लगभग 30 साल पुराने software का इतना polished होना हैरान करता है
    • यह शायद Linux तक सीमित बात है
      NetBSD अब भी i386 के लिए packages और pkgsrc देता है
      pkgsrc repository link
      मुझे graphics से ज़्यादा VGA text mode पसंद है
    • असली समस्या performance नहीं बल्कि modern software की फुलावट है
      browser-based apps बहुत ज़्यादा हो गई हैं, और JS से बने धीमे programs हर जगह हैं
      यह दिलचस्प है कि LLM ऐसे code पर train हो रहे हैं
    • मुझे याद है कि 2000s की शुरुआत में AMD 800MHz, 256MB RAM पर CS 1.6 server चलाया था
      साथ में NAT gateway और web server भी चल रहे थे, और सब ठीक काम करता था
      लेकिन आज 16GB भी कम लगना एक अजीब विडंबना है
    • Plop Boot Manager की सिफारिश है
      इसे floppy या CD से boot करके पुराने PC पर भी USB से chainloading किया जा सकता है
      मैंने इसे Pentium MMX पर इस्तेमाल किया था; धीमा था, लेकिन ठीक चला
  • मैंने सबसे पहले जो Linux distro इस्तेमाल किया था, वह Damn Small Linux (DSL) था
    इसे मूल रूप से GameCube porting की कोशिश में इस्तेमाल किया गया था, लेकिन मुख्य development team बाद में Gentoo पर चली गई
    मौजूदा DSL 2024, antiX 23 i386 पर आधारित है, और 700MB सीमा के भीतर desktop environment रखने के लिए language packs और documentation कम किए गए हैं
    restore script से ज़रूरी files फिर से डाउनलोड की जा सकती हैं
    official site

    • हाल में मैंने Puppy Linux, DSL, और TinyCoreLinux को फिर से देखा और LLM agent sandbox के लिए VM बनाया
      reviews में Alpine को recommended distro बताया गया था, लेकिन उसकी विश्वसनीयता को लेकर पक्का नहीं हूँ
  • मैंने इसे असली 486 पर test किया, लेकिन boot fail हो गया
    32MB RAM लगाई थी, फिर भी “Booting kernel failed: Invalid Argument” error आया
    लगता है कि BIOS में E820h memory map routine support न होने की वजह से ऐसा हुआ
    screenshot और
    real hardware gallery देखी जा सकती है

  • लेख में बताई गई FAT12-based persistence strategy जगह बचाने के लिए काफ़ी समझदारी भरा तरीका है
    लेकिन floppy में journaling नहीं होती, इसलिए power cut होने पर data corruption का जोखिम बड़ा है
    इसकी जगह log-structured filesystem (जैसे JFFS2) इस्तेमाल करना, या shutdown के समय ही tar से serialize करना, ज़्यादा सुरक्षित हो सकता है

    • journaling का फायदा उतना बड़ा लाभ नहीं है जितना लोग समझते हैं
      मैंने दशकों तक FAT इस्तेमाल किया है, लेकिन data corruption बहुत कम देखा है
      आज भी ज़्यादातर embedded devices FAT ही इस्तेमाल करते हैं
    • driver design के ज़रिए FAT में भी journaling-स्तर की reliability लागू की जा सकती है
      FAT1/FAT2 copies और file size update के क्रम को बदलकर crash के बाद recovery संभव हो सकती है
    • पहले initrd जैसी चीज़ नहीं होती थी, और पूरा system सीधे disk से पढ़ा जाता था
      Slackware 8 या आधुनिक NetBSD भी अब तक वैसी ही संरचना बनाए हुए हैं
    • OpenWrt की squashfs + jffs2 overlay structure की तरह read-only root और writable overlay को साथ इस्तेमाल करने का तरीका भी संभव है
    • power cut के जोखिम को कम करने के लिए दूसरा floppy drive इस्तेमाल करना बेहतर हो सकता है
  • मुझे 1999 की QNX demo floppy याद है
    1.44MB disk से सीधे GUI और web browser चल जाते थे
    उसके बाद मैंने वैसी चीज़ कभी नहीं देखी

    • MenuetOS/KolibriOS भी ऐसा ही उदाहरण है
      अब फिर से वैसी systems मौजूद हैं
    • xwoaf-rebuild भी उसी तरह का है
    • पहली बार देखकर यह यक़ीन करना मुश्किल था कि GUI और drivers को 1.44MB में समेट दिया गया था
    • आजकल तो शायद सिर्फ Unicode tables डालने से ही जगह भर जाए
  • बची हुई 264KB जगह बढ़ाने के लिए extended floppy format इस्तेमाल किया जा सकता है
    Windows 95 install disk की तरह 21-sector track format इस्तेमाल करें तो 1680KB तक पहुँचा जा सकता है
    Linux के standard formatting tools से भी ऐसा layout बनाया जा सकता है

  • floppy disk की आवाज़ और loading का रोमांच याद आता है

    • आज के laptops की coil whine कम से कम उस दौर की “कंप्यूटर काम कर रहा है” वाली आवाज़ याद दिलाती है
      अच्छा होता अगर इस आवाज़ को settings से adjust किया जा सकता
  • “5 मिनट में floppy burn करना” पढ़कर हँसी आ गई

    • यह साफ़ तौर पर CD-R/RW पीढ़ी वाली अभिव्यक्ति लगती है
  • सोचता हूँ कि क्या floppy को सच में format करना ज़रूरी है
    अगर syslinux या lilo kernel को सीधे floppy sectors से load कर सकें, तो चीज़ें और सरल हो सकती हैं
    ext2 शायद FAT से छोटा भी हो

  • मुझे 1997 में 12 floppy disks के set में Slackware मिलने की याद है

    • उस दौर में दुकानों पर Slackware वाली floppy disks ‘पागलपन वाली छूट’ पर बिकती थीं
      लेकिन उनकी quality अच्छी नहीं थी, इसलिए install करना मुश्किल होता था
    • MuLinux भी floppy-based live distro था, और X11 या language packs को अतिरिक्त floppies से बढ़ाया जा सकता था
    • असल में शायद 30 से ज़्यादा disks थीं
      मैंने इसे VAX पर FTP से लिया, फिर Kermit से DOS PC पर transfer करके install किया, लेकिन बीच में खराब disks की वजह से कई बार दोहराना पड़ा
      X series, X11 के लिए थी, और A/B/C series base system के लिए थीं
    • शायद जो दो-disk setup में चलता था, वह Puppy Linux रहा होगा
      मैंने उसे 933MHz Coppermine system पर चलाया था, और बाद में HDD बदलने के बाद X11 build करने की कोशिश की थी, जो नाकाम रही