लिनक्स कर्नेल में नया हार्डवेयर समर्थन कैसे जोड़ा जाता है?


19

कल्पना कीजिए कि एक कंपनी ए है जो एक नया ग्राफिक्स एडेप्टर जारी करती है। भविष्य में लिनक्स कर्नेल द्वारा समर्थित इस नए ग्राफिक्स एडाप्टर के परिणामस्वरूप होने वाली प्रक्रिया का प्रबंधन कौन करता है? वह कैसे आगे बढ़ता है? मैं उत्सुक हूं कि किसी भी नए हार्डवेयर के लिए कर्नेल समर्थन कैसे संभाला जाता है; विंडोज कंपनियों में अपने दम पर ड्राइवर विकसित करते हैं, लेकिन लिनक्स को विशिष्ट हार्डवेयर समर्थन कैसे मिलता है?

जवाबों:


26

चालक समर्थन सभी खुले स्रोत के साथ उसी तरह काम करता है: कोई अपने स्वयं के खुजली को खरोंच करने का फैसला करता है।

कभी-कभी ड्राइवर को कंपनी द्वारा हार्डवेयर प्रदान किया जाता है, जैसे कि विंडोज पर। इंटेल अपने नेटवर्क चिप्स के लिए ऐसा करता है, 3वेयर अपने RAID नियंत्रकों आदि के लिए ऐसा करता है। इन कंपनियों ने फैसला किया है कि ड्राइवर को प्रदान करना उनके हित में है: उनका "itch" लिनक्स उपयोगकर्ताओं को उत्पाद बेचना है, और इसका मतलब है कि यह सुनिश्चित करना कि एक ड्राइवर है।

सबसे अच्छे मामले में, कंपनी अपने ड्राइवर को उपयुक्त स्रोत आधार में लाने के लिए कड़ी मेहनत करती है जो लिनक्स डिस्ट्रोस के साथ जहाज करती है। अधिकांश ड्राइवरों के लिए, इसका मतलब है कि लिनक्स कर्नेल। ग्राफिक्स ड्राइवरों के लिए, इसका मतलब है X.org । वहाँ भी है कप प्रिंटर ड्राइवर, के लिए नट यूपीएस चालकों के लिए, एसऐएनई स्कैनर चालकों के लिए, आदि ऐसा करने का स्पष्ट लाभ यह है कि Linux distros बनाया के बाद चालक बॉक्स से बाहर हार्डवेयर के लिए समर्थन होगा स्वीकार कर लिया जाता है। सबसे बड़ी नकारात्मक बात यह है कि कंपनी के लिए अपने ड्राइवर को पाने के लिए ओपन सोर्स प्रोजेक्ट के साथ समन्वय करना अधिक काम है, वही बुनियादी कारणों से दो अलग-अलग समूहों के लिए कुछ भी समन्वय करना मुश्किल है।

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

एक दुर्लभ कुछ कंपनियां स्रोत कोड के बजाय बाइनरी-ओनली ड्राइवर प्रदान करती हैं। एक उदाहरण NVIDIA जैसी कंपनियों से अधिक उन्नत 3D ड्राइवर हैं। आमतौर पर इसका कारण यह है कि कंपनी उन सूचनाओं को दूर नहीं करना चाहती है जिनके बारे में वे स्वामित्व महसूस करते हैं। ऐसे ड्राइवर अक्सर पिछले मामलों के साथ कई लिनक्स डिस्ट्रो के साथ काम नहीं करते हैं, क्योंकि हार्डवेयर प्रदान करने वाली कंपनी एपीआई और एबीआई परिवर्तनों को ट्रैक करने के लिए अपने ड्राइवर को फिर से बनाने के लिए परेशान नहीं करती है। अंतिम उपयोगकर्ता या लिनक्स डिस्ट्रो प्रदाता के लिए इस तरह के परिवर्तनों को ट्रैक करने के लिए स्रोत कोड के रूप में प्रदान किए गए ड्राइवर को ट्वीक करना संभव है, इसलिए पिछले दो मामलों में, ड्राइवर को आमतौर पर बाइनरी ड्राइवर की तुलना में अधिक सिस्टम के साथ काम करने के लिए बनाया जा सकता है।

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


0

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

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