Share to: share facebook share twitter share wa share telegram print page

Coreboot

coreboot
Original author(s)Ronald G. Minnich, Eric Biederman, Li-Ta (Ollie) Lo, Stefan Reinauer, and the coreboot community
Initial release1999; 25 years ago (1999)
Stable release
24.08[1] Edit this on Wikidata / 2 September 2024; 2 months ago (2 September 2024)[2]
Repository
Written inMostly C, about 1% in assembly and optionally SPARK
PlatformIA-32, x86-64, ARMv7,[3] ARMv8, MIPS, RISC-V, POWER8
TypeFirmware
LicenseGPLv2-only[4]
Websitewww.coreboot.org Edit this on Wikidata

coreboot, formerly known as LinuxBIOS,[5] is a software project aimed at replacing proprietary firmware (BIOS or UEFI) found in most computers with a lightweight firmware designed to perform only the minimum number of tasks necessary to load and run a modern 32-bit or 64-bit operating system.

Since coreboot initializes the bare hardware, it must be ported to every chipset and motherboard that it supports. As a result, coreboot is available only for a limited number of hardware platforms and motherboard models.

One of the coreboot variants is Libreboot, a software distribution partly free of proprietary blobs, aimed at end users.

History

The coreboot project began with the goal of creating a BIOS that would start fast and handle errors intelligently.[6] It is licensed under the terms of the GNU General Public License version 2 (GPLv2). Main contributors include LANL, SiS, AMD, Coresystems and Linux Networx, Inc, as well as motherboard vendors MSI, Gigabyte and Tyan, which offer coreboot alongside their standard BIOS or provide specifications of the hardware interfaces for some of their motherboards. Google partly sponsors the coreboot project.[7] CME Group, a financial public company, began supporting the coreboot project in 2009.[8]

Other than the first three models, all Chromebooks run coreboot.[9] Code from Das U-Boot has been assimilated to enable support for processors based on the ARM instruction set.[10]

In June 2019, coreboot began to use the NSA software Ghidra for its reverse engineering efforts on firmware-specific problems following the release of the suite as free and open source software.[11]

Supported platforms

CPU architectures supported by coreboot include IA-32, x86-64, ARM, ARM64, MIPS and RISC-V. Supported system-on-a-chip (SOC) platforms include AMD Geode, starting with the Geode GX processor developed for the OLPC. Artec Group added Geode LX support for its ThinCan model DBE61; that code was adopted by AMD and further improved for the OLPC after it was upgraded to the Geode LX platform, and is further developed by the coreboot community to support other Geode variants. coreboot can be flashed onto a Geode platform using Flashrom.

From that initial development on AMD Geode based platforms, coreboot support has been extended onto many AMD processors and chipsets. The processor list includes Family 0Fh and 10h (K8 core), and recently Family 14h (Bobcat core, Fusion APU). coreboot support also extends to AMD chipsets: RS690, RS7xx, SB600, and SB8xx.

In AMD Generic Encapsulated Software Architecture (AGESA)‍—‌a bootstrap protocol by which system devices on AMD64 mainboards are initialized‍—‌was open sourced in early 2011, aiming to provide required functionality for coreboot system initialization on AMD64 hardware.[12] However, as of 2014 such releases never became the basis for future development by AMD, and were subsequently halted.[13]

Devices that could be preloaded with coreboot or one of its derivatives include:

Lenovo/IBM
The Libreboot T400 and X200 (rebranded ThinkPad T400 and X200, respectively, available from Minifree, previously known as Gluglug).[14][15]
Artec Group
ThinCan models DBE61, DBE62 and DBE63, and fanless server/router hardware manufactured by PC Engines.[16]
Purism
Librem laptops come with coreboot.[17][18]
Others
Some System76 PCs use coreboot TianoCore firmware, including open source Embedded Controller firmware.
Dasharo offers an alternative coreboot-based firmware distribution for computers from MSI, NovaCustom and Nitrokey, among others.[19][20][21]
StarLabs Systems use coreboot firmware, as an alternative.[22]

Design

Coreboot typically loads a Linux kernel, but it can load any other stand-alone ELF executable, such as iPXE, gPXE or Etherboot that can boot a Linux kernel over a network, or SeaBIOS[23] that can load a Linux kernel, Windows 2000 and later, and BSDs; Windows 2000/XP and OpenBSD support was previously provided by ADLO.[24][25] coreboot can also load a kernel from any supported device, such as Myrinet, Quadrics, or SCI cluster interconnects. Booting other kernels directly is also possible, such as a Plan 9 kernel. Instead of loading a kernel directly, coreboot can pass control to a dedicated boot loader, such as a coreboot-capable version of GNU GRUB 2.

Coreboot is written primarily in C, with a small amount of assembly code. Choosing C as the primary programming language enables easier code audits when compared to contemporary PC BIOS that was generally written in assembly,[26] which results in improved security. There is build and runtime support to write parts of coreboot in Ada[27] to further raise the security bar, but it is currently only sporadically used. The source code is released under the GNU GPL version 2 license.

Coreboot performs the absolute minimal amount of hardware initialization and then passes control to the operating system. As a result, there is no coreboot code running once the operating system has taken control. A feature of coreboot is that the x86 version runs in 32-bit mode after executing only ten instructions[28] (almost all other x86 BIOSes run exclusively in 16-bit mode). This is similar to the modern UEFI firmware, which is used on newer PC hardware.

Initializing DRAM

The most difficult hardware that coreboot initializes is the DRAM controllers and DRAM. In some cases, technical documentation on this subject is NDA restricted or unavailable. RAM initialization is particularly difficult because before the RAM is initialized it cannot be used. Therefore, to initialize DRAM controllers and DRAM, the initialization code may have only the CPU's general purpose registers or Cache-as-RAM as temporary storage.

romcc, a C compiler that uses registers instead of RAM, eases the task. Using romcc, it is relatively easy to make SMBus accesses to the SPD ROMs of the DRAM DIMMs, that allows the RAM to be used.

With newer x86 processors, the processor cache can be used as RAM until DRAM is initialized. The processor cache has to be initialized into Cache-as-RAM[29][30] mode as well, but this needs fewer instructions than initializing DRAM. Also, the Cache-as-RAM mode initialization is specific to CPU architectures, thus more generic than DRAM initialization, which is specific to each chipset and mainboard.

For most modern x86 platforms, closed source binary-only components provided by the vendor are used for DRAM setup. For Intel systems, FSP-M is required, while AMD has no current support. Binary AGESA is currently used for proprietary UEFI firmware on AMD systems, and this model is expected to carry over to any future AMD-related coreboot support.[31]

Developing and debugging coreboot

Hacking coreboot at Denver 2008 summit.

There are also CPU emulators that either replace the CPU or connect via a JTAG port, with the Sage SmartProbe[32][33] being an example. Code can be built on, or downloaded to, BIOS emulators rather than flashing the BIOS device.

Payloads

SeaBIOS payload running on a Lenovo ThinkPad X60

coreboot can load a payload, which may be written using the libpayload helper library. Existing payloads include the following:

European Coreboot Conference

One physical meeting is the European Coreboot Conference which was organized in October 2017 and lasted for three days.

Conference history

Event and year Date Host city Venue Resources Themes
ECC2017 26.10. – 29.10 Bochum, Germany RUB Convention Center https://ecc2017.com

Variants

coreboot has a number of variants from its original code base each with slightly different objectives:.

  • Libreboot - A variant with a primary focus to remove some[36] binary blobs.
  • osboot - A variant similar to Libreboot that scrapped its only some blobs policy to increase hardware support and stability.[37] Merged with libreboot as of November 2022.[38]
  • MrChromebox has developed a modified version of coreboot for ChromeOS based devices.[39]
  • GNU Boot - A variant with a primary focus to remove all binary blobs.[40]
  • Canoeboot[41]
  • Dasharo - A distribution based on coreboot developed by 3mdeb.[42] They aim to make it easy for manufacturers to ship products with coreboot.[43][44]
  • Skulls - A variant aimed at ease of installation.[45]
  • Heads - A variant aimed at physical security and usage of free software, recommended for use with QubesOS.[46][47][citation needed]

