Jump to content

основная загрузка

основная загрузка
Оригинальный автор(ы) Рональд Г. Минних, Эрик Бидерман, Ли-Та (Олли) Ло, Стефан Рейнауэр и сообщество coreboot
Первоначальный выпуск 1999 год ; 25 лет назад ( 1999 )
Стабильная версия
24.05 [1]  Отредактируйте это в Викиданных / 23 мая 2024 г .; 2 месяца назад ( 23 мая 2024 г. ) [2]
Репозиторий
Написано в В основном C , около 1% в сборке и опционально SPARK
Платформа ИА-32 , x86-64 , ARMv7 , [3] ARMv8, MIPS , RISC-V , POWER8
Тип Прошивка
Лицензия лицензия GPLv2 [4]
Веб-сайт www .coreboot .org  Edit this on Wikidata

coreboot , ранее известный как LinuxBIOS , [5] — это программный проект, направленный на замену проприетарной прошивки ( BIOS или UEFI ), присутствующей в большинстве компьютеров, на облегченную прошивку, предназначенную для выполнения только минимального количества задач, необходимых для загрузки и запуска современной 32-битной или 64-битной операционной системы .

Поскольку coreboot инициализирует голое оборудование, его необходимо портировать на каждый чипсет и материнскую плату , которые он поддерживает. В результате coreboot доступен только для ограниченного числа аппаратных платформ и моделей материнских плат.

Одним из вариантов coreboot является Libreboot , дистрибутив программного обеспечения, частично свободный от проприетарных больших двоичных объектов , предназначенный для конечных пользователей.

Проект coreboot начался с цели создать BIOS, который бы запускался быстро и разумно обрабатывал ошибки. [6] Он лицензируется на условиях GNU General Public License версии 2 (GPLv2). Основными участниками являются LANL , SiS , AMD , Coresystems и Linux Networx, Inc, а также производители материнских плат MSI , Gigabyte и Tyan , которые предлагают coreboot наряду со своим стандартным BIOS или предоставляют спецификации аппаратных интерфейсов для некоторых своих материнских плат. Google частично спонсирует проект coreboot. [7] CME Group , кластер фьючерсных бирж , начал поддерживать проект coreboot в 2009 году. [8]

За исключением первых трех моделей, все Chromebook используют coreboot. [9] Код Das U-Boot был ассимилирован для обеспечения поддержки процессоров на основе набора инструкций ARM . [10]

В июне 2019 года coreboot начала использовать АНБ программное обеспечение Ghidra для своих по обратному проектированию усилий для решения проблем , связанных с прошивкой , после выпуска пакета в качестве бесплатного программного обеспечения с открытым исходным кодом . [11]

Поддерживаемые платформы

[ редактировать ]

Архитектуры ЦП, поддерживаемые coreboot, включают IA-32 , x86-64 , ARM , ARM64 , MIPS и RISC-V . Поддерживаемые «система на кристалле» платформы (SOC) включают AMD Geode , начиная с процессора Geode GX, разработанного для OLPC . Artec Group добавила поддержку Geode LX для своей модели ThinCan DBE61; этот код был принят AMD и дополнительно улучшен для OLPC после обновления до платформы Geode LX, а также доработан сообществом coreboot для поддержки других вариантов Geode. coreboot можно прошить на платформу Geode с помощью Flashrom .

После первоначальной разработки платформ на базе AMD Geode поддержка базовой загрузки была расширена на многие процессоры и наборы микросхем AMD. В список процессоров вошли семейства 0Fh и 10h ( K8 ядро Bobcat ), а с недавнего времени и семейство 14h ( ядро , Fusion APU ). Поддержка coreboot также распространяется на чипсеты AMD: RS690 , RS7xx , SB600 и SB8xx.

В Универсальной инкапсулированной программной архитектуре AMD ( AGESA ) — «протокол начальной загрузки , с помощью которого инициализируются системные устройства на материнских платах AMD64» — был открыт исходный код в начале 2011 года с целью обеспечить необходимые функции для инициализации системы базовой загрузки на оборудовании AMD64. [12] Однако по состоянию на 2014 год такие выпуски так и не стали основой для будущих разработок AMD и впоследствии были остановлены. [13]

Устройства, на которые можно предварительно загрузить coreboot или одну из его производных, включают:

Леново / IBM
Libreboot T400 и X200 (переименованные в ThinkPad T400 и X200 соответственно, доступные в Minifree, ранее известной как Gluglug). [14] [15]
Группа компаний «Артек»
ThinCan модели DBE61, DBE62 и DBE63, а также безвентиляторное оборудование сервера/маршрутизатора производства PC Engines . [16]
Пуризм
Ноутбуки Librem поставляются с coreboot. [17] [18]
Другие
На некоторых компьютерах System76 используется прошивка Coreboot TianoCore, включая прошивку встроенного контроллера с открытым исходным кодом .
Dasharo предлагает альтернативный дистрибутив прошивки на основе coreboot для компьютеров от MSI , NovaCustom и Nitrokey , среди прочих. [19] [20] [21]
В качестве альтернативы StarLabs Systems использует прошивку coreboot. [22]

