6 पॉइंट द्वारा GN⁺ 2026-01-22 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • उपयोगकर्ता को Linux सिस्टम को सीधे source code से बनाना सिखाने वाला step-by-step मैनुअल
  • Version 12.4 1 सितंबर 2025 को जारी हुआ, जिसमें नवीनतम kernel 6.16.1, GCC 15.2.0, Glibc 2.42 आदि शामिल हैं
  • सिस्टम build के लिए cross toolchain configuration, temporary tools installation, और bootable system completion तक पूरी प्रक्रिया को कवर करता है
  • हर अध्याय में package list, build order, test procedure, system configuration को बारीकी से अलग-अलग व्यवस्थित किया गया है
  • डेवलपर्स और सिस्टम इंजीनियर्स के लिए Linux की आंतरिक संरचना सीखने और custom distribution बनाने का महत्वपूर्ण संसाधन

अवलोकन

  • Linux From Scratch(LFS) एक ऐसा प्रोजेक्ट है जिसे उपयोगकर्ता को किसी मौजूदा distribution के बिना Linux सिस्टम खुद बनाने के लिए डिज़ाइन किया गया है
    • इसमें हर component को source code से compile और configure करने की प्रक्रिया step-by-step समझाई गई है
    • Gerard Beekmans इसके संस्थापक हैं, और Bruce Dubbs संपादकीय प्रबंधन संभालते हैं
  • दस्तावेज़ HTML-आधारित online manual के रूप में उपलब्ध है, जिसमें हर चरण के लिए विस्तृत links और package versions दिए गए हैं

संस्करण जानकारी

  • वर्तमान stable version 12.4 है, जो 1 सितंबर 2025 को जारी हुआ
  • copyright 1999–2025 Gerard Beekmans के पास है
  • नवीनतम release में Linux 6.16.1, GCC 15.2.0, Glibc 2.42, Python 3.13.7 जैसे प्रमुख packages शामिल हैं

दस्तावेज़ संरचना

  • दस्तावेज़ प्रस्तावना, build की तैयारी, cross toolchain निर्माण, system build, boot configuration, appendix जैसे 5 प्रमुख भागों में संगठित है
    • प्रस्तावना(Preface) : लक्षित पाठक, आवश्यक ज्ञान, standards compliance, package selection के कारण आदि की व्याख्या
    • बिल्ड की तैयारी(Preparing for the Build) : host system requirements, partition creation, environment variable setup आदि शामिल
    • क्रॉस टूलचेन और अस्थायी tools build(Building the LFS Cross Toolchain and Temporary Tools) : Binutils, GCC, Glibc जैसे core compiler components का configuration
    • LFS system build(Building the LFS System) : मुख्य system software की installation और configuration
    • बूट करने योग्य सिस्टम पूर्ण करना(Making the LFS System Bootable) : kernel compilation और GRUB configuration
    • परिशिष्ट(Appendices) : abbreviations, dependencies, bootscripts, license आदि शामिल

प्रमुख घटक

  • package list में 100 से अधिक core utilities और libraries शामिल हैं
    • उदाहरण: Coreutils 9.7, Bash 5.3, Perl 5.42.0, Python 3.13.7, OpenSSL 3.5.2, Systemd Udev 257.8
  • हर package के लिए installation procedure, tests, cleanup चरण विस्तार से सूचीबद्ध हैं
  • SysVinit 3.14 आधारित bootscripts और GRUB 2.12 bootloader configuration शामिल है

सिस्टम कॉन्फ़िगरेशन और बूट

  • अध्याय 9(System Configuration) में network, locale, device management, input settings आदि शामिल हैं
  • अध्याय 10(Making the LFS System Bootable) में /etc/fstab लिखना, kernel build, और GRUB configuration की प्रक्रिया शामिल है
  • अध्याय 11(The End) में system reboot और आगे की learning materials का मार्गदर्शन है

परिशिष्ट और लाइसेंस

  • परिशिष्ट D में boot और sysconfig scripts का version 20250827 शामिल है
  • परिशिष्ट F में Creative Commons और MIT License दो लाइसेंस निर्दिष्ट हैं
  • dependency list, glossary, acknowledgements जैसे संदर्भ सामग्री उपलब्ध हैं

महत्व

  • LFS, Linux के संरचनात्मक सिद्धांतों और build system को प्रत्यक्ष अनुभव से समझने के लिए एक शैक्षिक और शोध-उन्मुख प्रोजेक्ट है
  • system administrators, distribution developers, और security researchers के लिए यह न्यूनतम Linux environment बनाने का मानक संदर्भ माना जाता है

1 टिप्पणियां

 
GN⁺ 2026-01-22
Hacker News की राय
  • Linux सिस्टम के अंदरूनी हिस्सों को सीखने के लिए Linux From Scratch(LFS) को खुद बनाकर देखने का अनुभव साझा किया गया
    1999 में शुरू किया था और 2001 तक इस्तेमाल किया, लेकिन dependency management और recompilation इतना मुश्किल था कि छोड़ना पड़ा
    उस समय documentation आज जितनी विस्तार से नहीं थी, इसलिए बहुत कुछ खुद ट्रैक करना पड़ता था, और कई obscure packages भी थे
    फिर भी Slackware पर जाते हुए XFree86, GNOME जैसे packages को खुद build करना और उनमें योगदान देना बहुत मज़ेदार था
    अगर समय मिले तो इसे ज़रूर आज़माने की सलाह दी गई है। Linux को देखने का नज़रिया पूरी तरह बदल जाता है
    • systemd वर्शन का LFS भी है, और Gaming LFS या automated build system वर्शन भी उपलब्ध हैं
    • मैंने भी 1999 के आसपास कोशिश की थी, लेकिन तब बस “यह command टाइप करो” जैसी शैली थी और समझाना काफ़ी कम था
      अब virtual machine में दोबारा आज़माने लायक लगता है
    • Wayland वास्तव में काफ़ी सरल है। systemd की तुलना में configure करने के लिए कम चीज़ें हैं
      LFS/BLFS की असली ताकत यह है कि आप अपने उपयोग के हिसाब से सिस्टम को ढाल सकते हैं
      मैं 4000 projects को Ruby script से ट्रैक कर रहा हूँ। अगर gem-coop, commercial rubygems.org का विकल्प बन गया, तो मैं अपना project फिर से public करूँगा
    • मैंने भी हाई स्कूल के समय (लगभग 2005 में) यह किया था, और दर्जनों projects को build करते हुए सिस्टम के हिस्सों को आपस में जुड़ते देखना शानदार अनुभव था
      तैयार सिस्टम को वास्तव में इस्तेमाल नहीं किया, लेकिन इस पर बिताई गई कुछ शामें पूरी तरह सार्थक थीं
    • उस समय dependencies को हाथ से ट्रैक करना पड़ता था, लेकिन अब ChatGPT जैसी चीज़ों से तुरंत जवाब मिल सकता है
      जानकारी तक आसान पहुँच Linux की बढ़ोतरी की बड़ी वजहों में से एक है
  • इस project को जब भी देखता हूँ, upvote कर देता हूँ
    कम उम्र में LFS बनाते हुए सीखा कि कंप्यूटर के सबसे निचले स्तर तक पहुँचना संभव है
    • मैंने भी 1999 में, किशोरावस्था में, इसे आज़माया था; उतनी समझ भी थी कि समस्याएँ सुलझा सकूँ, और इतना समय भी था कि धैर्य रख सकूँ
    • अब compile करने वाली चीज़ें और बढ़ गई हैं। LLVM, cmake, meson जैसी चीज़ें जुड़ने से build time लंबा हो गया है, लेकिन यह अब भी अच्छी तरह काम करता है
  • अगर कोई Linux distribution की असली प्रकृति समझना चाहता है, तो मैं हमेशा LFS की सिफारिश करता हूँ
    • मैंने भी Linux का काफ़ी ज्ञान यहीं से सीखा
      हालांकि Gentoo या Arch भी लगभग वैसा ही सीखने का अनुभव देते हैं, लेकिन install करने में बहुत कम समय लेते हैं
    • LFS की वजह से मुझे OS से ज़्यादा sed, gcc CFLAGS, bootstrapping के बारे में सीखने को मिला
  • “20 Years of Gentoo” ब्लॉग से उद्धृत एक बात साझा की गई
    बहुत से लोग कहते हैं, “Gentoo नहीं, मैं LFS करूँगा,” लेकिन ज़्यादातर लोग बीच में छोड़ देते हैं या फिर हमेशा के लिए source-based distributions से नफ़रत करने लगते हैं
    Slackware और LFS की तुलना Haskell से करते हुए कहा गया कि बहुत चरम पर जाना अलाभकारी हो सकता है
    • Haskell मुश्किल है, लेकिन Slackware और LFS सरल हैं। मुझे यह तुलना सही नहीं लगती
      LFS में documentation बहुत समृद्ध है, और Slackware भले समय से पीछे रह गया हो, लेकिन Patrick की मेहनत वाकई शानदार थी
    • मेरा भी आंशिक रूप से टूटा हुआ अनुभव रहा है। network stack अलग-अलग programs में अलग तरह से काम कर रहा था, और उसके बाद मैंने फिर कोशिश नहीं की
  • लगभग 2006 में LFS किताब का printed edition खरीदा था
    Seattle के एक PC recycling warehouse से 386/486 PC parts इकट्ठे करके मशीनें जोड़ीं और उन पर Linux install किया
    उन Frankenstein computers के साथ Linux सीखते-सीखते बड़ा हुआ
  • 25 साल से ज़्यादा समय से Linux इस्तेमाल करने के नज़रिए से, अब LFS को खुद build करना मुझे समय की बर्बादी लगता है
    RPM-आधारित सिस्टम में dnf की transaction functionality की वजह से install history और rollback मिल जाता है, इसलिए maintenance बहुत आसान हो जाती है
    • LFS सीखने के लिए एक training course है। इसका मकसद आसान होना नहीं, बल्कि OS के सबसे निचले स्तर को सामने लाना है
    • LFS की असली कीमत तैयार सिस्टम में नहीं, बल्कि समझने की प्रक्रिया में है
      अगर आप एक बार किताब के साथ चलते हुए OS बनाते हैं, तो दूसरे distributions के फ़र्क समझना आसान हो जाता है और सिस्टम के प्रति ownership की भावना बनती है
    • RPM के बिना भी ऐसी functionality बनाई जा सकती है। मैं version-controlled AppDir इस्तेमाल करता हूँ, और NixOS hashed directories और nix के ज़रिए state को सुनिश्चित करता है
    • “सिर्फ आसान रास्ता अपनाओ” जैसी सलाह के जवाब में कहा गया कि लोगों का नई चीज़ें आज़माने का उत्साह नहीं तोड़ना चाहिए
  • कई टिप्पणियों में ज़िक्र किया गया BLFS(Beyond Linux From Scratch) इस लिंक पर देखा जा सकता है
  • 2014 में Cross-Linux From Scratch बनाकर Raspberry Pi के लिए build किया था
    ARMv6 के लिए cross-compilation होने की वजह से यह बहुत कठिन था, लेकिन बहुत कुछ सीखने को मिला
    Jenkins से build automation किया, और bash scripts तथा Makefile से सिस्टम तैयार किया
    अंतिम image लगभग 40MB की थी, और वही अपने आप में गर्व की बात थी
  • glibc test chapter पढ़ते समय
    “tests को कभी skip मत करो” जैसी पंक्ति बहुत प्रभावशाली लगी
    glibc भी कुछ test failures की अनुमति देता है, इसलिए मैंने भी अपने software tests में इसी तरह की पंक्ति डाल दी
    “अगर आपने यह step तोड़ा, तो सिस्टम खराब हो सकता है” जैसी चेतावनी देखकर यह Dark Souls जैसी Linux distribution लगी
    • हाँ, बिल्कुल वैसी ही भावना आती है
  • LFS/BLFS परफ़ेक्ट नहीं हैं, लेकिन Linux के ज्ञान और अनुप्रयोग को दिखाने का बहुत अच्छा उदाहरण हैं
    kernel को दोबारा compile करते समय बहुत सारे options होने से मुश्किल होती है, लेकिन यही सीखने की प्रक्रिया Linux को आकर्षक बनाती है
    दूसरे OS, खासकर Windows में, ऐसी संस्कृति कम देखने को मिलती है
    क्या BSD के लिए भी LFS जैसा कोई वर्शन है?