2012-06-05 38 views
28

मैं पागल नहीं हूं, बस पहिया को फिर से शुरू कर रहा हूं: डी
मैंने बूट लोडर, माउस & कीबोर्ड मिनी-ड्राइवर, मिनी ओएस और इसी तरह लिखा था।अपना खुद का BIOS लिखना

मैं हमेशा डॉस बीच, केवल BIOS लोगों का उपयोग कर, आगे एक एकता मिनी ओएस जाना करने की कोशिश कर से बचने के लिए कोशिश कर रहा हूँ, लेकिन अचानक मैं अपने खुद के BIOS लिखने का फैसला किया :)

लीजेंड ने कहा:
मैं उच्च स्तरीय प्रोग्रामर था, फिर निम्न स्तर वाला एक। एक दिन मैं मशीन-भाषा प्रोग्रामर बनूंगा!

क्या एक BIOS असेंबली में लिखा गया है? मैं इसे कैसे फ्लैश कर सकता हूं? तंत्र क्या है? क्या मैं अपने वर्तमान BIOS को संपादित करना शुरू कर सकता हूं?

+10

के लिए डिवाइस ड्राइवरों को लिखने का विश्वास दिया गया है। आशा है कि आप के लिए उपयोगी: http://www.coreboot.org/Welcome_to_coreboot – sarnold

+0

बहुत व्यापक रूप से बंद करने के लिए वोटिंग। –

उत्तर

20

एक BIOS असेंबली में लिखा जा सकता है लेकिन ऐसा नहीं होना चाहिए, कुछ हिस्सों को सिस्टम कॉल के लिए पैरामीटर प्राप्त करने की आवश्यकता है क्योंकि वे कम्पाइलर्स कॉलिंग सम्मेलन से मेल नहीं खाते हैं।

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

आप अपनी मां बोर्ड के लिए बायोस अपग्रेड लेने और इसे रिवर्स इंजीनियर करने की कोशिश कर सकते हैं (हालांकि संभवतया एक समझौते के माध्यम से क्लिक है जो कहता है कि आप नहीं चाहते हैं)। यदि आप इसे समझते हैं तो आप इसे लोड कर सकते हैं और हैक कर सकते हैं। मैं वहां नहीं जाऊंगा, इससे पहले कि आप इसे समझ लें, आप अपने सिस्टम को ईंट करेंगे।

वास्तव में एक बायोस लिख रहा है जो आप के बाद हैं? काफी पुराने स्कूल, मज़ा के लिए 6502 कोड लिखना पसंद करेंगे। बहुत कम स्तर की समस्याएं हैं जो अधिक उपयोगी और दिलचस्प हैं।

यदि आप लिख सकते हैं कि लेखन मशीन कोड इतना कठिन नहीं है, तो आप बस मस्ती के लिए ऐसा कर सकते हैं। x86 डरावना है, आपको अन्य सिस्टम और उनके एएसएम और मशीन कोड (और उनके लिए ऑपरेटिंग सिस्टम लिखना) सीखने में कुछ समय व्यतीत करना चाहिए। एआरएम दुनिया पर हावी है और एक बायो पर भरोसा नहीं करता है। मुझे बताया गया है कि एक गैर-x86 सिस्टम पर एक वीडियो कार्ड प्राप्त करने के लिए आपको x86 बायोस पर x86 में कुछ भी खराब करना होगा, यह पता लगा सकता है कि x86 बायोस चलाने की आवश्यकता के बिना मुख्यधारा के वीडियो कार्ड को कैसे लाया जाए। एक एमुलेटर देखें बायोस चलाएं और देखें कि यह क्या करता है, इसे समझने के लिए बायोस के बिना उस शक्ति को प्रतिस्थापित करें ... एक निर्देश सेट सिम्युलेटर या डिस्सेबलर लिखना मशीन कोड लिखने से पहले अगला कदम है, मैं भी बर्बाद नहीं करता हालांकि x86 पर दूसरी बार, मैं विकल्पों की एक सूची का सुझाव दे सकता हूं (या आप सिमुलेटर के साथ खेल सकते हैं जो मैंने लिखा है या एकत्र किया है)।

यदि कोई x86 बायोस जिस तरह से आप जाना चाहते हैं, तो आपका सबसे अच्छा तरीका क्यूमू, वर्चुअलबॉक्स या अन्य वर्चुअल मशीन के लिए बायोस पर लिखना, प्रतिस्थापित करना या हैक करना है। आपके साथ उस बायोस को प्रतिस्थापित करने से संभवत: किसी निर्देशिका में फ़ाइल को प्रतिस्थापित किया जा सकता है या एक वैकल्पिक बायो निर्दिष्ट करने के लिए कमांड लाइन विकल्प का उपयोग किया जा सकता है। एक बार जब आप उसमें अच्छी तरह अनुभवी हो जाते हैं तो यदि उन पर विरासत बायोस के साथ अभी भी मदरबोर्ड हैं तो शायद आप प्रोग्रामिंग में अपना रास्ता हैक कर सकते हैं (प्रत्येक प्रकार के मदरबोर्ड को खरीदने की ज़रूरत है क्योंकि आप कुछ ईंट करेंगे)। वहां इतने सारे एम्बेडेड सिस्टमों के साथ, जो अनुभव के समान स्तर के साथ $ 20 से $ 200 के लिए हो सकते हैं, यह सभ्य schematics और दस्तावेज़ीकरण के बिना एक पीसी मदरबोर्ड पर हैक करने के लिए समझ में नहीं आता है। आप योजनाबद्ध होने वाले योजनाबद्ध और बायोस लिस्टिंग के साथ एक मूल पीसी खोद सकते हैं, और बायोस को सॉकेट किया जा रहा है, इसलिए यदि आपका बूट नहीं होता है (और मदरबोर्ड को नष्ट नहीं करता है) यह एक ईंट नहीं है जिसे आप बायोस को पुन: प्रोग्राम या प्रतिस्थापित कर सकते हैं टुकड़ा।शायद एक नकली बायोस के रूप में खड़े होने के लिए एक माइक्रोक्रोनरोलर का उपयोग करना चाहते हैं, क्योंकि अधिक बायोस चिप्स को पुन: प्रोग्राम करने के लिए सही हार्डवेयर ढूंढना संभवतः उस मूल पीसी के काम को ढूंढना मुश्किल है ... एक अमीगा समुदाय है जो शायद बहुत अधिक मजेदार है और लीगेसी सिस्टम कॉल के पीछे आधुनिक हार्डवेयर डालने का कहना है कि आप अपने बायोस में सुधार/tweaking खुश रहें।