coreboot обычно загружает ядро ​​Linux , но может загружать любой другой автономный исполняемый файл ELF , например iPXE , gPXE или Etherboot, который может загружать ядро ​​Linux по сети или SeaBIOS. [23] который может загружать ядро ​​Linux, Windows 2000 и новее, а также BSD; Поддержка Windows 2000/ XP и OpenBSD ранее предоставлялась ADLO. [24] [25] coreboot также может загружать ядро ​​с любого поддерживаемого устройства, например Myrinet, Quadrics или кластера межсоединений SCI. Также возможна прямая загрузка других ядер , например ядра Plan 9 . Вместо непосредственной загрузки ядра coreboot может передать управление выделенному загрузчику, такому как версия GNU GRUB 2 с поддержкой coreboot.

coreboot написан в основном на C с небольшим количеством ассемблерного кода . Выбор C в качестве основного языка программирования упрощает аудит кода по сравнению с BIOS современного ПК, который обычно пишется на ассемблере. [26] что приводит к повышению безопасности. Существует поддержка сборки и выполнения для написания частей coreboot на Ada. [27] для дальнейшего повышения планки безопасности, но в настоящее время она используется лишь время от времени. Исходный код распространяется под лицензией GNU GPL версии 2 .

coreboot выполняет абсолютно минимальный объем инициализации оборудования, а затем передает управление операционной системе . В результате после того, как операционная система взяла управление на себя, код основной загрузки не выполняется. Особенностью coreboot является то, что версия x86 запускается в 32-битном режиме после выполнения всего десяти инструкций. [28] (почти все остальные биосы x86 работают исключительно в 16-битном режиме). Это похоже на современную прошивку UEFI , которая используется на новом оборудовании ПК.

Инициализация DRAM

[ редактировать ]

Самое сложное оборудование, которое инициализирует coreboot, — это контроллеры DRAM и DRAM . В некоторых случаях техническая документация по этому вопросу ограничена соглашением о неразглашении или недоступна. Инициализация ОЗУ особенно сложна, поскольку до инициализации ОЗУ ее нельзя использовать. ЦП Следовательно, для инициализации контроллеров DRAM и DRAM код инициализации может иметь только регистры общего назначения или кэш-память в качестве временного хранилища.

romcc, C компилятор , использующий регистры вместо оперативной памяти, облегчает задачу. Используя romcc, относительно легко обеспечить доступ по SMBus к ПЗУ SPD DRAM модулей DIMM , что позволяет использовать ОЗУ.

В новых процессорах x86 кэш процессора можно использовать в качестве ОЗУ до тех пор, пока не будет инициализирована DRAM. Кэш процессора должен быть инициализирован в Cache-as-RAM. [29] [30] также, но для этого требуется меньше инструкций, чем для инициализации DRAM. Кроме того, инициализация режима Cache-as-RAM специфична для архитектуры ЦП и, следовательно, является более общей, чем инициализация DRAM, которая специфична для каждого набора микросхем и материнской платы.

Для большинства современных платформ x86 для настройки DRAM используются только двоичные компоненты с закрытым исходным кодом, предоставляемые поставщиком. Для систем Intel требуется FSP-M, тогда как у AMD в настоящее время поддержка отсутствует. Двоичный код AGESA в настоящее время используется для проприетарной прошивки UEFI в системах AMD, и ожидается, что эта модель будет перенесена на любую будущую поддержку базовой загрузки, связанную с AMD. [31]

Разработка и отладка coreboot

[ редактировать ]
Взлом coreboot на саммите в Денвере в 2008 году.

Существуют также эмуляторы ЦП , которые либо заменяют ЦП , либо подключаются через порт JTAG , например, Sage SmartProbe. [32] [33] быть примером. Код можно создать или загрузить в эмуляторы BIOS, а не перепрограммировать устройство BIOS.

Полезная нагрузка

[ редактировать ]
Полезная нагрузка SeaBIOS, работающая на Lenovo ThinkPad X60

coreboot может загружать полезную нагрузку, которая может быть записана с использованием libpayload Вспомогательная библиотека . Существующие полезные нагрузки включают следующее:

Европейская конференция Coreboot

[ редактировать ]

Одной из физических встреч является Европейская конференция Coreboot, которая была организована в октябре 2017 года и длилась три дня.

История конференции

