[luks][lvm2][genkernel]Не может смонтировать root.[solved]

Загружаю ядро, а там "пытаюсь смонтировать reiserfs ext[2-4] xfs ... не могу смонтировать root".
ядро/initramfs содаётся по genkernel --kernel-config=/usr/src/config --luks --lvm all .config

menu.lst:

default 0
timeout 3

title Gentoo luks
root(hd0,0)
kernel /boot/kernel init=/linuxrc dolvm crypt_root=/dev/sda3 real_root=/dev/mapper/crypt_root
initramfs /boot/initramfs

title Gentoo luks test
root(hd0,0)
kernel /boot/kernel init=/linuxrc dolvm crypt_root=/dev/sda3 real_root=/dev/mapper/crypt_root root=/dev/ram0
initramfs /boot/initramfs

Догадываюсь о том, что dolvm и --lvm не нужны, т.к. до их применения / должен смонтироваться.
cryptsetup/lvm2 собраны с USE="static. Зашифрованы так: cryptsetup -c aes-cbc-essiv:sha256 -h sha256 luksFormat device name
Разбивка такая:

/dev/sda1		/boot			ext2		noauto,noatime	1 2
/dev/mapper/crypt_root	/			ext4		noatime		0 1(/dev/sda3)
/dev/mapper/lvm-usr	/usr			ext4		noatime		0 1
/dev/mapper/lvm-home	/home			ext4		noatime		0 1
/dev/mapper/lvm-portage	/usr/portage		reiserfs	noatime		0 1(lvm == /dev/sda4)
/dev/mapper/lvm-distfiles /build/distfiles	xfs		noatime		0 1
/dev/mapper/lvm-temp	/build/temp		reiserfs	noatime		0 1
/dev/mapper/swap	none			swap		sw		0 0(/dev/sda2)

Сори, выложил не тот конфиг(0

Сори, выложил не тот конфиг(0 скачиваний) ядра, вот он.

PS hardened 38-r4 arch=x86.

tn1 написал(а): Загружаю

tn1 написал(а):
Загружаю ядро, а там "пытаюсь смонтировать reiserfs ext[2-4] xfs ... не могу смонтировать root".

У меня та же самая проблема. Только зашифровано все кроме boot. Собрано все с static, static-libs и -dinamic.
Ядро собирал с genkernel с параметром --luks, все что нужно для загрузки криптоконтейнера в ядро включено не модулями (поддержка initram, dm, reiserfs, хешей криптоалгоритмов и т.п.).
Параметры загрузки:

Gentoo
root(hd0,0)
kernel /boot/kernel crypt_root=/dev/sda2 real_root=/dev/mapper/root
initramfs /boot/initramfs

Пробовал и как в сообщении выше и всяко разно.
sda2 собственно раздел с luks, файловая система на /dev/mapper/root reiserfs, на sda1 /boot ext2

При загрузке выдается сообщение что на /dev/sda2 заголовок luks не найден.

Много чего пробовал, осталось только забекапить данные да и пересоздать криптоконтейнер, хотя маловероятно что получится, так как он вполне стандартный и открывается без проблем, не в нем дело. Создавал контейнер командой cryptsetup luksFormat /dev/sda2, тоесть с настройками по умолчанию.

Цитата: Только зашифровано

Цитата:
Только зашифровано все кроме boot.

У меня тоже.

Цитата:
При загрузке выдается сообщение что на /dev/sda2 заголовок luks не найден.

А в оригинале?

//Сейчас собирал дефолтный genkernelовский конфиг(вкомпилял в ядро fs/dm/dm-crypt/aes/sha/ram) ситуация не изменилась.

tn1 написал(а): А в

tn1 написал(а):
А в оригинале?

Device /dev/sda2 doesn't exist or access denied.
!! The LUKS device /dev/sda2 does not contain a LUKS header

Скорее всего придется в ручную initrd собирать.

cryptsetup isLuks device

cryptsetup isLuks /dev/sda2

cryptsetup isLuks /dev/sda2

cryptsetup isLuks /dev/sda2 && echo Sucess
Suсess

С разделом все в порядке к сожалению.

Собственно проблему свою

Собственно проблему свою решил.
Собрал с genkernel --luks all , предварительно удалив все конфиги которые он мог подхватить из /etc/kernels и даже без --menuconfig
Как результат, выдал запрос на ввод пароля, но увы пароль не принимал.
Тогда собрал с genkernel --luks --menuconfig all (конфиги опять удалил) и выбрал в настройках шифрования не модулями cbc, aes, sha 256 и все. После этого заработало, загрузился.

tn1 написал(а):
Цитата:
Только зашифровано все кроме boot.

У меня тоже.

Судя по разбивке разделов шифруется только / sda3, а /usr /home и др. сделаны на lvm который поднят на разделе sda4, который вовсе не шифрованный.
Обычно делают так. Делят на 2 раздела, один /boot, а второй sda2 шифруют, затем на шифрованный раздел ставят lvm и его потом уже и разбивают как душе угодно. Тоесть lvm накатывают на виртуальный диск /dev/mapper/crypt_root.
А в параметрах загрузки ядра указывается не real_root=/dev/mapper/crypt_root, а real_root=/dev/mapper/crypt_root_lvmroot
dolvm включает инициализацию lvm, это нужно только когда / на lvm.
При текущей разбивке это не нужно, как и опция --lvm для genkernel

Принципе и такая конфигурация может иметь место, только зачем шифровать root без всего остального, многие наоборот делают все разделы шифруют кроме /.
У меня то все в / , других разделов нет, тоесть все зашифровано.

ЗЫ: загрузится то загрузился, а пароль на root забыл поставить :)

Цитата: Судя по разбивке

Цитата:
Судя по разбивке разделов шифруется только / sda3, а /usr /home и др. сделаны на lvm который поднят на разделе sda4, который вовсе не шифрованный.

Нет. /dev/sda4 это /dev/mapper/lvm_crypt который в свою очередь /usr/ /build/* /home /usr/portage/. swap тоже зашифрован.

tn1 написал(а):Нет.

tn1 написал(а):
Нет. /dev/sda4 это /dev/mapper/lvm_crypt который в свою очередь /usr/ /build/* /home /usr/portage/. swap тоже зашифрован.

Понял теперь, что 2 криптоконтейнера используется, в заблуждение вела пометка

Цитата:
/dev/mapper/lvm-portage /usr/portage reiserfs noatime 0 1(lvm == /dev/sda4)

Если не сложно, выложи конфиг

Если не сложно, выложи конфиг ядра на http://www.rghost.ru

tn1 написал(а): Если не

tn1 написал(а):
Если не сложно, выложи конфиг ядра на http://www.rghost.ru

kernel-config-x86-2.6.37-gentoo-r4
Только там ничего нет интересного, как уже писал сконфигурирован genkernel автоматом с ключом --luks, включены не модулем только CONFIG_CRYPTO_AES CONFIG_CRYPTO_SHA256 и CONFIG_CRYPTO_CBC

Со своим initramfs, всё

Со своим initramfs, всё заработало.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".