+7

कुछ मेनबोर्ड में दूसरी बायोस चिप होती है जिसे प्राथमिक अद्यतन को पुनर्स्थापित करने के लिए उपयोग किया जा सकता है यदि यह अद्यतन के दौरान दूषित हो जाता है। हो सकता है कि यह फीचर बहुत सारे मेनबोर्ड को ब्रिक करने से बचने में मदद करेगी :) –

+0

@ old_timer महोदय, मैं यह समझने के लिए एक BIOS लिखना चाहता हूं कि कंप्यूटर कैसे काम करता है क्योंकि मेरे पास औपचारिक कंप्यूटर पृष्ठभूमि नहीं है (फिर भी मैं सॉफ्टवेयर डेवलपर लेखन सॉफ्टवेयर हूं जावा)। कृपया सड़क मानचित्र के साथ मेरी मदद करें कि मैं कैसे समझ सकता हूं कि माइक्रोप्रोसेसर, BIOS, RAM, OS आदि अंत में कुछ कोड करने के लिए मेरे कोड को कैसे चलाते हैं; मुझे इस बिंदु से सीखना शुरू करना चाहिए; सीखने का स्रोत क्या है। मैं * उत्सुकतापूर्वक * आपके उत्तर का इंतजार कर रहा हूं। –

+1

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

0

शायद पीसी चलने के अलावा बायोस को फ्लैश करने के तरीके हैं। लेकिन इसके लिए कुछ हार्डवेयर की आवश्यकता है। यद्यपि बहुत महंगा नहीं होना चाहिए।

आप tecnique इस तरह की तरह कुछ की कोशिश कर सकते: http://hackaday.com/2010/11/18/build-your-own-soic-progamming-clip/

यह बात मैं आज देखा: https://conference.hitb.org/hitbsecconf2015ams/sessions/how-many-million-bioses-would-you-like-to-infect/

यह और अधिक विस्तार में यह बताया गया है कि आप, संक्रमण की तलाश में नहीं किया जा सकता है कुछ tecniques बायोस प्राप्त करने के लिए कवर किया गया है, जहां प्रोग्रामिंग क्लिप उनमें से एक है।

+1

कृपया इसे बेहतर उत्तर देने के लिए, अपने लिंक से विवरण जोड़ें। –

1

एफडब्ल्यूआईडब्ल्यू मॉडबिन एक डॉस प्रोग्राम है जो नाम से पता चलता है कि बीआईएन छवियों को विशेष रूप से सरल बीएनओएस कोड में काफी सरल परिवर्तनों के उद्देश्य के लिए बीआईएन छवियों को संशोधित करता है।

यदि आप एक पुराने मोबो प्राप्त कर सकते हैं (कई अभी भी काम कर रहे हैं) मैं आपको BIOS के साथ खेलने के लिए प्रोत्साहित करता हूं। यह जानकारीपूर्ण और मजेदार है, अगर कोई ऐसा इच्छुक है और आपको लगता है :) एक ऐसा समय था जब मैंने मोबाइल से BIOS छवियों को डाउनलोड किया था, जो एक अलग निर्माता द्वारा बनाए गए समान या समान पर्याप्त चिपसेट थे ... कभी-कभी काफी लाभ मूल मोबाइल निर्माता के बाद बीआईओएस अपडेट प्राप्त करने के लिए जारी रखने वाले ऐसे सरल लोग गेंद को गिरा देते हैं या पेट ऊपर जाते हैं, लेकिन विशेषताएं और प्रदर्शन उन्मुख विकल्प और बदलाव भी होते हैं।

इसने "हॉट फ्लैशिंग" का नेतृत्व किया जो एक सॉकेट बीओओएस चिप खींच रहा है ताकि पिनों ने मुश्किल से संपर्क किया हो और एक बार बूट हो जाए, उसे खींचकर एक खराब जगह (अक्सर एक जिसे मैंने फक्स किया) और इसे कैश किए गए BIOS सुविधा को नियोजित करते हुए चमकते हुए सिस्टम को सक्रिय रखा। गीक प्रेरणा के हमारे लिए उन लोगों के लिए मजेदार सामान और मुझे ओएस/2