सबसे छोटा संभव लिनक्स कार्यान्वयन क्या है? [बन्द है]


21

लिनक्स ओएस के कार्यात्मक होने के लिए नंगे न्यूनतम घटक क्या हैं, और मैं लिनक्स को सीखने और सुधारने के लिए एक आधार के रूप में उपयोग कर सकता हूं और सुधार कर सकता हूं?

जवाबों:


26

अगर आपको लगता है कि स्रोत कोड को जानने के लिए लिनक्स सीखें, तो आप लिनक्स को स्क्रैच से आज़माना चाह सकते हैं



9

यदि आप सीखना चाहते हैं, तो Gentoo एक अच्छा विकल्प है - न्यूनतम Gentoo इंस्टॉलेशन एक रूट शेल और एक पैकेज मैनेजर है, और आप वहां से अपने बाकी सिस्टम का निर्माण करते हैं। जेंटू भी पैकेजों पर अपस्ट्रीम के काफी करीब रहता है, इसलिए यदि आप स्वयं कुछ पैकेजों को डाउनलोड करना और बनाना चाहते हैं, तो आप बहुत अधिक समस्याओं में नहीं चलेंगे (और वास्तव में, आप उन्हें /etc/portage/package.provided फ़ाइल में जोड़ सकते हैं स्थापित होने के बाद, और उन्हें निर्भरता के रूप में उपयोग करें!)

यदि आप पूरी तरह से संभव सबसे छोटी लिनक्स प्रणाली की तलाश कर रहे हैं, तो अपने खुद के कर्नेल का निर्माण करें, उन सभी ड्राइवरों और सुविधाओं को छीनें, जिन्हें आप उपयोग करने की योजना नहीं बना रहे हैं, और फिर एक इनफ्रेमफ्रेम जोड़ें, जिसमें एक समान रूप से छोटा निर्माण है। परिणाम एक एकल निष्पादन योग्य (जो आप अपने बूटलोडर को इंगित कर सकते हैं) में एक पूरी तरह से बूट करने योग्य लिनक्स सिस्टम है, और जिसे आप बिना कोशिश किए भी 10 एमबी से कम में फिट कर सकते हैं।


आपका आखिरी पैरा - मुझे लगता है कि शुरू करने के लिए यह एक अच्छी जगह होगी। फिर मुझे पता चल जाएगा कि वहां क्या है और क्यों है, इसे विकसित करने के लिए एक आधार के रूप में उपयोग किया जाता है।
स्लैशमाईस

10 एमबी? आप शायद इसे 1 एमबी
फल्मरी

8

Archlinux फाइलों के आधार समूह का उपयोग बहुत कम से कम स्थापित करने के लिए करता है।

एक के साथ साथ आधार-devel समूह, अपने किसी भी प्रणाली के विकास कर किया जा रहा है।


3
सही दिशा में, अभी भी बहुत सारे पैकेज शामिल हैं, लेकिन मैं उन चीजों का उपयोग कर सकता हूं जो चीजों को तोड़ने तक पैकेज देते हैं और काटते हैं।
स्लैशमाईस

आर्क इंस्टॉलेशन 2010 की तुलना में बहुत अधिक मॉड्यूलर हो गया है - मेमोरी से बोलना / एक ताजा इंस्टॉल को स्पिन किए बिना, 'पैक्स्ट्रैप' उपयोगिता आपको उन समूहों का विकल्प देती है, जिनमें से सिर्फ 'आधार' या संभवतया कुछ भी नहीं (हालांकि सभी में शामिल हैं) मुझे लगता है कि आधार में सिस्टम स्टफ शामिल है)। यदि आप एक कदम गहरा जाना चाहते हैं, लेकिन अभी भी कम से कम आमतौर पर इस्तेमाल किया जाने वाला डिस्ट्रो है, तो स्लैकवेयर शायद एक है।
djvs

आर्क इंस्टॉलेशन पहले की तुलना में बहुत कम मॉड्यूलर है क्योंकि वे केवल आधिकारिक तौर पर एम 64 आर्क, सिस्टमड-ओनली इनिट आदि का समर्थन करते हैं। हालांकि, मैं भी स्लैकवेयर की सिफारिश करूंगा।
लुकास रामेज

8