[ редактировать ]
Событие и год Дата Принимающий город Место проведения Ресурсы Темы
ЕСС2017 26.10. – 29.10 Бохум , Германия РУБ Конгресс-центр https://ecc2017.com

Варианты

[ редактировать ]

coreboot имеет несколько вариантов исходной кодовой базы, каждый из которых преследует несколько разные цели:

  • Libreboot — вариант, основной целью которого является удаление некоторых [36] бинарные капли.
  • osboot — вариант, аналогичный Libreboot, в котором отменена политика использования только некоторых больших двоичных объектов для повышения поддержки и стабильности оборудования. [37] По состоянию на ноябрь 2022 года объединен с libreboot. [38]
  • MrChromebox разработал модифицированную версию coreboot для устройств на базе ChromeOS. [39]
  • GNU Boot — вариант, основной задачей которого является удаление всех двоичных объектов. [40]
  • каноэбот [41]
  • Dasharo — дистрибутив на основе coreboot, разработанный 3mdeb. [42] Они стремятся облегчить производителям поставку продуктов с coreboot. [43] [44]
  • Черепа – вариант, ориентированный на простоту установки. [45]
  • Heads — вариант, направленный на физическую безопасность и использование бесплатного программного обеспечения, рекомендуемый для использования с QubesOS . [46] [47] [ нужна ссылка ]


См. также