See also

References

  1. ^ Martin Roth (2 September 2024). "coreboot 24.08 release". Retrieved 3 September 2024.
  2. ^ "Releases". coreboot. n.d.
  3. ^ "ARM". coreboot. 15 October 2013. Retrieved 1 February 2014.
  4. ^ "coreboot's licence". github.com. 1991. Retrieved 13 October 2018.
  5. ^ "[LinuxBIOS] Welcome to coreboot". 12 January 2008.
  6. ^ Anton Borisov (2009). "The Open Source BIOS is Ten. An interview with the coreboot developers". The H. Archived from the original on 16 September 2012.'
  7. ^ "Google Sponsors the LinuxBIOS project". Archived from the original on 6 February 2012. Retrieved 29 September 2023.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  8. ^ "CME Group Dives Into Coreboot and Other Linux Open Source Projects". Wall Street & Technology. Archived from the original on 12 August 2010. Retrieved 23 September 2015.
  9. ^ "Chromebooks". coreboot. 16 January 2014. Archived from the original on 8 May 2016. Retrieved 17 February 2014.
  10. ^ "GSoC2011(Week 1): Analysis of U-boot ARM boot code | coreboot developer blogs". 5 June 2011. Retrieved 12 April 2014.
  11. ^ "Coreboot nutzt NSA-Tool zum Reverse Engineering". Golem.de. Retrieved 4 May 2023.
  12. ^ "Technical details on AMD's coreboot source code release". AMD. 28 February 2011. Archived from the original on 25 March 2014. Retrieved 1 February 2016.
  13. ^ Griffith, Bruce (5 November 2014). "AMD's binary-only AGESA libraries". Retrieved 8 May 2017.
  14. ^ "Minifree". Ministry of Freedom - Products. Archived from the original on 25 September 2015. Retrieved 24 September 2015.
  15. ^ "The Gluglug". fsf.org. Archived from the original on 23 September 2015. Retrieved 23 September 2015.
  16. ^ "pcengines/coreboot". GitHub. Retrieved 16 September 2019.
  17. ^ "coreboot Firmware on Purism Librem devices". Retrieved 19 June 2020.
  18. ^ "Purism Laptops To Use 'Heads' Firmware To Protect Against Rootkits, Tampering (Updated)". 27 February 2018. Retrieved 19 June 2020.
  19. ^ "New Dasharo v1.1 Firmware For The MSI Z690 Board - Phoronix". 22 November 2022. Retrieved 27 October 2023.
  20. ^ "NovaCustom-Dasharo October-2023 Firmware Update (ADL v1.7.0 & TGL v1.5.0) - NovaCustom". 19 September 2023. Retrieved 27 October 2023.
  21. ^ "The NitroPC Pro is Qubes-Certified! - Nitrokey". 24 September 2023. Retrieved 27 October 2023.
  22. ^ Starbook mk v review - fossbytes
  23. ^ SeaBIOS (previously known as LegacyBIOS) is an open-source legacy BIOS implementation
  24. ^ "coreboot Add-on Layer (ADLO)". Archived from the original on 25 November 2010.
  25. ^ "SEBOS, Security Enhanced Bootloader for Operating Systems, Phase 2". Archived from the original on 19 June 2007. - adding PC BIOS Services to coreboot via Bochs BIOS
  26. ^ "Comparison of UEFI and legacy BIOS". pronouncing that same advantage for UEFI
  27. ^ "commit". adding that support
  28. ^ "coreboot v3 early startup code". Archived from the original on 10 July 2012. Retrieved 17 August 2008.
  29. ^ Yinghai Lu; Li-Ta Lo; Gregory R. Watson; Ronald G. Minnich (15 January 2009). "CAR: Using Cache as RAM in Linux BIOS" (PDF). qmqm.pl. Archived from the original (PDF) on 3 March 2016. Retrieved 25 February 2014.
  30. ^ "A Framework for Using Processor Cache as RAM (CAR)" (PDF).
  31. ^ Griffith, Bruce (5 November 2014). "[coreboot] AMD's binary-only AGESA libraries". Retrieved 8 September 2019.
  32. ^ "Sage Electronic Engineering - SmartProbe JTAG debugger, Sage EDK, coreboot and Embedded Systems and Software Engineering". www.se-eng.com. Archived from the original on 15 March 2011.{{cite web}}: CS1 maint: unfit URL (link)
  33. ^ "Sage SmartProbe FAQ". S.Datskovskiy. Retrieved 30 April 2021.
  34. ^ "Depthcharge: The ChromeOS bootloader". docs.google.com. Retrieved 26 October 2015.
  35. ^ "Modify u-boot code to allow building coreboot payload. [chromiumos/third_party/u-boot-next : chromeos-v2011.03]". 24 July 2011.
  36. ^ "Binary Blob Reduction Policy". 1 November 2023. Archived from the original on 1 November 2023. Retrieved 1 November 2023.
  37. ^ "osboot project". 15 March 2021. Archived from the original on 15 March 2021. Retrieved 26 May 2023.
  38. ^ "Libreboot – Osboot is now part of Libreboot". 19 December 2022. Archived from the original on 19 December 2022. Retrieved 26 May 2023.
  39. ^ "How to install ChromeOS Flex on a Chromebook". Android Police. 17 April 2022. Retrieved 30 May 2023.
  40. ^ "GNU Boot Summary". 30 October 2023. Archived from the original on 30 October 2023. Retrieved 30 October 2023.
  41. ^ "Canoeboot project". 16 November 2023. Archived from the original on 16 November 2023. Retrieved 16 November 2023.
  42. ^ "3mdeb Sp. z o.o. — Embedded Firmware development consultancy". 29 January 2024. Archived from the original on 16 February 2024. Retrieved 16 February 2024.
  43. ^ "Dasharo • GitHub". 22 October 2023. Archived from the original on 16 February 2024. Retrieved 16 February 2024.
  44. ^ "About Dasharo - Dasharo Universe". 9 February 2024. Archived from the original on 16 February 2024. Retrieved 16 February 2024.
  45. ^ Kepplinger-Novakovic, Martin (28 May 2024), merge/skulls, retrieved 29 May 2024
  46. ^ "About Heads". Heads. Retrieved 29 May 2024.
  47. ^ linuxboot/heads, LinuxBoot, 28 May 2024, retrieved 29 May 2024

