Как стать автором
Обновить

Комментарии 2

Использовать параметр EFI_STUB религия не позволяет?

Запустите make menuconfig, там много интересного. И initrd можно встроить, и блобы, и опции, и версию и на выходе сразу получить готовый efi файл.

EFISTUB подходит только для тех, кто сам себе ядра собирает, а systemd'овый EFI stub позволяет встроить произвольный бинарник в EFI-обёртку и поэтому отлично подходит всем, включая тех, кто использует готовые бинарные сборки.

Помимо прочего, systemd'овый EFI stub умеет взаимодействовать с TPM и в тех случаях, когда загрузка бинарника, полученного на основе этого stub осуществляется не напрямую, а через загрузчик, это даёт дополнительные преимущества: например, если реализовано автоматическое расшифровывание рутового раздела и при этом используется загрузчик, позволяющий передать произвольный cmdline, то его изменение приведёт к тому, что содержимое целевого PCR-регистра изменится и автоматической расшифровки не произойдёт. Всего этого, в случае упаковки ядра с предсобранным init'ом с помощью ядерного EFISTUB, разумеется, реализовать не удастся.

Дополнительное преимущество - это время, требуемое на изменение конфигурации: если мне необходимо добавить или убрать поддержку устройств, инициализируемых при загрузке до переключения на рутовый раздел, то в случае внешнего init'а и systemd'ового EFI stub на это потребуется порядка 1 минуты на пересборку initramfs и ещё 5 секунд на сборку нового подписанного EFI stub, в случае же с init'ом, вкомпиленным в ядро, которое собирается в виде EFISTUB, на это потребуется существенно больше времени.

Всё это не имеет ни малейшего отношения к религии и позволяет экономить собственное время для тех, кто его ценит.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий