LINUX.ORG.RU

В скрипте genkelnel-next кто собирается сначала - ядро или модули?

 , , ,


0

1

Мне кажется, что в начале собирается ядро, а потом модули.
Мне не известна причина, почему происходит так.

Но при сборке ядра может понадобится собрать initramfs
а в initramfs может потребоваться поместить некоторые модули.

Получается, что сначала должны собираться модули, потом initramfs, а только потом ядро.

Мне не известна причина, почему происходит так.

Потому что кроме тебя никто не знает, что ты решил держать в ядре, что вынести модулями, а что вообще не собирать.

Но при сборке ядра может понадобится собрать initramfs

Нет, ядру достаточно указать что необходима поддержка initrd/initramfs. А собрать потом и скормить загрузчику.

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

Нет, ядру достаточно указать что необходима поддержка initrd/initramfs. А собрать потом и скормить загрузчику.

это если initramfs один. А если из два - один влинкованный в ядро, другой отдельный, то что делать тогда?

Einstok_Fair ★★☆ ()

а в initramfs может потребоваться поместить некоторые модули.

Это какой-то очень редкий кейс.

В голову приходит только такой сетап: / на файловой системе, поддержка которой зачем-то вынесена в модули. Во всех остальных случаях init-скрипт в initramfs спокойно загрузит необходимые модули из /lib/modules, поэтому и смысла в размещении их в самом образе нет.

gentoo1love ()
Ответ на: комментарий от spijet

Собирать дважды (первый раз с пустым initramfs, второй — с уже готовым), очевидно же.

А потом такую сборку задокументировать. То есть заскриптовать. То есть переписать имеющийся скрипт сборки.

Einstok_Fair ★★☆ ()
Ответ на: комментарий от spijet

Формально да, но нет, потому что нарушается принцип DRY. Я читал, что make быстро всё перепроверит, но это всё равно лишняя работа, которой не должно быть в идеальном мире. Правильное решение должно сначала выполнять минимальное действие, необходимое для сборки модулей, затем сборку модулей, затем досборку ядра. Кроме того, я не доверяю этому скрипту, потому что он недостаточно официальный, а проверять его у меня не хватит квалификации.

Так-то гайд интересный, и более полный, чем официальный (спасибо за удачную рекомендацию). Но мне не нужно шифрование, у меня другие цели.

В этой статье констатируется, что ядро устанавливается не таким способом, особым способом, отличным от способа установки других программ. Но с чём связано решение о применении особого способа установки? Разве нельзя было сделать всё единообразно? Если же есть требование, наличие которого привело к особому способу установки, то почему этот особый способ установки не применяется к другим типам программ, например к демонам, которые также постоянно висят в памяти?

ядро надо конфигурировать, скажете вы. Ну так и другие программы бывают, которые надо конфигурировать.

ядро имеет модули. Ну так и другие программы бывают с плагинами.

Не вижу я юниксвейности во всём этом, у каждого свой целиковый скрипт…

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