Further reading

Read other articles:

  لمعانٍ أخرى، طالع كريس كوبر (توضيح). كريس كوبر معلومات شخصية الميلاد 17 يناير 1990 (العمر 33 سنة)دومسفريس الطول 6 قدم 9 بوصة (2.1 م) مركز اللعب لاعب وسط الجنسية  الولايات المتحدة الوزن 110 كيلوغرام  المدرسة الأم جامعة أولد دومينيون[1]  الحياة العملية بداية الا

 

Part of a series onWildlife of Bangladesh Biodiversity Wildflowers Butterflies Fish Amphibians Reptiles Birds Mammals Conservation Ecoregions Forestry Protected areas National parks Biosphere reserves Wildlife sanctuaries Ramsar protected wetland sites Marine and littoral protected areas OrganizationsWorld Wide Fund for Nature Related topics Botanical gardens Zoological gardens vte This is a list of the bird species recorded in Bangladesh. The avifauna of Bangladesh include a total of 827 spe...

 

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (يوليو 2019) جاك هينلي معلومات شخصية الميلاد 6 ديسمبر 1896  جزيرة أيرلندا  الوفاة 2 نوفمبر 1958 (61 سنة)   لوس أنجلوس  مواطنة الولايات المتحدة  الحياة العملية المهنة...

