Я только что установил базовую систему Gentoo (что означает, что я могу загружаться, входить в систему и делать что-то с ней сейчас). Мой корневой раздел находится в виртуальной группе LVM2 (с отдельным /boot
разделом). Для загрузки мне нужно передать нижеуказанные параметры ядру:
root=/dev/ram0 real_root=/dev/vg/rootlv init=/linuxrc dolvm
Очевидно, что он использует начальный ramdisk, чтобы сделать что-то (я думаю, загрузка вещей LVM) перед монтированием root. Есть ли способ, которым я могу поместить этот код в само ядро, чтобы не нужен initrd? Если нет, то как я могу сделать initrd сам?
Возможно, было бы полезно добавить, что я пытался скомпилировать ядро для не-LVM root без initrd, и оно работало отлично. Затем я попытался поместить все это под LVM и не смог загрузить машину (я думаю, она не может справиться с вещами LVM). Затем я использовал genkernel
инструмент с --lvm
опцией, и он создает рабочее ядро и initrd, которые я сейчас использую.
Теперь я хочу пропустить genkernel
и сделать все самостоятельно, желательно без initrd, чтобы машина загрузилась немного быстрее (мне все равно не нужна гибкость).