Исправление ядра для возможности загрузки без initrd

Исправление ядра для возможности загрузки без initrd

Первый ответ 'Почему Linux использует начальный RAM-диск при загрузке?' утверждает, что файловая система initrd/initial ram используется для предоставления драйверов для монтирования настоящей корневой файловой системы. Также говорится, что этовозможныйдля исправления этих драйверов в ядре, чтобы initrdне требовалась начальная файловая система ram, но не дал объяснений, как это сделать. Как мне пропатчить ядро ​​(последнюю версию), чтобы смонтировать файловую систему EXT4 в корне без помощи initrd, и будет ли это решение поддерживать UUIDs?

решение1

Вам не нужно ничего патчить. Вам просто нужно настроить и скомпилировать ядро ​​самостоятельно. Это сложная задача, поэтому она не для новичков. Хитрость в том, чтобы настроить ядро ​​для поддержки только вашего оборудования и скомпилировать все внутри ядра, а не как модуль (по крайней мере, драйверы, необходимые для загрузки: контроллер диска, файловая система, …).

Существует множество руководств по настройке и компиляции ядра.

Так что просто наберите в Google "kernel compile {ваш дистрибутив}". Важно использовать правильный учебник для вашего дистрибутива. Дистрибутив, который вы используете, может ожидать, что некоторые функции будут доступны только в ядре "distro", а не в ядре "vanilla". Правильный учебник укажет вам на правильные источники.

Вы можете использовать UUID в /etc/fstabGRUB, но не в нем после удаления initrd/initramfs.

Например, я использую Gentoo и никогда не использовал initrd/initramfs. Каждый раз, когда доступно новое ядро, я должен настроить и скомпилировать его самостоятельно. Я использую grub с root=/dev/sdb4параметрами ядра, но в fstab я использую UUID.

Связанный контент