Как правильно загружать своё ядро? При попытке начать кодировать на голом железе (x86_64) встал вопрос о загрузчике. Напрашиваются следующие варианты:
1. Самописный BIOS-загрузчик
Плюс: Всё просто и понятно.
Минусы: Гемморой ручной загрузки ядра, переключения real mode -> long mode. Устаревшая технология
2. Использование multiboot specification + GRUB2
Плюс: Вся работа загрузки снимается с плеч.
Минусы: Не могу оценить трудозатраты на поддержку этой спецификации. Один и тот же образ ядра может загружаться как через BIOS, так и через (U)EFI?
3. Оформить образ ядра как UEFI-application, так чтобы он напрямую загружался железом.
Плюс: Не нужен специальный загрузчик.
Минусы: Нельзя отделить сборку ядра от сборки UEFI-образа, что повлечёт проблемы переносимостью сборки (сложные Makefiles, требование наличия правильных компиляторов и инструментов).
4. Реализовать самописный UEFI-загрузчик для своего ядра
Плюс: нет геммороя сборки загрузчика, может распространяться в бинарном виде
Минусы: необходимость глубоко разбираться с UEFI API, что не сильно мне улыбается.
Какой из методов кажется вам более правильным, менее трудоёмким и более перспективным? И почему? Спасибо.

21 Авг 2019 в 06:56
301 +1
0
Ответы
1

Если у вас есть опыт работы с UEFI и вам не сложно изучать новые технологии, то самописный UEFI-загрузчик для вашего ядра может быть наиболее правильным и перспективным выбором. Этот метод позволит вам контролировать процесс загрузки ядра и упростит переносимость сборки вашего ядра.

Если же вы хотите избежать геммороя сборки загрузчика и оценить трудозатраты на поддержку спецификации multiboot + GRUB2, то этот метод может быть более удобным для вас.

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

20 Апр 2024 в 13:11
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир