जवाबों:
अगर आपको लगता है कि स्रोत कोड को जानने के लिए लिनक्स सीखें, तो आप लिनक्स को स्क्रैच से आज़माना चाह सकते हैं
यदि आप सीखना चाहते हैं, तो Gentoo एक अच्छा विकल्प है - न्यूनतम Gentoo इंस्टॉलेशन एक रूट शेल और एक पैकेज मैनेजर है, और आप वहां से अपने बाकी सिस्टम का निर्माण करते हैं। जेंटू भी पैकेजों पर अपस्ट्रीम के काफी करीब रहता है, इसलिए यदि आप स्वयं कुछ पैकेजों को डाउनलोड करना और बनाना चाहते हैं, तो आप बहुत अधिक समस्याओं में नहीं चलेंगे (और वास्तव में, आप उन्हें /etc/portage/package.provided फ़ाइल में जोड़ सकते हैं स्थापित होने के बाद, और उन्हें निर्भरता के रूप में उपयोग करें!)
यदि आप पूरी तरह से संभव सबसे छोटी लिनक्स प्रणाली की तलाश कर रहे हैं, तो अपने खुद के कर्नेल का निर्माण करें, उन सभी ड्राइवरों और सुविधाओं को छीनें, जिन्हें आप उपयोग करने की योजना नहीं बना रहे हैं, और फिर एक इनफ्रेमफ्रेम जोड़ें, जिसमें एक समान रूप से छोटा निर्माण है। परिणाम एक एकल निष्पादन योग्य (जो आप अपने बूटलोडर को इंगित कर सकते हैं) में एक पूरी तरह से बूट करने योग्य लिनक्स सिस्टम है, और जिसे आप बिना कोशिश किए भी 10 एमबी से कम में फिट कर सकते हैं।
Archlinux फाइलों के आधार समूह का उपयोग बहुत कम से कम स्थापित करने के लिए करता है।
एक के साथ साथ आधार-devel समूह, अपने किसी भी प्रणाली के विकास कर किया जा रहा है।
यदि आप वास्तव में लिनक्स सिस्टम के नंगे न्यूनतम चाहते हैं, तो आप राउटर जैसे एम्बेडेड सिस्टम के लिए वितरण का प्रयास कर सकते हैं। वे आम तौर पर केवल सॉफ्टवेयर का पूर्ण न्यूनतम ले जाते हैं और एक ग्राफिकल यूजर इंटरफेस की सामान्य कमी आपको कमांड लाइन से परिचित होने के लिए मजबूर करती है। एक दोष यह है, कि अक्सर वे सिस्टम नियमित लिनक्स वितरण के सम्मेलनों को तोड़ देते हैं, जैसे कि वे असामान्य स्थानों पर सॉफ़्टवेयर स्थापित करते हैं या सरलीकृत init सिस्टम का उपयोग करते हैं।
यदि आप इसे एक शॉट देना चाहते हैं, तो आप एक वर्चुअल मशीन में उदाहरण के लिए ओपनर की कोशिश कर सकते हैं ।
एकल निष्पादन योग्य रूटफ़ुट
पूर्ण न्यूनतम सिस्टम एक /init
प्रोग्राम चलाता है जैसा कि मैंने सिंगल एप्लीकेशन लिनक्स में बताया है सुपर यूजर
मिनिमल लिनक्स लाइव
https://github.com/ivandavidov/minimal
अधिक दिलचस्प इंटरेक्टिव सिस्टम के लिए, यह एक (ज्यादातर शैक्षिक) छोटी स्क्रिप्ट है:
आईएसओ तब आपको एक न्यूनतम शेल में बिजीबॉक्स के साथ छोड़ देता है।
QEMU से आप सिस्टम में आसानी से बूट कर सकते हैं।
मैंने इसे कर्नेल स्रोत निर्देशिका से चलाने की अनुमति देने के लिए इसे संशोधित किया है: https://github.com/cirosantilli/runlinux
उपयोग:
git clone https://github.com/ivandavidov/minimal
cd minimal/src
./build_minimal_linux_live.sh
# Wait.
# Install QEMU.
# minimal_linux_live.iso was generated
./qemu64.sh
और आप एक QEMU विंडो के अंदर नए न्यूनतम सिस्टम के साथ रह जाएंगे। बहुत बढ़िया।
चूंकि यह छोटा है, इसलिए स्रोत को पढ़ने और समझने के लिए यह एक अच्छा विकल्प है।
उबंटू 16.04 पर परीक्षण किया गया।
Buildroot
Makefile स्क्रिप्ट का बड़ा सेट जो प्रबंधित करता है:
न्यूनतम उदाहरण:
git clone git://git.buildroot.net/buildroot
cd buildroot
git checkout 2016.05
make qemu_x86_defconfig
# Can't use -jN, use `BR2_JLEVEL=2` instead.
BR2_JLEVEL=2 make
# Wait.
# cat board/qemu/x86_64/readme.txt
qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append root=/dev/vda -net nic,model=virtio -net user
# You are now in a shell with BusyBox utilities.
यह भी खरोंच से X11 के निर्माण के लिए व्यंजनों है: मेरे अपने लिनक्स बिल्डरोट सिस्टम पर X11 कैसे स्थापित करें?
कुछ बड़े उद्यमों द्वारा इस्तेमाल की जाने वाली व्यावसायिक लड़ाई का परीक्षण किया गया सामान।
अल्पाइन लिनक्स
https://github.com/gliderlabs/docker-alpine
पैकेज मैनेजर के साथ एंबेडेड डिस्ट्रीब्यूशन जो किसी वेबसाइट से प्री-कम्पाइल किया हुआ बायनेरी प्रदान करता है।
यह भी देखें
ऐसा कैसे है कि किसी ने भी tomsrtbt का उल्लेख नहीं किया है ? (लिनक्स पर 1.44 "फ्लॉपी)
आप Slackware linux आज़मा सकते हैं। मेनू-चालित इंस्टॉल आपको काफी न्यूनतम सिस्टम स्थापित करने की अनुमति देगा। आप आसानी से मैन पेज, X11, Tcl, Emacs को छोड़ सकते हैं और यह बहुत ही शीर्ष स्तर के इंस्टॉल से है। आप इंस्टॉल में गोता लगा सकते हैं और केवल नंगे न्यूनतम पैकेज स्थापित कर सकते हैं।
उसके बाद, मैं कर्नेल को विशेष रूप से आपके द्वारा इंस्टॉल की गई मशीन के लिए फिर से जोड़ दूँगा।
स्लैकवेयर अभी भी लीलो बूट मैनेजर को डिफॉल्ट करता है, इसलिए आप बूट सेक्टर के बारे में जानने के लिए जितना आप जानना चाहते हैं, उससे कुछ अधिक जानते हैं, कौन सा विभाजन बूट करने योग्य है, आपके initrd में क्या है, आदि आदि ग्रब-बूट डिस्ट्रोस के लिए।
मेरे लिए, डेमन स्मॉल लिनक्स को "सबसे छोटा संभव लिनक्स डिस्ट्रो" का नाम मिला! हालाँकि मैंने सुना है कि यह बंद है। आप इस विकी पृष्ठ पर समान वितरण (जिसे "मिनी लिनक्स" कहा जाता है) की एक सूची भी देख सकते हैं ।
यदि स्थान आपका उद्देश्य नहीं है, तो मैं गेंटू या आर्क लिनक्स का सुझाव दूंगा , वे दोनों एक आधार प्रणाली स्थापित करते हैं। आप चुनते हैं कि अपनी जरूरतों के बढ़ने के लिए पैकेजों का क्या उपयोग करें और इंस्टॉल करें।
आपको क्या करने की आवश्यकता है kern.org से नवीनतम कर्नेल डाउनलोड करें, एक करें make menuconfig
और बस विकल्पों के माध्यम से देखें, और अनुसंधान और जांच के लिए एक प्रारंभिक बिंदु के रूप में उपयोग करें। आप बहुत कुछ सीखेंगे।
आप पिल्ला लिनक्स को देख सकते हैं । यह सबसे छोटा नहीं हो सकता है, लेकिन यह छोटा होने का एक दमन है।
हालाँकि लिनक्स डिस्टार्टोस जो छोटे होने के लिए होते हैं, आमतौर पर छोटे रहने के लिए होते हैं। लिनक्स सीखने के लिए, मैं कहीं एक जीवित डेबियन होगा। मुझे डेबियन कर्नेल स्रोत, बैश स्रोत और ग्रब स्रोत मिलेंगे, जो संकलित करते हैं और स्थापित करते हैं। फिर क्रॉस कंपाइल करें एक एडिटर, एप्ट और जीसीसी इंस्टॉल करें। फिर डेबियन लाइव से पैकेज की एक सूची तैयार करें। प्रत्येक पैकेज के लिए स्रोत स्थापित करें, संकलित करें और स्थापित करें। फिर अपनी पसंद का एक्स फिर डब्ल्यूएम जोड़ें फिर आपके पास वह आधार है जो आप करना चाहते हैं।
PS: apt-get source आपको डेबियन पैकेज के लिए स्रोत मिलता है।