कोरबूट: Difference between revisions
From Vigyanwiki
No edit summary |
No edit summary |
||
| Line 19: | Line 19: | ||
}} | }} | ||
कोरबूट, जिसे पहले | कोरबूट, जिसे पहले लाइनेक्स बायोस (बायोस) के नाम से जाना जाता था,<ref>{{cite web | ||
|url=http://coreboot.org/pipermail/coreboot/2008-January/029135.html | |url=http://coreboot.org/pipermail/coreboot/2008-January/029135.html | ||
|title=[LinuxBIOS] Welcome to coreboot | |title=[LinuxBIOS] Welcome to coreboot | ||
|date=12 January 2008 | |date=12 January 2008 | ||
}}</ref> एक सॉफ़्टवेयर प्रोजेक्ट है जिसका उद्देश्य अधिकांश कंप्यूटरों में पाए जाने वाले | }}</ref> एक सॉफ़्टवेयर प्रोजेक्ट है जिसका उद्देश्य अधिकांश कंप्यूटरों में पाए जाने वाले [[फर्मवेयर]] ([[BIOS|बायोस]] या [[UEFI]]) को परिवर्तित करने के लिए एक हल्के फ़र्मवेयर के साथ डिज़ाइन किया जाता हैं जो आधुनिक [[32-बिट]] या [[64-बिट]] [[ऑपरेटिंग सिस्टम]] को लोड करने और चलाने के लिए आवश्यक न्यूनतम कार्य करने के लिए डिज़ाइन किया गया है। | ||
चूंकि कोरबूट नंगे हार्डवेयर को इनिशियलाइज़ करता है, इसलिए इसे | चूंकि कोरबूट नंगे हार्डवेयर को इनिशियलाइज़ करता है, इसलिए इसे सभी [[चिपसेट]] और [[मदरबोर्ड]] पर पोर्ट किया जाना चाहिए जो इसे सपोर्ट करता है। परिणामस्वरूप, कोरबूट केवल सीमित संख्या में हार्डवेयर प्लेटफॉर्म और मदरबोर्ड मॉडल के लिए उपलब्ध है। | ||
कोरबूट वेरिएंट में से एक [[ लिब्रेबूट ]] है, | कोरबूट वेरिएंट में से एक [[ लिब्रेबूट ]]होती है, इस प्रकार सॉफ्टवेयर वितरण पूर्ण रूप से [[बाइनरी ब्लॉब]] से मुक्त है, जिसका लक्ष्य अंतिम उपयोगकर्ताओं के लिए किया जाता हैं।<ref name="libreboot.org"/> | ||
== इतिहास == | == इतिहास == | ||
कोरबूट परियोजना 1999 की सर्दियों में [[लॉस अलामोस नेशनल लेबोरेटरी]] (LANL) में उन्नत कंप्यूटिंग प्रयोगशाला में | कोरबूट परियोजना 1999 की सर्दियों में [[लॉस अलामोस नेशनल लेबोरेटरी]] (LANL) में उन्नत कंप्यूटिंग प्रयोगशाला में प्रारंभ हुई थी।<ref>coreboot FAQ: [http://www.coreboot.org/FAQ#Who_is_working_on_coreboot.3F Who is working on coreboot?]</ref> | ||
[[Google समर ऑफ़ कोड]] के लिए लगातार सात वर्षों (2007-2014) में कोरबूट को स्वीकार किया गया था।<ref>{{cite web|url=https://www.coreboot.org/जीएसओसी|title=जीएसओसी|publisher=coreboot.org |access-date=1 February 2014}}</ref><ref>{{cite web|url=https://www.coreboot.org/Previous_GSoC_Projects |title=पिछली जीएसओसी परियोजनाएं|publisher=coreboot.org |access-date=1 February 2014}}</ref> पहले तीन मॉडलों के | बायोस (बायोस) बनाने के लक्ष्य के साथ जो तेजी से प्रारंभ होगा और त्रुटियों को बुद्धिमानी से संभालेगा।<ref>Anton Borisov: ''[http://www.h-online.com/open/features/The-Open-Source-BIOS-is-Ten-An-interview-with-the-coreboot-developers-746525.html?view=print The Open Source BIOS is Ten. An interview with the coreboot developers] {{Webarchive|url=https://web.archive.org/web/20120916212555/http://www.h-online.com/open/features/The-Open-Source-BIOS-is-Ten-An-interview-with-the-coreboot-developers-746525.html?view=print |date=16 September 2012 }}''. [[The H]], 2009.</ref> यह [[जीएनयू जनरल पब्लिक लाइसेंस]] वर्जन 2 (जीपीएल वाॅल्यूम2) की शर्तों के अनुसार लाइसेंस प्राप्त करता हैं। मुख्य योगदानकर्ताओं में लॉस अलामोस नेशनल लेबोरेटरी, [[ सिलिकॉन एकीकृत प्रणाली | सिलिकॉन एकीकृत प्रणाली]] , [[उन्नत लघु उपकरण]], [[कोरसिस्टम]] और लिनक्स नेटवर्क्स, इंक, साथ ही मदरबोर्ड विक्रेता [[माइक्रो-स्टार इंटरनेशनल]], [[ गीगाबाइट प्रौद्योगिकी | गीगाबाइट प्रौद्योगिकी]] और टायन सम्मिलित हैं, जो अपने मानक बायोस के साथ कोरबूट को प्रस्तुत करते हैं या इसको विनिर्देश प्रदान करते हैं। उनके कुछ मदरबोर्ड के लिए हार्डवेयर इंटरफेस या [[Google|गूगल]] कोरबूट प्रोजेक्ट को आंशिक रूप से प्रायोजित करता है।<ref>{{Cite web|url=http://google-code-updates.blogspot.com/2006/11/google-sponsors-linuxbios-project.html|title=Google Sponsors the LinuxBIOS project}}</ref> [[सीएमई समूह]], बीलीव एक्सचेंजों के समूह, ने 2009 में कोरबूट परियोजना का समर्थन करना प्रारंभ किया।<ref>{{cite web|url=http://www.wallstreetandtech.com/it-infrastructure/showArticle.jhtml?articleID=217400294|title=सीएमई समूह कोरबूट और अन्य लिनक्स ओपन सोर्स परियोजनाओं में गोता लगाता है|work=Wall Street & Technology|access-date=23 September 2015|archive-url=https://web.archive.org/web/20100812092429/http://www.wallstreetandtech.com/it-infrastructure/showArticle.jhtml?articleID=217400294|archive-date=12 August 2010|url-status=dead}}</ref> | ||
जून 2019 में, कोरबूट ने फ़र्मवेयर पर अपने [[रिवर्स इंजीनियरिंग]] प्रयासों के लिए [[एनएसए]] सॉफ्टवेयर घिद्रा का उपयोग करना | |||
[[Google समर ऑफ़ कोड|गूगल समर ऑफ़ कोड]] के लिए लगातार सात वर्षों (2007-2014) में कोरबूट को स्वीकार किया गया था।<ref>{{cite web|url=https://www.coreboot.org/जीएसओसी|title=जीएसओसी|publisher=coreboot.org |access-date=1 February 2014}}</ref><ref>{{cite web|url=https://www.coreboot.org/Previous_GSoC_Projects |title=पिछली जीएसओसी परियोजनाएं|publisher=coreboot.org |access-date=1 February 2014}}</ref> पहले तीन मॉडलों के अतिरिक्त, सभी [[ Chrome बुक | क्रोम बुक]] कोरबूट पर चलते हैं।<ref>{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=MTA5MDk |title=कई FSF प्राथमिकता वाली परियोजनाएँ अभी भी प्रगति नहीं कर रही हैं|date=22 April 2012|access-date=29 December 2014|quote=''The success out of Coreboot recently is Google providing Sandy/Ivy Bridge support for Coreboot. Google's planning to begin shipping new Intel "Chromebooks" that will use Coreboot. Google likes Coreboot for the faster start-up time, among other benefits.''|first=Michael |last=Larabel |author-link=Michael Larabel |publisher=[[Phoronix]]}}</ref><ref>{{cite web |url=http://www.coreboot.org/क्रोमबुक|title=क्रोमबुक|publisher=coreboot |date=16 January 2014 |access-date=17 February 2014 |archive-url=https://web.archive.org/web/20160508225442/https://www.coreboot.org/क्रोमबुक|archive-date=8 May 2016 |url-status=dead }}</ref> [[ एआरएम वास्तुकला | एआरएम संरचना]] के आधार पर प्रोसेसर के लिए समर्थन को सक्षम करने के लिए [[पनडुब्बी]] से कोड को आत्मसात किया गया है।<ref>{{cite web|url=http://blogs.coreboot.org/blog/2011/06/05/gsoc2011week-1-analysis-of-u-boot-arm-boot-code/ |title=GSoC2011(Week 1): Analysis of U-boot ARM boot code | coreboot developer blogs|access-date=12 April 2014}}</ref> | |||
जून 2019 में, कोरबूट ने फ़र्मवेयर पर अपने [[रिवर्स इंजीनियरिंग]] प्रयासों के लिए [[एनएसए]] सॉफ्टवेयर घिद्रा का उपयोग करना प्रारंभ किया था। [[मुक्त और खुला स्रोत सॉफ्टवेयर]] के रूप में सुइट की रिलीज़ के बाद फ़र्मवेयर-विशिष्ट समस्याएं उत्पन्न हो गई थी।<ref>{{Cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Ghidra-Coreboot-NSA-RE|title=Coreboot Project फर्मवेयर रिवर्स इंजीनियरिंग - Phoronix के साथ मदद करने के लिए NSA सॉफ़्टवेयर का लाभ उठा रहा है|website=www.phoronix.com}}</ref> | |||
== समर्थित प्लेटफॉर्म == | == समर्थित प्लेटफॉर्म == | ||
कोरबूट द्वारा समर्थित [[एमआईपीएस आर्किटेक्चर]] में [[IA-32]], [[x86-64]], | कोरबूट द्वारा समर्थित [[एमआईपीएस आर्किटेक्चर|एमआईपीएस संरचना]] में [[IA-32]], [[x86-64]], आर्म संरचना, [[ARM64|आर्म64]], एमआईपीएस संरचना और [[RISC-V|रिस्क-V]] सम्मिलित हैं। समर्थित [[सिस्टम- on- एक चिप|सिस्टम- आन- एक चिप]] (एसओसी) प्लेटफॉर्म में एएमडी जिओड (प्रोसेसर) सम्मिलित है, जो प्रति व्यक्ति एक लैपटॉप के लिए विकसित जिओड जीएक्स प्रोसेसर से प्रारंभ होता है। आर्टेक समूह ने अपने [[ThinCan|थिन कैन]] मॉडल डीबीई61 के लिए जिओड एलएक्स सपोर्ट जोड़ा; उस कोड को एएमडी द्वारा अपनाया गया था और जिओड एलएक्स प्लेटफॉर्म पर अपग्रेड किए जाने के बाद ओएलपीसी के लिए और सुधार किया गया था, और अन्य जिओड वेरिएंट का समर्थन करने के लिए कोरबूट समुदाय द्वारा इसे और विकसित किया गया है। कोरबूट को [[Flashrom|फ्लैशरोम]] का उपयोग करके जिओड प्लेटफॉर्म पर फ्लैश किया जा सकता है। | ||
एएमडी जिओड आधारित प्लेटफॉर्म पर प्रारंभिक विकास से कई एएमडी प्रोसेसर और चिपसेट पर कोरबूट समर्थन बढ़ाया गया है। प्रोसेसर सूची में समहू 0Fh और 10h ([[AMD K8|एएमडी K8]] कोर), और वर्तमान में समहू 14h ([[ बनबिलाव (प्रोसेसर) ]] कोर, एएमडी त्वरित प्रसंस्करण इकाई) सम्मिलित किया गया हैं। कोरबूट समर्थन एएमडी चिपसेट तक भी विस्तारित है: एएमडी 690 चिपसेट श्रृंखला, एएमडी 700 चिपसेट श्रृंखला, एएमडी 580 चिपसेट श्रृंखला, और SB8xx निर्धारित की गई हैं। | |||
एएमडी | एएमडी जेनेरिक एनकैप्सुलेटेड सॉफ्टवेयर संरचना ([[AGESA|एजीईएसए]]){{mdashb}}इस प्रकार [[बूटस्ट्रैपिंग]] प्रोटोकॉल जिसके द्वारा एएमडी64 मेनबोर्ड पर सिस्टम डिवाइस को इनिशियलाइज़ किया जाता है{{mdashb}}एएमडी64 हार्डवेयर पर कोरबूट सिस्टम इनिशियलाइज़ेशन के लिए आवश्यक कार्यक्षमता प्रदान करने के उद्देश्य से 2011 की प्रारंभ में ओपन सोर्स किया गया था।<ref>{{cite web | title = एएमडी के कोरबूट स्रोत कोड रिलीज पर तकनीकी विवरण| url = http://community.amd.com/community/amd-blogs/business/embedded-systems/blog/2011/02/28/technical-details-on-amd-s-coreboot-source-code-release |publisher =[[Advanced Micro Devices|AMD]] |date=28 February 2011 | archive-url=https://web.archive.org/web/20140325040416/http://community.amd.com/community/amd-blogs/amd-business/blog/2011/02/28/technical-details-on-amd-s-coreboot-source-code-release | archive-date=25 March 2014 | access-date=1 February 2016 | url-status=dead }}</ref> चूंकि, इसी प्रकार की रिलीज कभी भी एएमडी द्वारा भविष्य के विकास का आधार नहीं बन पाई और बाद में इसे रोक दिया गया था।<ref>{{cite web|url=https://mail.coreboot.org/pipermail/coreboot/2014-November/078892.html |title=एएमडी की बाइनरी-ओनली एजीईएसए लाइब्रेरी| first=Bruce |last=Griffith |date=2014-11-05 |access-date=2017-05-08 }}</ref> | ||
डिवाइस जिन्हें कोरबूट या इसके डेरिवेटिव में से एक के साथ प्रीलोड किया जा सकता है उनमें सम्मिलित हैं | |||
डिवाइस जिन्हें कोरबूट या इसके डेरिवेटिव में से एक के साथ प्रीलोड किया जा सकता है उनमें | * कुछ x86-आधारित क्रोम बुक,<ref>{{Cite web|url=https://www.coreboot.org/Supported_Motherboards|title=समर्थित मदरबोर्ड - कोरबूट|website=www.coreboot.org|language=en|access-date=2017-04-03}}</ref><ref>{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=MTA5MDk|title=कई FSF प्राथमिकता वाली परियोजनाएँ अभी भी प्रगति नहीं कर रही हैं|publisher=Phoronix|date=22 April 2012|access-date=22 September 2015}}</ref> | ||
* कुछ x86-आधारित | * लिब्रे T440p और X230 (क्रमशः रीब्रांडेड थिंकपैड टी440p और X230, मिनीफ्री से उपलब्ध है, जिसे पहले ग्लूग्लग के नाम से जाना जाता था),<ref>{{cite web|url=http://minifree.org/|title=मिनीफ्री|access-date=24 September 2015}}</ref><ref>{{cite web|url=https://www.fsf.org/resources/hw/endorsement/gluglug|title=द ग्लूगलग|work=fsf.org|access-date=23 September 2015|archive-url=https://web.archive.org/web/20150923124716/https://www.fsf.org/resources/hw/endorsement/gluglug|archive-date=23 September 2015|url-status=dead}}</ref>, | ||
* लिब्रे T440p और X230 (क्रमशः रीब्रांडेड थिंकपैड | * प्रति व्यक्ति एक लैपटॉप पहल से [[ओएलपीसी एक्सओ]], | ||
* प्रति | * थिन कैन मॉडल डीबीई61, डीबीई62 और डीबीई63, और [[पीसी इंजन]] द्वारा निर्मित फैनलेस सर्वर/राउटर हार्डवेयर।<ref>{{cite web|url=https://github.com/pcengines/coreboot|title=pcengines/coreboot|access-date=16 September 2019}}</ref> * सभी प्योरिज्म (कंपनी) [[ कामचलाऊ | कार्यचलाऊ]] लैपटॉप कोरबूट के साथ आते हैं।<ref>{{cite web |title=Purism Librem उपकरणों पर coreboot फर्मवेयर|url=https://puri.sm/coreboot/ |access-date=19 June 2020}}</ref> <ref>{{cite web |title=Purism Laptops To Use ‘Heads’ Firmware To Protect Against Rootkits, Tampering (Updated) |url=https://www.tomshardware.com/news/purism-heads-rootkit-tampering-protection,34128.html |access-date=19 June 2020}}</ref> | ||
* | * कुछ [[System76|सिस्टम76]] पीसी कोरबूट टिआनो कोर फर्मवेयर का उपयोग करते हैं, जिसमें ओपन सोर्स [[एम्बेडेड नियंत्रक]] फर्मवेयर सम्मिलित है। | ||
* कुछ [[System76]] पीसी कोरबूट | * स्टारलैब्स सिस्टम को वैकल्पिक रूप में कोरबूट फर्मवेयर का उपयोग करता है।<ref>[https://fossbytes.com/starbook-mk-v-from-star-labs-review/ Starbook mk v review] - fossbytes </ref> | ||
* स्टारलैब्स सिस्टम | |||
== डिजाइन == | == डिजाइन == | ||
कोरबूट | कोरबूट सामान्यतः [[लिनक्स कर्नेल]] को लोड करता है, किन्तु यह किसी भी अन्य [[स्टैंडअलोन कार्यक्रम]] को लोड कर सकता है। स्टैंड-अलोन [[निष्पादन योग्य और लिंक करने योग्य प्रारूप]] निष्पादन योग्य, जैसे कि [[iPXE]], [[gPXE]] या एथरबूट जो लिनक्स कर्नेल [[ संजाल बूट ]], या [[SeaBIOS|सी बायोस (बायोस)]] को बूट कर सकता है।<ref>[http://www.coreboot.org/SeaBIOS SeaBIOS] (previously known as LegacyBIOS) is an open-source legacy BIOS implementation</ref> जो एक लिनक्स कर्नेल, [[विंडोज 2000]] और बाद में, और बीएसडी लोड कर सकता है; विंडोज 2000/[[Windows XP|विंडोज XP]] और [[OpenBSD|ओपेन बीएसडी]] समर्थन पहले एडीएलओ द्वारा प्रदान किया गया था।<ref>{{Cite web|url=http://www.coreboot.org/ADLO|archiveurl=https://web.archive.org/web/20101125130605/http://www.coreboot.org/ADLO|url-status=dead|title=कोरबूट ऐड-ऑन लेयर (ADLO)|archivedate=25 November 2010}}</ref><ref>[http://www.missl.cs.umd.edu/sebos_phase2.html SEBOS, Security Enhanced Bootloader for Operating Systems, Phase 2 ] {{webarchive |url=https://web.archive.org/web/20070619101948/http://www.missl.cs.umd.edu/sebos_phase2.html |date=19 June 2007 }}, adding PC BIOS Services to coreboot via Bochs BIOS (Link noted to be defunct on 18 July 2008. See )</ref> कोरबूट किसी भी समर्थित डिवाइस से कर्नेल को लोड कर सकता है, जैसे माइरिनेट, क्वाड्रिक्स, या एससीआई [[कंप्यूटर क्लस्टर]] इंटरकनेक्ट इत्यादि। इस प्रकार अन्य [[कर्नेल (कंप्यूटर विज्ञान)]] को सीधे बूट करना भी संभव है, जैसे बेल लैब्स कर्नेल से प्लान 9 इत्यादि। कर्नेल को सीधे लोड करने के अतिरिक्त, कोरबूट एक समर्पित बूट लोडर को नियंत्रण दे सकता है, जैसे [[GNU GRUB|जीएनयू ग्रब]] 2 का कोरबूट-सक्षम संस्करण इत्यादि। | ||
कोरबूट मुख्य रूप से सी (प्रोग्रामिंग लैंग्वेज) में लिखा जाता है, जिसमें कम मात्रा में [[विधानसभा कोड]] होता है। सी को प्राथमिक [[सी (प्रोग्रामिंग भाषा)]] रूप में चुनना समकालीन पीसी बायोस की तुलना में सरल [[कोड ऑडिट]] सक्षम करता है जो सामान्यतः असेंबली में लिखा जाता था,<ref>[https://phoenixts.com/blog/uefi-vs-legacy-bios/ Comparison of UEFI and legacy BIOS], pronouncing that same advantage for UEFI</ref> जिसके परिणामस्वरूप बेहतर सुरक्षा होती है। एडीए (प्रोग्रामिंग लैंग्वेज) में कोरबूट के भोग को लिखने के लिए बिल्ड और रनटाइम सपोर्ट करता है<ref>[https://review.coreboot.org/cgit/coreboot.git/commit/src/lib/gnat?id=e0ed9025cf7453212e5e5a845e34e0b7ecfa3eb9 commit] adding that support</ref> सुरक्षा पट्टी को और बढ़ाने के लिए, किन्तु वर्तमान में इसका उपयोग केवल छिटपुट रूप से किया जाता है। स्रोत कोड [[जीपीएल संस्करण 2]] लाइसेंस के अनुसार जारी किया गया है। | |||
कोरबूट हार्डवेयर इनिशियलाइज़ेशन की पूर्ण न्यूनतम मात्रा को निष्पादित करता है और फिर ऑपरेटिंग सिस्टम को नियंत्रण पास करता है। परिणामस्वरूप, ऑपरेटिंग सिस्टम के नियंत्रण में आने के बाद कोई कोरबूट कोड नहीं चल रहा है। कोरबूट की एक विशेषता यह है कि [[x86 आर्किटेक्चर|x86 संरचना]] संस्करण केवल दस निर्देशों को निष्पादित करने के बाद 32-बिट मोड में चलता है<ref>{{Cite web |url=http://lxr.linux.no/coreboot-v3+r777/arch/x86/geodelx/stage0.S |title=coreboot v3 early startup code |access-date=17 August 2008 |archive-url=https://archive.today/20120710041412/http://lxr.linux.no/coreboot-v3+r777/arch/x86/geodelx/stage0.S |archive-date=10 July 2012 |url-status=dead }}</ref> (लगभग सभी अन्य x86 बायोस विशेष रूप से [[16-बिट]] मोड में चलते हैं)। यह आधुनिक यूईएफआई फर्मवेयर के समान है, जिसका उपयोग नए पीसी हार्डवेयर पर किया जाता है। | |||
अपने आप में, कोरबूट [[BIOS इंटरप्ट कॉल]] सेवाएं प्रदान नहीं करता है। | अपने आप में, कोरबूट [[BIOS इंटरप्ट कॉल|बायोस इंटरप्ट कॉल]] सेवाएं प्रदान नहीं करता है। सीबायोस [[पेलोड (कंप्यूटिंग)]] का उपयोग बायोस कॉल प्रदान करने के लिए किया जा सकता है और इस प्रकार कोरबूट को उन ऑपरेटिंग सिस्टम को लोड करने की अनुमति देता है जिनके लिए विंडोज 2000/XP/Vista/7 और बीएसडी जैसी सेवाओं की आवश्यकता होती है। चूंकि यह अधिकांशतः आधुनिक ऑपरेटिंग सिस्टम हार्डवेयर को दूसरी विधियों से एक्सेस करते हैं और बायोस कॉल का उपयोग केवल आरंभिक आरंभ के समय और फ़ॉलबैक तंत्र के रूप में करते हैं। | ||
=== कोरबूट चरण === | === कोरबूट चरण === | ||
# बूटब्लॉक चरण: फ्लैश एक्सेस प्राप्त करने के लिए तैयार करें और उपयोग करने के लिए रोम चरण देखें | # बूटब्लॉक चरण: फ्लैश एक्सेस प्राप्त करने के लिए तैयार करें और उपयोग करने के लिए रोम चरण देखें | ||
# | # रोम स्टेज: मेमोरी और अर्ली चिपसेट इनिट (UEFI में PEI जैसा थोड़ा सा) | ||
# रैम स्टेज: सीपीयू, चिपसेट और मेनबोर्ड इनिट, पीसीआई रिसोर्स असाइनमेंट, एसीपीआई और एसएमबीआईओएस टेबल क्रिएशन, एसएमएम हैंडलर (यूईएफआई में डीएक्सई स्टेज जैसा थोड़ा सा) | # रैम स्टेज: सीपीयू, चिपसेट और मेनबोर्ड इनिट, पीसीआई रिसोर्स असाइनमेंट, एसीपीआई और एसएमबीआईओएस टेबल क्रिएशन, एसएमएम हैंडलर (यूईएफआई में डीएक्सई स्टेज जैसा थोड़ा सा) | ||
# पेलोड। | # पेलोड। | ||
=== डीआरएएम | === डीआरएएम प्रारंभ करना === | ||
सबसे कठिन हार्डवेयर जो कोरबूट आरंभ करता है वह है [[मेमोरी कंट्रोलर]] और [[डायनेमिक रैंडम-एक्सेस मेमोरी]]। कुछ मामलों में, इस विषय पर तकनीकी दस्तावेज गैर-प्रकटीकरण समझौता प्रतिबंधित या अनुपलब्ध है। | सबसे कठिन हार्डवेयर जो कोरबूट आरंभ करता है वह है [[मेमोरी कंट्रोलर]] और [[डायनेमिक रैंडम-एक्सेस मेमोरी]]। कुछ मामलों में, इस विषय पर तकनीकी दस्तावेज गैर-प्रकटीकरण समझौता प्रतिबंधित या अनुपलब्ध है। रैम आरंभीकरण विशेष रूप से कठिन है क्योंकि रैम प्रारंभ होने से पहले इसका उपयोग नहीं किया जा सकता है। इसलिए, डीरैम नियंत्रकों और डीरैम को इनिशियलाइज़ करने के लिए, इनिशियलाइज़ेशन कोड में केवल सीपीयू का [[प्रोसेसर रजिस्टर]] या अस्थायी स्टोरेज के रूप में कैश को रैम के रूप में प्रयोग किया जा सकता है। | ||
रोमसीसी, एक सी (प्रोग्रामिंग लैंग्वेज) [[ संकलक ]] जो रैम के अतिरिक्त रजिस्टरों का उपयोग करता है, कार्य को सरल बनाता है। रोमसीसी का उपयोग करना, डीरैम [[DIMM|डीआईएमएम]] के [[ सीरियल उपस्थिति का पता लगाने ]] रोम तक [[ सिस्टम प्रबंधन बस ]] को एक्सेस करना अपेक्षाकृत आसान है, जो रैम का उपयोग करने की अनुमति देता है। | |||
नए x86 प्रोसेसर के साथ, प्रोसेसर कैश का उपयोग | नए x86 प्रोसेसर के साथ, प्रोसेसर कैश का उपयोग रैम के रूप में तब तक किया जा सकता है जब तक डीरैम प्रारंभ नहीं हो जाता। प्रोसेसर कैश को कैश को रैम के रूप में इनिशियलाइज़ करना होगा,<ref>{{cite web |url=http://rere.qmqm.pl/~mirq/cache_as_ram_lb_09142006.pdf |title=CAR: Using Cache as RAM in Linux BIOS |date=15 January 2009 |access-date=25 February 2014 |author1=Yinghai Lu |author2=Li-Ta Lo |author3=Gregory R. Watson |author4=Ronald G. Minnich |publisher=qmqm.pl |format=PDF |archive-url=https://web.archive.org/web/20160303223305/http://rere.qmqm.pl/~mirq/cache_as_ram_lb_09142006.pdf |archive-date=3 March 2016 |url-status=dead }}</ref><ref>{{Cite web|url=http://www.coreboot.org/images/6/6c/LBCar.pdf|title=A Framework for Using Processor Cache as RAM (CAR)}}</ref> किन्तु इसके लिए डीरैम को इनिशियलाइज़ करने की तुलना में कम निर्देशों की आवश्यकता होती है। साथ ही कैश को रैम के रूप में मोड इनिशियलाइज़ेशन सीपीयू संरचना के लिए विशिष्ट है, इस प्रकार डीरैम इनिशियलाइज़ेशन की तुलना में अधिक सामान्य है, जो प्रत्येक चिपसेट और मेनबोर्ड के लिए विशिष्ट है। | ||
अधिकांश आधुनिक x86 प्लेटफार्मों के लिए, विक्रेता द्वारा प्रदान किए गए बंद स्रोत बाइनरी-ओनली घटकों का उपयोग | अधिकांश आधुनिक x86 प्लेटफार्मों के लिए, विक्रेता द्वारा प्रदान किए गए बंद स्रोत बाइनरी-ओनली घटकों का उपयोग डीरैम सेटअप के लिए किया जाता है। इंटेल सिस्टम के लिए, एफएसपी-एम आवश्यक है,<ref>{{Cite web|url=https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1124559-the-mission-of-coreboot-is-it-about-open-source-or-appeasing-hardware-vendors|title=The Mission Of Coreboot - Is It About Open-Source Or Appeasing Hardware Vendors?|website=Phoronix Forums|language=en|access-date=2019-09-08}}</ref> जबकि एएमडी के पास कोई सम्मिलिता समर्थन नहीं है। बाइनरी एजीईएसए वर्तमान में एएमडी सिस्टम पर मालिकाना यूईएफआई फर्मवेयर के लिए उपयोग किया जाता है, और इस मॉडल से भविष्य में एएमडी से संबंधित कोरबूट समर्थन को जारी रखने की उम्मीद है।<ref>{{cite web|url=https://mail.coreboot.org/pipermail/coreboot/2014-November/078892.html|title=[coreboot] AMD's binary-only AGESA libraries|last=Griffith|first=Bruce|date=5 November 2014|access-date=2019-09-08}}</ref> | ||
== कोरबूट का विकास और डिबगिंग == | == कोरबूट का विकास और डिबगिंग == | ||
[[File:Hacking Coreboot.jpg|thumb|डेनवर 2008 शिखर सम्मेलन में कोरबूट को हैक करना।]]चूंकि कोरबूट को नंगे हार्डवेयर को इनिशियलाइज़ करना चाहिए, इसे हर चिपसेट और मदरबोर्ड पर पोर्ट किया जाना चाहिए जो इसे सपोर्ट करता है। [[ रैंडम एक्सेस मेमोरी ]] को इनिशियलाइज़ करने से पहले, कोरबूट [[ आनुक्रमिक द्वार ]] (केवल कैश और रजिस्टरों को संबोधित करते हुए) को इनिशियलाइज़ करता है, इसलिए यह कनेक्टेड [[कंप्यूटर टर्मिनल]] पर डिबग टेक्स्ट भेज सकता है। यह 0x80 को पोर्ट करने के लिए बाइट कोड भी भेज सकता है जो कि कनेक्टेड [[पोस्ट कार्ड]] के दो-हेक्स-अंकीय डिस्प्ले पर प्रदर्शित होते हैं। | [[File:Hacking Coreboot.jpg|thumb|डेनवर 2008 शिखर सम्मेलन में कोरबूट को हैक करना।]]चूंकि कोरबूट को नंगे हार्डवेयर को इनिशियलाइज़ करना चाहिए, इसे हर चिपसेट और मदरबोर्ड पर पोर्ट किया जाना चाहिए जो इसे सपोर्ट करता है। [[ रैंडम एक्सेस मेमोरी ]] को इनिशियलाइज़ करने से पहले, कोरबूट [[ आनुक्रमिक द्वार ]] (केवल कैश और रजिस्टरों को संबोधित करते हुए) को इनिशियलाइज़ करता है, इसलिए यह कनेक्टेड [[कंप्यूटर टर्मिनल]] पर डिबग टेक्स्ट भेज सकता है। यह 0x80 को पोर्ट करने के लिए बाइट कोड भी भेज सकता है जो कि कनेक्टेड [[पोस्ट कार्ड]] के दो-हेक्स-अंकीय डिस्प्ले पर प्रदर्शित होते हैं। | ||
यह अन्य पोर्टिंग सहायता www.ioss.com.tw से वाणिज्यिक आरडी1 बायोस उद्धारकर्ता उत्पाद था, (www.iad.gov/ioss/ पर यूएस इंटरएजेंसी ओपीसेक सपोर्ट स्टाफ के साथ भ्रमित नहीं होना चाहिए) जो दो बूट मेमोरी उपकरणों का एक संयोजन था जो कि बूट मेमोरी सॉकेट में प्लग करता है और दो उपकरणों के बीच चयन करने के लिए मैन्युअल स्विच होता है। कंप्यूटर एक डिवाइस से बूट हो सकता है, और फिर कंप्यूटर को दूसरे डिवाइस को रीप्रोग्राम या फ्लैश करने की अनुमति देने के लिए स्विच को टॉगल किया जा सकता है। एक अधिक महंगा विकल्प बाहरी [[EEPROM|ईईपीरोम]]/नोर फ़्लैश प्रोग्रामर है। | |||
ऐसे सीपीयू एमुलेटर भी हैं जो या तो [[सेंट्रल प्रोसेसिंग यूनिट]] को बदल देते हैं या सेज स्मार्टप्रोब के साथ [[JTAG]] पोर्ट के माध्यम से जुड़ जाते हैं।<ref>{{Cite web|url=http://www.se-eng.com/|archiveurl=https://web.archive.org/web/20110315080000/http://www.se-eng.com/|url-status=usurped|title=हड़प ली उपाधि|archivedate=15 March 2011|website=www.se-eng.com}}</ref><ref>{{cite web | url=http://www.loper-os.org/?p=1887 | title=सेज स्मार्टप्रोब एफएक्यू| publisher=S.Datskovskiy | access-date=30 April 2021}}</ref> एक उदाहरण होने के नाते। कोड को | ऐसे सीपीयू एमुलेटर भी हैं जो या तो [[सेंट्रल प्रोसेसिंग यूनिट]] को बदल देते हैं या सेज स्मार्टप्रोब के साथ [[JTAG]] पोर्ट के माध्यम से जुड़ जाते हैं।<ref>{{Cite web|url=http://www.se-eng.com/|archiveurl=https://web.archive.org/web/20110315080000/http://www.se-eng.com/|url-status=usurped|title=हड़प ली उपाधि|archivedate=15 March 2011|website=www.se-eng.com}}</ref><ref>{{cite web | url=http://www.loper-os.org/?p=1887 | title=सेज स्मार्टप्रोब एफएक्यू| publisher=S.Datskovskiy | access-date=30 April 2021}}</ref> एक उदाहरण होने के नाते। कोड को बायोस डिवाइस को फ्लैश करने के अतिरिक्त बायोस एमुलेटर पर बनाया या डाउनलोड किया जा सकता है। | ||
== पेलोड == | == पेलोड == | ||
[[File:Coreboot+seaBIOS+on-x60.JPG|thumb|upright|Lenovo [[ThinkPad]] X60 पर चलने वाला | [[File:Coreboot+seaBIOS+on-x60.JPG|thumb|upright|Lenovo [[ThinkPad]] X60 पर चलने वाला Seaबायोस पेलोड]]कोरबूट पेलोड को लोड कर सकता है, जिसे {{Mono|लिबपेलोड}} हेल्पर लाइब्रेरी। सम्मिलिता पेलोड में निम्नलिखित सम्मिलित हैं: | ||
* | * | ||