2011-06-06 11 views
12

मान लीजिए कि मैं लिनक्स में अपने कंप्यूटर के BIOS में एक सेटिंग बदलना चाहता हूं (मान लें कि उबंटू 11 अगर यह मायने रखता है।) आप किस प्रकार के एपीआई मौजूद हैं ताकि आप BIOS सेटिंग को क्वेरी और हेरफेर कर सकें ?पूर्वाग्रह गुणों की जांच और सेटिंग के लिए एपीआई

आगे, इस प्रकार के विकास के लिए अच्छे संसाधन क्या हैं?

उत्तर

4

flashrom लिनक्स के भीतर से एक नई BIOS छवि चमकाने के लिए उपयोगिता है।

स्वयं BIOS सेटिंग्स को संशोधित करने के लिए, आप/dev/nvram डिवाइस का उपयोग कर सकते हैं।

This page इनमें से दोनों पर अच्छी जानकारी प्रदान करता है।

ध्यान दें कि एनवीआरएएम सामग्री का अर्थ पूरी तरह से BIOS पर निर्भर करता है; यह BIOS से BIOS और एक ही BIOS के संशोधन के बीच भी भिन्न होगा। तो एकमात्र चीज जिसे आप विश्वसनीय रूप से कर सकते हैं वह एक सिस्टम पर BIOS सेटिंग्स को सहेजता है और उन्हें एक समान सिस्टम पर पुनर्स्थापित करता है।

7

सीएमओएस मेमोरी सामान्य पता स्थान के बाहर मौजूद है और सीधे निष्पादन योग्य कोड नहीं हो सकता है। यह बंदरगाह संख्या 70h (112 डी) और 71h (113 डी) पर कमांड के माध्यम से पहुंचने योग्य है। सीएमओएस बाइट पढ़ने के लिए, पोर्ट 70h पर आउट आउट को बाइट के पते के साथ निष्पादित किया गया है और पोर्ट 71h से एक आईएन अनुरोधित जानकारी पुनर्प्राप्त करेगा।

आप पढ़ सकते हैं और इन बंदरगाहों से लिखने के लिए inb और outb मैक्रो का उपयोग CMOS में संग्रहीत पूरे BIOS सेटिंग्स प्राप्त करने के लिए कर सकते हैं। संग्रहीत सेटिंग्स मेमोरी प्रारूप के लिए: http://bochs.sourceforge.net/techspec/CMOS-reference.txt

ये मैपिंग वास्तव में विक्रेता निर्भर हैं, लेकिन उनमें से अधिकतर आम होना चाहिए।

हालांकि यह एक एपीआई नहीं है, लेकिन इसके साथ आप सीएमओएस मेमोरी तक सीधे पहुंच सकते हैं और अपना स्वयं का एपीआई बना सकते हैं। एक त्वरित कार्यक्रम के लिए मैं एक एपीआई प्राप्त करने की सिफारिश करेंगे। इस मामले में @ निमो का जवाब देखें।

4

यह सब "BIOS सेटिंग" से क्या मतलब है, इस पर निर्भर करता है।

परंपरागत, पीसी/एटी, पीसी मशीन फर्मवेयर में, "BIOS सेटिंग्स" वास्तविक समय घड़ी चिप से जुड़े गैर-अस्थिर रैम में सहेजे जाते हैं। एनवीआरएएम के व्यक्तिगत बाइट्स (हालांकि कुछ आम सम्मेलन हैं) के रूप में बहुत अधिक नहीं मानकीकरण है और उनके अर्थ फर्मवेयर विक्रेता से फ़र्मवेयर विक्रेता और फर्मवेयर रिलीज से फर्मवेयर रिलीज में भिन्न होते हैं। आरटीसी एनवीआरएएम में हेरफेर करने के लिए उपकरण में लिनक्स और फ्रीबीएसडी /dev/nvram डिवाइस शामिल है।

लेकिन यह आधुनिक पीसी पर एकमात्र गैर-अस्थिर रैम नहीं है। "BIOS ROM" वास्तव में, गैर-अस्थिर रैम भी है। (कोई भी इसे सामान्य ऑपरेशन में नहीं लिख सकता है। लिखने के चक्रों को सक्षम करने के लिए किसी को जादू की घटनाएं करनी पड़ती हैं। लेकिन यह केवल पढ़ने योग्य मेमोरी नहीं है।) बाद में पीसी फर्मवेयर इस का उपयोग करते हैं (संभावित रूप से 25 एमआईबी के विपरीत 25 एमआईबी बाइट्स) सेटिंग्स भंडारण के लिए गैर अस्थिर रैम। सिस्टम प्रबंधन डेटा जैसे विस्तारित सिस्टम कॉन्फ़िगरेशन डेटा और कुख्यात डीएमआई पूल वहां संग्रहीत हैं। इन आंकड़ों में हेरफेर करने के लिए उपकरण में लिनक्स dmidecode उपयोगिता शामिल है जो /dev/mem का उपयोग करती है।

ईएफआई फर्मवेयर के साथ एक आधुनिक पीसी पर, "BIOS" एनवीआरएएम आमतौर पर ईएफआई फर्मवेयर पर्यावरण चर संग्रहीत होते हैं। इन्हें uefivars जैसे उपकरणों द्वारा छेड़छाड़ की जा सकती है, जो उनकी बारी में rely upon the /sys/firmware/efi filesystem (जो प्रभावी रूप से, हालांकि कुछ हद तक परोक्ष रूप से, अनुप्रयोग मोड में exports the kernel-mode EFI API for variables)। ईएफआई चर आधुनिक ईएफआई फर्मवेयर की "सेटिंग्स" हैं, जो ईएफआई बूट मैनेजर मेनू (सी.एफ. efibootmgr उपयोगिता) पर मौजूद चीजों की एक श्रृंखला को नियंत्रित करते हैं, जो डिवाइस सिस्टम कंसोल का गठन करते हैं।

2

मैं अपने विकि पर यह करने के लिए उपकरणों की एक सूची को क्यूरेट कोशिश कर रहा हूँ: https://wiki.xkyle.com/Configuing_BIOS_From_Linux

जबकि तकनीकी रूप से एपीआई, वे आप क्या कह रहे हैं क्या करने के लिए तरीके हैं।

वे विक्रेता विशिष्ट हैं, और सर्वर के लिए।

  • इंटेल Severs: Syscfg उपयोगिता
  • डेल PowerEdge सी सर्वर: setupbios या उनके syscfg
  • हिमाचल प्रदेश सर्वर: CONREP उपयोगिता
संबंधित मुद्दे