यदि आप वास्तव में लिनक्स सिस्टम के नंगे न्यूनतम चाहते हैं, तो आप राउटर जैसे एम्बेडेड सिस्टम के लिए वितरण का प्रयास कर सकते हैं। वे आम तौर पर केवल सॉफ्टवेयर का पूर्ण न्यूनतम ले जाते हैं और एक ग्राफिकल यूजर इंटरफेस की सामान्य कमी आपको कमांड लाइन से परिचित होने के लिए मजबूर करती है। एक दोष यह है, कि अक्सर वे सिस्टम नियमित लिनक्स वितरण के सम्मेलनों को तोड़ देते हैं, जैसे कि वे असामान्य स्थानों पर सॉफ़्टवेयर स्थापित करते हैं या सरलीकृत init सिस्टम का उपयोग करते हैं।

यदि आप इसे एक शॉट देना चाहते हैं, तो आप एक वर्चुअल मशीन में उदाहरण के लिए ओपनर की कोशिश कर सकते हैं


मैं संदर्भ के लिए OpenWrt का उपयोग कर सकता हूं; मुझे खुशी होगी यदि आप ऐसी अन्य साइटों को इंगित कर सकते हैं। पहले से ही वर्चुअलबॉक्स का उपयोग कर रहे हैं और इसमें OpenWrt स्थापित करने के लिए उनके पास एक नोड-गाइड है।
स्लैशमाईस

शायद एम्बेडेड डेबियन: emdebian.org
fschmitt


8

एकल निष्पादन योग्य रूटफ़ुट

पूर्ण न्यूनतम सिस्टम एक /initप्रोग्राम चलाता है जैसा कि मैंने सिंगल एप्लीकेशन लिनक्स में बताया है सुपर यूजर

मिनिमल लिनक्स लाइव

https://github.com/ivandavidov/minimal

अधिक दिलचस्प इंटरेक्टिव सिस्टम के लिए, यह एक (ज्यादातर शैक्षिक) छोटी स्क्रिप्ट है:

  • कर्नेल और बिजीबॉक्स के लिए स्रोत डाउनलोड करता है
  • उन्हें संकलित करता है
  • उनके साथ एक बूट करने योग्य 8Mb आईएसओ उत्पन्न करता है

आईएसओ तब आपको एक न्यूनतम शेल में बिजीबॉक्स के साथ छोड़ देता है।

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

https://buildroot.org/

Makefile स्क्रिप्ट का बड़ा सेट जो प्रबंधित करता है:

  • जीसीसी क्रॉस संकलन टूलचिन
  • गिरी संकलन
  • बूटलोडर संकलन
  • rootfs की पीढ़ी
  • स्रोत ट्री में पैकेज डाउनलोड / बिल्ड व्यंजनों के टन हैं, जिसमें जीटीके जैसे जटिल सामान शामिल हैं। एक निर्भरता प्रणाली है।

न्यूनतम उदाहरण:

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

पैकेज मैनेजर के साथ एंबेडेड डिस्ट्रीब्यूशन जो किसी वेबसाइट से प्री-कम्पाइल किया हुआ बायनेरी प्रदान करता है।

यह भी देखें


1
मैं अंततः एलएफएस मार्ग गया। इस पर ध्यान दें और जल्द ही इसका पता
लगाएंगे

6

ऐसा कैसे है कि किसी ने भी tomsrtbt का उल्लेख नहीं किया है ? (लिनक्स पर 1.44 "फ्लॉपी)


सही के बारे में लगता है - लिंक?
slashmais

चिंता मत करो - यह पाया
slashmais

4
इन दिनों अभी भी फ्लॉपी ड्राइव किसके पास है? ;)
पी-स्टेटिक

1
मैं अभी एक देख रहा हूँ। लेकिन मैंने केवल उन वर्षों में एक बार इसका उपयोग किया है जो मुझे पीसी में मिले हैं।
लैमक्रो

3
@ पी-स्टैटिक: मैं एक पुराने बॉक्स को प्रिंट-सर्वर के रूप में उपयोग कर रहा हूं - इसमें अभी भी 8 1/4 इंच की फ्लॉपी ड्राइव है और मैंने अभी इसे 20 वर्षीय फ्लॉपी के साथ परीक्षण किया है - आश्चर्यजनक रूप से फ्लॉपी अभी भी ठीक हैं! उन पर अनियंत्रित डेटा के साथ (छात्र दिनों से टर्बो पास्कल वी 3 कोड)।
स्लैशमाईस

