LINUX.ORG.RU

Обновления kernel и systemd-boot (gummiboot)

 , ,


0

1

Просто любопытно.

Подскажите, где искать в Fedora сценарии по которым она обновляет /efi/loader/entries/*.conf ?

Другим дистрибутивам на этой машине надо вручную поправлять конфигурации после обновления ядра. И только Fedora каким-то чудом сама, без спроса начала создавать свою собственную структуру каталогов из machine-id и kernel-version («сама» = после удаления grub).

Смотрю в /usr/lib/kernel/install.d/90-loaderentry.install - он совершенно одинаковый и у Fedora, и у Debian, и у Arch. Почему же они всё равно себя обновляют в /boot, а не в /efi/$machine-id, как Fedora ?

В Debian еще ладно - там можно symbolic link из вручную созданного /efi/Debian в /boot сделать и всё прекрасно работает.
В остальных ОС по разным причинам такой фокус не срабатывает. Вот и хотелось бы научить все обновляться в стиле Fedora.

Deleted

Посмотри скрипт /usr/bin/kernel-install, станет понятнее. У путей есть приоритет, /efi первый, /boot/efi последний.

gasinvein ★★★
()
Последнее исправление: gasinvein (всего исправлений: 1)
Ответ на: комментарий от gasinvein

Спасибо. Интересно. Посмотрел. Тоже никаких отличий в этом сценарии - слово-в-слово Fedora = Debian.

В других местах в Debian находил что $BOOTDIR прям в теле сценария жестко указано в /boot. Возможно, что и не получится ничего. По крайней мере - не для моей компетенции влазить так глубоко в системные сценарии Debian. Жжжжаль.

Deleted
()

это может быть хук для менеджера пакетов либо path-юнит systemd. Последний можно поискать командой systemctl -t path.

А самое простое - посмотреть списки файлов в пакетах, относящихся к ядру

anonymous
()
Ответ на: комментарий от Deleted

Возможно, в дебиане используется что-то другое, загляни в пост-установочные скрипты пакета с ядром, опять же.

gasinvein ★★★
()

В общем, на текущий момент получается такая картина, насколько понял:

1) сценарий kernel-install это часть systemd
2) его цель - следовать рекомендациям https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/
3) устанавливается он во всех дистрибутивах с systemd
4) но используется он только в Fedora в dracut hooks - в остальных просто лежит в /usr/bin и каши не просит - мол, если сам разберешься к чему его прикручивать, то сам и прикручивай (очевидно, предварительно открутив стандартные собственные сценарии дистрибутивов).

Пока кончился керосин на этот квест. Кажется, пока проще ставить как обычно в /boot и после этого запускать свой сценарий копирования получившихся файлов в свои /efi/$DistroName. Как-то так.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.