[РЕШЕНО] LUKS, LVM проблема при загрузке initrd
discobear 23 сентября, 2012 - 23:09
Реализовал простенько схему:
sda1 (LUKS)
|
vg (LVM)
|
| |
/ /home
sdb1
|
/boot
Т.е. boot на usb-флешке. На ней ядро и initramfs.
Init-скрипт в последнем монтирует LUKS-том и предлагает пользователю ввести пароль. Затем монтирует тома из LVM
Но вот проблемка. Пока я ввожу пароль, ядро продолжает грузиться. Т.е. после приглашения на ввод пароля, который я ещё не успеваю ввести, начинает сыпаться лог загрузки ядра. Если в этот момент оно ищет дополнительные модули в корне, то, естественно, не находит их, т.к. корень ещё не смонтирован.
Что я делаю не так?
»
- Для комментирования войдите или зарегистрируйтесь
IMHO, нужно предусмотреть
IMHO, нужно предусмотреть «остановку» для ввода пароля в init-скрипте из созданного вами initramfs.
Гляньте, как это сделано, в Funtoo — http://www.funtoo.org/wiki/Rootfs_over_encrypted_lvm#Initramfs_setup_and_configuration
Я ♥ Gentoo & Funtoo
спасибо. Эту статейку я
спасибо. Эту статейку я видел, но использовал первый grub.
Шутка как раз в том, что не смотря на приостановки в init-скрипте, ядро грузится независимо.
Смотрите настройки Grub'а. У
Смотрите настройки Grub'а. У меня реализована схема, подобная вашей (разве что /boot не на флешке, а на отдельном разделе). И загрузка не продолжается, пока не введу пароль.
Вот на всякий случай моя конфигурация Grub'а:
Я ♥ Gentoo & Funtoo
discobear написал(а): Если в
поэтому соответствующие модули должны быть в initramfs. А чтоб ядро в консоль не сыпало, надо либо передать ядру параметр quiet, либо вообще перенаправить куда-нить (см. параметр ядра console).
на GRUB2 всё заработало как
на GRUB2 всё заработало как надо. Проблема в том, что использование первого GRUB вместе с lvm имеет весьма костыльное решение.
Конкретнее пожалуйста, а то я
Конкретнее пожалуйста, а то я несколько лет юзаю и не знаю.
наврал, наврал )) Только
наврал, наврал ))
Только сейчас более-менее понял, в чём проблема. И оказалось, что ничего не решено.
У меня установлена фёрмварь для wifi карточки:
sys-firmware/iwl6050-ucode
При загрузке ядро ищет в /lib64/firmware/ файл iwlwifi-6050-5.ucode. Пока я те открою luks-том, оно его там не находит. Если пара попыток поиска фёрмвари прошла и я ввожу пароль на шифрованый том, то интерфейс wifi карточки не поднимается.
Сначала думал, что этот файл надо добавить в initramfs. Попытка не удалась. На всех форумах по похожей тематике натыкался, что в моём случае поднимать интерфейс должен udev. Однако он ничего такого не делает.
Что-то я совсем погряз уже в этом процессе загрузки.
Правьте /etc/genkernel.conf
Правьте /etc/genkernel.conf - там есть и про /lib64/firmware тоже...
всё решилось до смешного
всё решилось до смешного просто.
Драйвер карты добавил в ядро как модуль и добавил его загрузку в modules.conf