क्या इस बात पर प्रतिबंध हैं कि आप किस प्रकार के कंप्यूटर में LiveCD का उपयोग कर सकते हैं? यदि नहीं, तो LiveCD कैसे जान सकता है और आपके सभी ड्राइवर आपके हार्डवेयर के लिए हैं, खासकर अगर यह इंटरनेट से जुड़ा नहीं है?
क्या इस बात पर प्रतिबंध हैं कि आप किस प्रकार के कंप्यूटर में LiveCD का उपयोग कर सकते हैं? यदि नहीं, तो LiveCD कैसे जान सकता है और आपके सभी ड्राइवर आपके हार्डवेयर के लिए हैं, खासकर अगर यह इंटरनेट से जुड़ा नहीं है?
जवाबों:
आप शायद इस बारे में विंडोज यूजर / इंस्टॉलर / एडमिन के नजरिए से सोच रहे हैं। लिनक्स / फ्री सॉफ्टवेयर की दुनिया में, डेवलपर्स को अक्सर अपने ड्राइवरों को लिखना या चुनना होता है। जैसे, वहाँ उन्हें (कॉपीराइट) वितरित करने पर प्रतिबंध नहीं है, और वे पहले से ही यह पता लगाने के लिए कोड लिख चुके हैं कि हार्डवेयर है या नहीं (ऊपर)।
तो, सभी ड्राइवर कर्नेल में निर्मित होते हैं (या कर्नेल में बिल्ड-सक्षम होते हैं), अक्सर मॉड्यूल के रूप में। लाइवसीडी में वे सभी मॉड्यूल शामिल होंगे जिन्हें वे संभवतः रटना कर सकते हैं, बस इसलिए कि वे विभिन्न प्रकार के हार्डवेयर का समर्थन करते हैं। OS स् थिमेड डाउन इंस्टॉलेशन कर्नेल को फिर से जोड़ने के लिए चुन सकता है जिसमें ड्राइवर / मॉड्यूल शामिल हैं जो कि इंस्टॉलेशन की जरूरत है।
यह भी यही कारण है कि आप कभी-कभी लिनक्स में ड्राइवरों के बिना हार्डवेयर पाएंगे। यदि हार्डवेयर विक्रेता ने किसी ज्ञात मानक की सदस्यता नहीं ली है, और लिनक्स के लिए ड्राइवरों को विकसित नहीं किया है, और हार्डवेयर का पता लगाना या अलोकप्रिय होना मुश्किल है, तो इसके पास ड्राइवर नहीं हो सकता है।
प्रत्येक PCI डिवाइस में एक विक्रेता ID और एक उपकरण ID दोनों होते हैं । और प्रत्येक डिवाइस ड्राइवर (कर्नेल मॉड्यूल) में समर्थित "विक्रेता आईडी: डिवाइस आईडी" जोड़े की एक सूची शामिल है यानी ओएस इन आईडी जोड़े को देखकर निर्धारित कर सकता है कि किस ड्राइवर को लोड करना है।
उदाहरण के लिए लिनक्स पर आप उस सिस्टम की आईडी देख सकते हैं जिसका आप lspci -n
आउटपुट के तीसरे कॉलम में उपयोग कर रहे हैं (एक कोलोन द्वारा अलग):
$ lspci -n | head -n 3
00:00.0 0600: 8086:7190 (rev 01)
00:01.0 0604: 8086:7191 (rev 01)
00:07.0 0601: 8086:7110 (rev 08)
यहां 0x8086
इंटेल का विक्रेता आईडी है (यह उनके 16-बिट प्रोसेसर में से एक का नाम है, जिस पर x86 आर्किटेक्चर आधारित है)।
और अगर आप एक नज़र डालते हैं
$ head -n 4 /lib/modules/<kernelversion>/modules.pcimap
# pci module vendor device subvendor subdevice class ...
shpchp 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0x00060400 ...
matroxfb_base 0x0000102b 0x00000519 0xffffffff 0xffffffff 0x00000000 ...
matroxfb_base 0x0000102b 0x0000051b 0xffffffff 0xffffffff 0x00000000 ...
आप डिवाइस ड्राइवर कर्नेल मॉड्यूल (पहला कॉलम) और समर्थित विक्रेता और डिवाइस आईडी (2 और 3 कॉलम) की तालिका देख सकते हैं।
पीसीआई आईडी रिपोजिटरी में पीसीआई डिवाइस आईडी बनाए रखी जाती है ।
एक विशिष्ट लिनक्स वितरण सबसे लोकप्रिय हार्डवेयर उपकरणों के लिए ड्राइवर प्रदान करता है। कंप्यूटर बूट प्रक्रिया के दौरान, लाइवसीडी आपके विशिष्ट हार्डवेयर कॉन्फ़िगरेशन का विश्लेषण करेगा और सभी आवश्यक हार्डवेयर ड्राइवरों को लोड करेगा। ज्यादातर मामलों में यह काफी अच्छा काम करता है, लेकिन अगर आपके पास एक दुर्लभ या बहुत पुराना हार्डवेयर डिवाइस है, तो कुछ समस्याएं हो सकती हैं।
उसी तरह एक सामान्य स्थापना करता है। यह विभिन्न मॉड्यूल द्वारा प्रदान किए गए उपनामों को देखता है, और वर्तमान हार्डवेयर के साथ उनका मिलान करता है।
$ modinfo nouveau | grep ^alias:
alias: pci:v000012D2d*sv*sd*bc03sc*i*
alias: pci:v000010DEd*sv*sd*bc03sc*i*
$ modinfo cdc-ether | grep ^alias:
alias: usb:v413Cp8184d*dc*dsc*dp*ic02isc0Aip00*
alias: usb:v413Cp8183d*dc*dsc*dp*ic02isc0Aip00*
alias: usb:v413Cp8147d*dc*dsc*dp*ic02isc0Aip00*
alias: usb:v0930p1311d*dc*dsc*dp*ic02isc0Aip00*
alias: usb:v0930p130Cd*dc*dsc*dp*ic02isc0Aip00*
alias: usb:v0930p130Bd*dc*dsc*dp*ic02isc0Aip00*
alias: usb:v0BDBp1049d*dc*dsc*dp*ic02isc0Aip00*
alias: usb:v0BDBp1909d*dc*dsc*dp*ic02isc0Aip00*
alias: usb:v0BDBp190Ad*dc*dsc*dp*ic02isc0Aip00*
alias: usb:v0BDBp1906d*dc*dsc*dp*ic02isc0Aip00*
alias: usb:v0BDBp1905d*dc*dsc*dp*ic02isc0Aip00*
alias: usb:v0BDBp1904d*dc*dsc*dp*ic02isc0Aip00*
alias: usb:v0BDBp1902d*dc*dsc*dp*ic02isc0Aip00*
alias: usb:v0BDBp1900d*dc*dsc*dp*ic02isc0Aip00*
alias: usb:v*p*d*dc*dsc*dp*ic02isc06ip00*
alias: usb:v07B4p0F02d*dc*dsc*dp*ic02isc06ip00*
alias: usb:v04DDp9050d*dc*dsc*dp*ic02isc06ip00*
alias: usb:v04DDp9032d*dc*dsc*dp*ic02isc06ip00*
alias: usb:v04DDp9031d*dc*dsc*dp*ic02isc06ip00*
alias: usb:v04DDp8007d*dc*dsc*dp*ic02isc06ip00*
alias: usb:v04DDp8006d*dc*dsc*dp*ic02isc06ip00*
alias: usb:v04DDp8005d*dc*dsc*dp*ic02isc06ip00*
alias: usb:v04DDp8004d*dc*dsc*dp*ic02isc06ip00*