[luks][lvm2][genkernel]Не может смонтировать root.[solved]
tn1 16 мая, 2011 - 23:01
Загружаю ядро, а там "пытаюсь смонтировать 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 написал(а): Загружаю
У меня та же самая проблема. Только зашифровано все кроме boot. Собрано все с static, static-libs и -dinamic.
Ядро собирал с genkernel с параметром --luks, все что нужно для загрузки криптоконтейнера в ядро включено не модулями (поддержка initram, dm, reiserfs, хешей криптоалгоритмов и т.п.).
Параметры загрузки:
Пробовал и как в сообщении выше и всяко разно.
sda2 собственно раздел с luks, файловая система на /dev/mapper/root reiserfs, на sda1 /boot ext2
При загрузке выдается сообщение что на /dev/sda2 заголовок luks не найден.
Много чего пробовал, осталось только забекапить данные да и пересоздать криптоконтейнер, хотя маловероятно что получится, так как он вполне стандартный и открывается без проблем, не в нем дело. Создавал контейнер командой cryptsetup luksFormat /dev/sda2, тоесть с настройками по умолчанию.
Цитата: Только зашифровано
У меня тоже.
А в оригинале?
//Сейчас собирал дефолтный genkernelовский конфиг(вкомпилял в ядро fs/dm/dm-crypt/aes/sha/ram) ситуация не изменилась.
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
С разделом все в порядке к сожалению.
Собственно проблему свою
Собственно проблему свою решил.
Собрал с genkernel --luks all , предварительно удалив все конфиги которые он мог подхватить из /etc/kernels и даже без --menuconfig
Как результат, выдал запрос на ввод пароля, но увы пароль не принимал.
Тогда собрал с genkernel --luks --menuconfig all (конфиги опять удалил) и выбрал в настройках шифрования не модулями cbc, aes, sha 256 и все. После этого заработало, загрузился.
Судя по разбивке разделов шифруется только / 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 забыл поставить :)
Цитата: Судя по разбивке
Нет. /dev/sda4 это /dev/mapper/lvm_crypt который в свою очередь /usr/ /build/* /home /usr/portage/. swap тоже зашифрован.
tn1 написал(а):Нет.
Понял теперь, что 2 криптоконтейнера используется, в заблуждение вела пометка
Если не сложно, выложи конфиг
Если не сложно, выложи конфиг ядра на http://www.rghost.ru
tn1 написал(а): Если не
kernel-config-x86-2.6.37-gentoo-r4
Только там ничего нет интересного, как уже писал сконфигурирован genkernel автоматом с ключом --luks, включены не модулем только CONFIG_CRYPTO_AES CONFIG_CRYPTO_SHA256 и CONFIG_CRYPTO_CBC
Со своим initramfs, всё
Со своим initramfs, всё заработало.