Coreboot | |
---|---|
![]() | |
![]() | |
Тип | Микропрограмма (BIOS) |
Разработчик | Ronald G. Minnich |
Написана на | Си и ассемблер |
Первый выпуск | 1999 |
Аппаратная платформа | ARM, IA-32 и x86-64 |
Последняя версия | 4.8 (19 мая 2018) |
Лицензия | GNU General Public License v2 |
Сайт | coreboot.org |
![]() |
coreboot (ранее LinuxBIOS) — проект по созданию свободного программного обеспечения, одобренный Free Software Foundation. Целью проекта является замена проприетарных и закрытых BIOS, используемых большинством персональных компьютеров, на легковесный BIOS, предназначенный исключительно для загрузки и запуска современных 32- и 64-разрядных операционных систем. Проект LinuxBIOS был начат зимой 1999 года в лаборатории Advanced Computing Laboratory в Лос-Аламосе (см. Лос-Аламосская национальная лаборатория). Результаты работы проекта распространяются на условиях GNU GPL v2.
Типичная задача coreboot — загружать ядро Linux, но, кроме этого, coreboot может загружать и запускать исполняемые файлы в формате ELF, обычно называемые «полезной нагрузкой» (англ. payload). В качестве полезной нагрузки могут выступать, например, Etherboot, который способен загрузить Linux по сети или SeaBIOS — свободная реализация BIOS, позволяющая загружать Windows 2000/XP/Vista/7 и *BSD системы (ранее для этого использовалась нагрузка ADLO). Coreboot может загрузить операционную систему с любого поддерживаемого устройства, такого как Myrinet, QsNet, или SCSI.
Coreboot производит инициализацию аппаратного обеспечения, которую не может в полной мере выполнить операционная система, после чего передаёт управление модулю «полезной нагрузки» (Payload), который может выполнить дальнейшую загрузку ОС, либо выполнить некоторые другие полезные действия.
Coreboot поддерживает архитектуры x86, x86-64, ARM, ARM64, MIPS и RISC-V.
Отличительной особенностью coreboot по сравнению с Legacy BIOS является то, что версия для x86 начинает работать в защищённом режиме после выполнения всего лишь шестнадцати инструкций процессора, в то время как типичные BIOS для платформы x86 работают в основном в реальном режиме работы процессора. Совокупность этих факторов и простота внутреннего устройства делает загрузку с Coreboot очень быстрой (в настоящее время рекорд холодного старта с CoreBoot составляет около 3 секунд).
Хотя в названии LinuxBIOS присутствовало слово Linux, LinuxBIOS мог грузить и другие ядра операционных систем. Например, LinuxBIOS мог напрямую грузить ядро Plan 9. Поэтому он был переименован в coreboot.
Coreboot сам по себе является только маленькой программой, выполняющей инициализацию оборудования на материнской плате, далее управление передаётся одной из программ полезной нагрузки:
Так как coreboot должен инициализировать аппаратуру, то он должен быть адаптирован для поддержки каждого системного контроллера (чипсета) и каждой платы на основе такого контроллера. Добавление поддержки какой-либо новой платы осложняется трудностями отладки: отладочная информация выводится с помощью тех или иных аппаратных средств, но как организовать вывод, когда средства вывода ещё не инициализированы?
Coreboot использует несколько устройств и приёмов для упрощения отладки:
Наиболее сложной частью coreboot является код, который инициализирует ОЗУ и контроллер ОЗУ. Дело в том, что пока ОЗУ не инициализировано, его невозможно использовать. Очевидным способом инициализировать контроллер ОЗУ и саму оперативную память без обращений к ней является использование регистров общего назначения процессора. Для упрощения этой сложной задачи был разработан специальный компилятор языка C — romcc (англ. romcc), который порождает код, не производящий обращений к ОЗУ при своей работе. С помощью romcc компилируется код, который инициализирует ОЗУ путём обращения к SPD ROM на модулях DIMM по шине SMBus. После выполнения данного кода ОЗУ может быть использовано.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .