कर्नेल बूट पैरामीटर "सेट acpi_osi = लिनक्स" क्या करता है?


48

मैं अपने लैपटॉप में चमक नियंत्रण के साथ एक समस्या का सामना कर रहा हूं जिसमें इंटेल एचडी ग्राफिक्स और उबंटू 10.10 64-बिट है। इसलिए जब मैंने एक फिक्स की खोज की तो मैंने पाया कि एक आम सुझाव GRUB फ़ाइल लाइन को संपादित करना है, GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"को GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux acpi_backlight=vendor"

बूट पैरामीटर के लिए प्रलेखन acpi_osiबताता है:

acpi_osi=   [HW,ACPI] Modify list of supported OS interface strings
            acpi_osi="string1"      # add string1 -- only one string
            acpi_osi="!string2"     # remove built-in string2
            acpi_osi=               # disable all strings

- http://redsymbol.net/linux_boot_parameters/

मुझे ऐसा कोई कारण नहीं मिल रहा है कि इससे लैपटॉप की कोई समस्या ठीक हो जाए

तो क्या कोई मुझे बता सकता है कि कर्नेल बूट विकल्प acpi_osi=Linuxक्या करता है?

जवाबों:


29

मुझे लगता है कि आपका मतलब है =Windows, नहीं Linux। तर्क कर्नेल को एसीपीआई BIOS से झूठ बोलने और यह बताने के लिए कहता है कि यह लिनक्स के अलावा कुछ और है (यही कारण है कि लिनक्स को मूर्खतापूर्ण बताते हैं)।

मुझे यकीन है कि उन्होंने जो लिखा है उसका मतलब है। हां, अगर विंडोज का पता नहीं है, तो BIOS आमतौर पर कार्यक्षमता को अक्षम कर देता है, लेकिन लिनक्स को निर्दिष्ट करना मूर्खतापूर्ण नहीं है क्योंकि डिफ़ॉल्ट रूप से कर्नेल जवाब देता है जब पूछा जाता है कि लिनक्स चल रहा है। acpi_osi=Linuxसही जवाब देने के लिए कर्नेल को बताता है। (देखें drivers/acpi/osl.c) ऐसा लगता है कि आपको BIOS को सच्चाई बताने की आवश्यकता है।

यह या तो ड्राइवर की समस्या है या गलत एसीपीआई कार्यान्वयन। आपको अपने dsdtOS को बाहर निकालना होगा और कोड की समीक्षा करने के लिए इसे अलग करना होगा और Linux OSI के तहत जो टूटा या अक्षम किया गया है उसकी बेहतर समझ प्राप्त करना होगा।

संदर्भ


2
यह मेरे ubuntu 14.04 संस्थापन के लिए मेरे dell vostro 3750 पर nvidia GeForce GT 525M और Intel HD ग्राफिक्स के साथ बहुत उपयोगी था।
जेसन

14

पैरामीटर "लिनक्स" को समर्थित ऑपरेटिंग सिस्टम की सूची में जोड़ता है जो कर्नेल को BIOS "अरे, क्या आप समर्थन करते हैं" पूछने पर मिलेगा। उस स्ट्रिंग को जोड़कर, बाद में, एसीपीआई का उपयोग करने वाली चीजें कहेंगी "हे, मेरे पास एक विशेषता है जिसे एसीपीआई की आवश्यकता है, और मैं लिनक्स चला रहा हूं - क्या प्लेटफॉर्म समर्थित हैं?" और वे एक सूची वापस प्राप्त करेंगे जिसमें लिनक्स शामिल होगा।

लिनक्स में इसे सेट करके, आप मूल रूप से यह देखने के लिए किसी भी चेकिंग को अक्षम कर देते हैं कि क्या BIOS कहता है कि कुछ ACPI फीचर्स कुछ ऑपरेटिंग सिस्टम के साथ काम करेंगे। और यह अक्सर उन चीजों को काम करता है जो पहले छिपे हुए थे। लेकिन यह उन सामानों को भी तोड़ सकता है जो काम करते थे, [उम्मीद] दुर्लभ मामलों में। :)


2

मुझे लगता है कि आपका मतलब है =Windows, नहीं Linux। तर्क कर्नेल को एसीपीआई BIOS से झूठ बोलने और यह बताने के लिए कहता है कि यह लिनक्स के अलावा कुछ और है (यही कारण है कि लिनक्स को मूर्खतापूर्ण बताते हैं)। कुछ BIOS को यह देखने के लिए जाना जाता है कि वे विंडोज के तहत चलाए जा रहे हैं या विंडोज के किसी विशिष्ट संस्करण को देखने के लिए, और यदि वे नहीं हैं तो कार्यक्षमता को अक्षम करें। यह पैरामीटर आपको उस मुहावरे के आसपास काम करने देता है।


यह कहता है = केवल लिनक्स। liveinjava.blogspot.com/2010/11/…
AIB

यहाँ एक और लिंक है, जो प्रशंसक मुद्दों के लिए एक ही फिक्स कहता है ... ubuntuforums.org/showthread.php?t=1398596 मुझे लगता है कि इसे कई ऐसे मुद्दों के लिए एक तय माना जाता है । php? f = 42 & t = 56323
AIB
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.