[ редактировать ]
  1. ^ Мартин Рот (23 мая 2024 г.). «Выпуск coreboot 24.05» . Проверено 23 мая 2024 г.
  2. ^ «Выпуски» . coreboot . nd
  3. ^ "РУКА" . coreboot. 15 октября 2013 года . Проверено 1 февраля 2014 г.
  4. ^ «лицензия coreboot» . github.com . 1991 год . Проверено 13 октября 2018 г.
  5. ^ «[LinuxBIOS] Добро пожаловать в coreboot» . 12 января 2008 г.
  6. ^ Антон Борисов: BIOS с открытым исходным кодом — десять. Интервью с разработчиками coreboot . Архивировано 16 сентября 2012 года на Wayback Machine . Х , 2009.
  7. ^ «Google спонсирует проект LinuxBIOS» . Архивировано из оригинала 6 февраля 2012 года . Проверено 29 сентября 2023 г. {{cite web}}: CS1 maint: bot: исходный статус URL неизвестен ( ссылка )
  8. ^ «Группа CME погружается в Coreboot и другие проекты Linux с открытым исходным кодом» . Уолл-стрит и технологии . Архивировано из оригинала 12 августа 2010 года . Проверено 23 сентября 2015 г.
  9. ^ «Хромбуки» . coreboot. 16 января 2014 года. Архивировано из оригинала 8 мая 2016 года . Проверено 17 февраля 2014 г.
  10. ^ «GSoC2011 (неделя 1): анализ загрузочного кода U-boot ARM | блоги разработчиков coreboot» . 5 июня 2011 года . Проверено 12 апреля 2014 г.
  11. ^ «Coreboot nutzt NSA-Tool zum Reverse Engineering» . Golem.de . Проверено 4 мая 2023 г.
  12. ^ «Технические подробности выпуска исходного кода AMD coreboot» . АМД . 28 февраля 2011 г. Архивировано из оригинала 25 марта 2014 г. Проверено 1 февраля 2016 года .
  13. ^ Гриффит, Брюс (5 ноября 2014 г.). «Библиотеки AMD AGESA, предназначенные только для двоичных файлов» . Проверено 8 мая 2017 г.
  14. ^ «Минифри» . Министерство Свободы - Товары . Архивировано из оригинала 25 сентября 2015 года . Проверено 24 сентября 2015 г.
  15. ^ «Глюглуг» . fsf.org . Архивировано из оригинала 23 сентября 2015 года . Проверено 23 сентября 2015 г.
  16. ^ «pcengines/coreboot» . Гитхаб . Проверено 16 сентября 2019 г.
  17. ^ «Прошивка coreboot на устройствах Purism Librem» . Проверено 19 июня 2020 г.
  18. ^ «Ноутбуки Purism будут использовать прошивку «Heads» для защиты от руткитов и взлома (обновлено)» . 27 февраля 2018 года . Проверено 19 июня 2020 г.
  19. ^ «Новая прошивка Dasharo v1.1 для платы MSI Z690 — Phoronix» . 22 ноября 2022 г. Проверено 27 октября 2023 г.
  20. ^ «Обновление прошивки NovaCustom-Dasharo, октябрь 2023 г. (ADL v1.7.0 и TGL v1.5.0) — NovaCustom» . 19 сентября 2023 г. Проверено 27 октября 2023 г.
  21. ^ «NitroPC Pro сертифицирован Qubes! — Nitrokey» . 24 сентября 2023 г. Проверено 27 октября 2023 г.
  22. ^ Обзор Starbook mk v - fossbytes
  23. ^ SeaBIOS (ранее известный как LegacyBIOS) — это устаревшая реализация BIOS с открытым исходным кодом.
  24. ^ «Дополнительный уровень coreboot (ADLO)» . Архивировано из оригинала 25 ноября 2010 года.
  25. ^ SEBOS, Загрузчик с улучшенной безопасностью для операционных систем, Фаза 2. Архивировано 19 июня 2007 г. на Wayback Machine , добавление служб BIOS ПК в основную загрузку через Bochs BIOS (ссылка отмечена как недействующая 18 июля 2008 г. См. )
  26. ^ Сравнение UEFI и устаревшего BIOS , демонстрируя то же преимущество UEFI.
  27. ^ согласитесь добавить эту поддержку
  28. ^ «Код раннего запуска coreboot v3» . Архивировано из оригинала 10 июля 2012 года . Проверено 17 августа 2008 г.
  29. ^ Инхай Лу; Ли-Та Ло; Грегори Р. Уотсон; Рональд Г. Минних (15 января 2009 г.). «CAR: использование кэша в качестве оперативной памяти в BIOS Linux» (PDF) . qmqm.pl. Архивировано из оригинала (PDF) 3 марта 2016 года . Проверено 25 февраля 2014 г.
  30. ^ «Среда использования кэша процессора в качестве оперативной памяти (CAR)» (PDF) .
  31. ^ Гриффит, Брюс (5 ноября 2014 г.). «[coreboot] Библиотеки AMD AGESA, предназначенные только для двоичных файлов» . Проверено 8 сентября 2019 г.
  32. ^ «Sage Electronic Engineering — отладчик SmartProbe JTAG, Sage EDK, coreboot и встроенные системы и разработка программного обеспечения» . www.se-eng.com . Архивировано из оригинала 15 марта 2011 года. {{cite web}}: CS1 maint: неподходящий URL ( ссылка )
  33. ^ «Часто задаваемые вопросы о Sage SmartProbe» . С.Дацковский . Проверено 30 апреля 2021 г.
  34. ^ «Depthcharge: загрузчик ChromeOS» . docs.google.com . Проверено 26 октября 2015 г.
  35. ^ «Измените код u-boot, чтобы разрешить сборку полезной нагрузки основной загрузки. [chromiumos/ Third_party/u-boot-next: chromeos-v2011.03]» . 24 июля 2011 г.
  36. ^ «Политика сокращения двоичных BLOB-объектов» . 1 ноября 2023 года. Архивировано из оригинала 1 ноября 2023 года . Проверено 1 ноября 2023 г.
  37. ^ «Проект osboot» . 15 марта 2021 г. Архивировано из оригинала 15 марта 2021 г. Проверено 26 мая 2023 г.
  38. ^ «Libreboot – Osboot теперь является частью Libreboot» . 19 декабря 2022 года. Архивировано из оригинала 19 декабря 2022 года . Проверено 26 мая 2023 г.
  39. ^ «Как установить ChromeOS Flex на Chromebook» . Андроид Полиция . 17 апреля 2022 г. Проверено 30 мая 2023 г.
  40. ^ «Сводка загрузки GNU» . 30 октября 2023 года. Архивировано из оригинала 30 октября 2023 года . Проверено 30 октября 2023 г.
  41. ^ «Проект Каноэбот» . 16 ноября 2023 года. Архивировано из оригинала 16 ноября 2023 года . Проверено 16 ноября 2023 г.
  42. ^ «3mdeb Sp. z oo — Консультации по разработке встраиваемых прошивок» . 29 января 2024 года. Архивировано из оригинала 16 февраля 2024 года . Проверено 16 февраля 2024 г.
  43. ^ «Дашаро • GitHub» . 22 октября 2023 года. Архивировано из оригинала 16 февраля 2024 года . Проверено 16 февраля 2024 г.
  44. ^ «О Дашаро — Вселенная Дашаро» . 9 февраля 2024 года. Архивировано из оригинала 16 февраля 2024 года . Проверено 16 февраля 2024 г.
  45. ^ Кепплингер-Новакович, Мартин (28 мая 2024 г.), слияние / черепа , получено 29 мая 2024 г.
  46. ^ «О головах» . Головы . Проверено 29 мая 2024 г.
  47. ^ linuxboot/heads , LinuxBoot, 28 мая 2024 г. , получено 29 мая 2024 г.

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: eda69738a543e35f3b090fc95b9a3c1e__1721819580
URL1:https://arc.ask3.ru/arc/aa/ed/1e/eda69738a543e35f3b090fc95b9a3c1e.html
Заголовок, (Title) документа по адресу, URL1:
coreboot - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)