Ви не знаєте Джекаангл. You Don't Know Jack Вид телефільмЖанр драма біографіяРежисер Баррі ЛевінсонПродюсер Скотт ФергюсонСценарист Адам МазерУ головних ролях Аль Пачіно, Денні Г'юстон, Сьюзен Серендон, Джон Гудман, Бренда Ваккаро, Джеймс Урбаняк, Рутану Алда, Ерік Ланж, Делані Ві

 

 Portugal Canelas e Espiunca    Freguesia   Praia Fluvial de EspiuncaPraia Fluvial de Espiunca Localização Município Arouca História Fundação 28 de janeiro de 2013 Administração Tipo Junta de freguesia Presidente Joaquim Alves da Cunha Moreira (PPD/PSD) Características geográficas Área total 35,73 km² População total (2011) 1 183 hab. Densidade 33,1 hab./km² Canelas e Espiunca (oficialmente: União das Freguesias de Canelas e Espiunc...

 

Affiliation politique des gouverneurs des États du Mexique en 2023 : Mouvement de régénération nationale (MORENA) : 21 Parti action nationale (PAN) : 5 Parti révolutionnaire institutionnel (PRI) : 2 Mouvement citoyen (MC) : 2 Parti de la Réunion sociale (PES) : 1 Parti vert écologiste (PVE) : 1 Cette page dresse la liste des gouverneurs actuels des États du Mexique (les gouverneurs des 31 États au sens strict ainsi que le chef du gouvernement d...

Penyuntingan Artikel oleh pengguna baru atau anonim untuk saat ini tidak diizinkan.Lihat kebijakan pelindungan dan log pelindungan untuk informasi selengkapnya. Jika Anda tidak dapat menyunting Artikel ini dan Anda ingin melakukannya, Anda dapat memohon permintaan penyuntingan, diskusikan perubahan yang ingin dilakukan di halaman pembicaraan, memohon untuk melepaskan pelindungan, masuk, atau buatlah sebuah akun. Artikel ini membutuhkan rujukan tambahan agar kualitasnya dapat dipastikan. Mohon...

 

American UFO researcher (1923–1960) Edward J. RuppeltCaptain Edward J. Ruppelt (left), head of Project Blue Book, at Wright-Patterson Air Force Base in March 1953Birth nameEdward James RuppeltBorn(1923-07-17)July 17, 1923Grundy Center, Iowa, U.S.DiedSeptember 15, 1960(1960-09-15) (aged 37)Long Beach, California, U.S.Service/branchUnited States Air ForceYears of service1942–1954RankCaptainBattles/warsWorld War IIKorean WarAwardsBattle star (5)Theater combat ribbon (2)Air Medal (3...

 

أبو إسحاق الزجاج معلومات شخصية الميلاد سنة 857  بغداد  تاريخ الوفاة سنة 923 (65–66 سنة)  الحياة العملية المهنة شاعر،  ولغوي،  وعالم  مؤلف:أبو إسحاق الزجاج  - ويكي مصدر تعديل مصدري - تعديل     هذه المقالة عن الزَجَّاج، وهو أبو إسحاق الزجاج، نحوي من ا�...

Arthur BienenstockBienenstock at 2017 National Science BoardBorn1935Scientific careerFieldsPhysics Arthur Bienenstock (born 1935) is professor emeritus of Photon Science at Stanford University. He is also a member of the National Science Board.[1] He received his B.S. in 1955 and M.S. in 1957 from the Polytechnic Institute of Brooklyn, and a Ph.D. in 1962 from Harvard University.[2][3][4][5][6][7][8][9] He was the former ...

 

Indian erotic drama television series MastramPromotional posterGenreEroticDramaStarringsee Cast sectionMusic byAshish Chhabra UlluminatiCountry of originIndiaOriginal languageHindiNo. of seasons1No. of episodes10 (list of episodes)ProductionExecutive producerPrabhleen KaurEditorBhupesh Micky SharmaRunning time30–40 minutesProduction companyAlmighty Motion PictureOriginal releaseNetworkMX PlayerRelease30 April 2020 (2020-04-30) Mastram is an 2020 Indian erotic drama streaming ...

 

2014 Pan American Women's Junior Handball ChampionshipTournament detailsHost country ArgentinaDatesApril 1–5Teams6Venue(s)2 (in 1 host city)Final positionsChampions BrazilRunner-up UruguayThird place ArgentinaFourth place ParaguayTournament statisticsMatches15Top scorer(s) Tamires Lima Araujo (BRA)(35 goals)Best player Alejandra Scarrone (URU)← Previous Next → The 2014 Pan American Women's Junior Handball Championship took place ...

Australian professional wrestler Grayson WallerWaller in October 2023Birth nameMatthew FarrellyBorn (1990-03-21) 21 March 1990 (age 33)Sydney, AustraliaProfessional wrestling careerRing name(s)Grayson WallerMatty WahlbergBilled height6 ft 3 in (191 cm)Billed weight205 lb (93 kg)Billed fromSydney, AustraliaTrained byRobbie EaglesMadison EaglesDebutApril 15, 2017 Matthew Farrelly (born 21 March 1990) is an Australian professional wrestler. He is currently signed to...

 

Artikel ini kemungkinan ditulis dari sudut pandang penggemar dan bukan sudut pandang netral. Mohon rapikan untuk menghasilkan standar kualitas yang lebih tinggi dan untuk membuat pemakaian nada yang netral. (Juni 2022) (Pelajari cara dan kapan saatnya untuk menghapus pesan templat ini) Herry SuhardiyantoPendahuluProf. Dr. Ir. Ahmad Ansori Mattjik, M.ScPenggantiProf. Dr. Arif Satria, SP, MSiRektor Institut Pertanian BogorMasa jabatanDesember 2007 – 15 Desember 2017PresidenSusilo Bam...

 

Malawian passportMalawian passport front coverTypePassportIssued by MalawiPurposeIdentificationEligibilityMalawian citizenship The Malawian passport is issued to citizens of Malawi for international travel. As of 1 January 2017, Malawian citizens had visa-free or visa on arrival access to 67 countries and territories, ranking the Malawian passport 70th in terms of travel freedom (tied with Belarusian and Lesotho passports) according to the Henley visa restrictions index.[1] See a...

«Северн» (N57) HMS Severn (N57) Британський однотипний з «Северн» човен «Темза». 1933 Верф Vickers-Armstrongs, Барроу-ін-Фернесс Під прапором  Велика Британія Належність  Військово-морські сили Великої Британії Порт приписки Дакар, Фрітаун, Данді, Росайт, Гібралтар На честь річки Англі�...

 

Spanish politician, jurist and economist (1803–1873) In this Spanish name, the first or paternal surname is Bravo and the second or maternal family name is Murillo. The Most ExcellentJuan Bravo MurilloPortrait by Gutiérrez de la VegaPrime Minister of SpainIn officeJanuary 14, 1851 (1851-01-14) – December 14, 1852 (1852-12-14)MonarchIsabella IIPreceded byRamón María NarváezSucceeded byFederico RoncaliPresident of the Congress of Deputies&#...

 

Ada usul agar artikel ini digabungkan dengan Bukit Datuk, Dumai Barat, Dumai. (Diskusikan) Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Bukit Datuk, Dumai Selatan, Dumai – berita · surat kabar · buku · cendekiawan · JSTOR Bukit DatukKelurahanNegara...

New Zealand nurse (1880–1977) Mary ReidyMBEMary Reidy in 1916BornMary Anne Reidy(1880-06-17)17 June 1880County Clare, IrelandDied17 January 1977(1977-01-17) (aged 96)Hamilton, New ZealandResting placeSt. Mary's Catholic Church, Hamilton, New ZealandOccupationNurseKnown forBeing a community leader, military service Mary Anne Reidy MBE (1880–1977) was a New Zealand civilian and military nurse, community leader. She was born in County Clare, Ireland in 1880. Reidy served as a n...

 

ICL 7561 workstation The ICL 7500 series (7501, 7502, 7503, 7561, etc.) was a range of terminals and workstations, that were developed by ICL during the 1970s for their new range ICL 2900 Series mainframe computers. The colour scheme was compatible with the 2900. The term 7561 is a commonly used though loose term for the interactive video aspects of the 7502 series. The 7501 and 7502 systems were known as Modular Terminal Processors in marketing publications. 7501 and 7502 systems were built ...

 
Kembali kehalaman sebelumnya