4

आप Slackware linux आज़मा सकते हैं। मेनू-चालित इंस्टॉल आपको काफी न्यूनतम सिस्टम स्थापित करने की अनुमति देगा। आप आसानी से मैन पेज, X11, Tcl, Emacs को छोड़ सकते हैं और यह बहुत ही शीर्ष स्तर के इंस्टॉल से है। आप इंस्टॉल में गोता लगा सकते हैं और केवल नंगे न्यूनतम पैकेज स्थापित कर सकते हैं।

उसके बाद, मैं कर्नेल को विशेष रूप से आपके द्वारा इंस्टॉल की गई मशीन के लिए फिर से जोड़ दूँगा।

स्लैकवेयर अभी भी लीलो बूट मैनेजर को डिफॉल्ट करता है, इसलिए आप बूट सेक्टर के बारे में जानने के लिए जितना आप जानना चाहते हैं, उससे कुछ अधिक जानते हैं, कौन सा विभाजन बूट करने योग्य है, आपके initrd में क्या है, आदि आदि ग्रब-बूट डिस्ट्रोस के लिए।


3

मेरे लिए, डेमन स्मॉल लिनक्स को "सबसे छोटा संभव लिनक्स डिस्ट्रो" का नाम मिला! हालाँकि मैंने सुना है कि यह बंद है। आप इस विकी पृष्ठ पर समान वितरण (जिसे "मिनी लिनक्स" कहा जाता है) की एक सूची भी देख सकते हैं ।

यदि स्थान आपका उद्देश्य नहीं है, तो मैं गेंटू या आर्क लिनक्स का सुझाव दूंगा , वे दोनों एक आधार प्रणाली स्थापित करते हैं। आप चुनते हैं कि अपनी जरूरतों के बढ़ने के लिए पैकेजों का क्या उपयोग करें और इंस्टॉल करें।


स्थान नहीं - लिनक्स सीखना। मैंने उनमें से अधिकांश के साथ-साथ LFS पर भी ध्यान दिया है, लेकिन LFS आपको सामान बनाता / जोड़ता है, ऐसा लगता है, पर्याप्त स्पष्टीकरण नहीं।
स्लैशमाईस

3
यदि आप सीखना चाहते हैं, तो आर्कलिनक्स वास्तव में अच्छा है। आर्क विकी है एक बहुत स्पष्ट, उपयोगी जानकारी का।
स्टीफन

ऐसा लगता है जैसे मैंने आपके शॉट को
हटाने के

2

आपको क्या करने की आवश्यकता है kern.org से नवीनतम कर्नेल डाउनलोड करें, एक करें make menuconfigऔर बस विकल्पों के माध्यम से देखें, और अनुसंधान और जांच के लिए एक प्रारंभिक बिंदु के रूप में उपयोग करें। आप बहुत कुछ सीखेंगे।


"समय मेरा दुश्मन है।" - वास्तव में नहीं, लेकिन मैं आपके सुझाव पर अवश्य गौर करूंगा।
स्लैशमाइस

0

आप पिल्ला लिनक्स को देख सकते हैं । यह सबसे छोटा नहीं हो सकता है, लेकिन यह छोटा होने का एक दमन है।

हालाँकि लिनक्स डिस्टार्टोस जो छोटे होने के लिए होते हैं, आमतौर पर छोटे रहने के लिए होते हैं। लिनक्स सीखने के लिए, मैं कहीं एक जीवित डेबियन होगा। मुझे डेबियन कर्नेल स्रोत, बैश स्रोत और ग्रब स्रोत मिलेंगे, जो संकलित करते हैं और स्थापित करते हैं। फिर क्रॉस कंपाइल करें एक एडिटर, एप्ट और जीसीसी इंस्टॉल करें। फिर डेबियन लाइव से पैकेज की एक सूची तैयार करें। प्रत्येक पैकेज के लिए स्रोत स्थापित करें, संकलित करें और स्थापित करें। फिर अपनी पसंद का एक्स फिर डब्ल्यूएम जोड़ें फिर आपके पास वह आधार है जो आप करना चाहते हैं।

PS: apt-get source आपको डेबियन पैकेज के लिए स्रोत मिलता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.