[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Загрузка grub2 с lvm внутри шифрованного раздела



На машине смесь стейбла, тестинга и сида.
Настраиваю загрузку с шифрованного раздела, внутри которого lvm.
/dev/sdb2 - /boot
/dev/sdb3 - шифрованный раздел
Прописан в /etc/crypttab
brtntbkusb UUID=63080eed-a812-4961-b0b9-baad344dc13d none luks
На /dev/mapper/brtntbkusb pv для vg с именем brtntbk, на vg находится lv
с именем root, где и располагается корневая ФС (всё, кроме /boot и /home)
В /etc/fstab написано так:
UUID="c584fc3e-c6e7-4432-8980-38a71218feb5"	/               ext4
noatime,errors=remount-ro         0       1
UUID="1d027431-f8f1-4452-ada3-586338196b19"     /boot		ext4
noatime,errors=remount-ro         0       1

uuid верные. Я проверял.

В "ручном" режиме всё работает. Хочу автоматической загрузки. Да, я знаю
что пароль надо ручками водить, но не команды же.
Вот чего добился сейчас:
При выборе в grub чего загружать процесс загрузки замирает секунд на 10,
затем выдаёт это:

 Volume group "brtntbk" not found
 Skipping volume group btrntbk
Unable to find LVM volume brtntbk/root
Gave up waiting for root devive. Common problems:
 - Boot args (cat /proc/cmdline)
  - Check rootdelay= (did system wait long enough?)
  - Check root= (did the system wait for right device?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/brtntbk/root does not exist. Dropping to shell!


BusyBox v1.18.5 (Debian 1:1.18.5-1) built-in shell (ash)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty: job control turned off
(initramfs)

Я ручками ввожу команды:
cryptosetup luksOpen /dev/sdb3 brtntbkusb
lvm pvscan
lvm pvchange -x y /dev/mapper/brtntbkusb
lvm vgchange -a y brtntbk
lvm lvchange -a y brtntbk
Затем жму Ctrl+D и загрузка нормально продолжается дальше

Как сделать так, чтобы эти команды не проходилось вводить руками при
каждой загрузке? Куда смотреть? На grub? на initramfs? Что-то другое?
Может какой конфиг показать? Версии программ? grub.cfg в аттаче.
Я знаю что инсталлятор при выборе автоматической разметки на шифрованном
lvm делает именно так, как я хочу, но переставлять ради загрузчика -
перебор. Ведь решение наверняка где-то на поверхности.
Заранее спасибо за любую информацию, будь то магический пинок с
правильным запросом в гугл, статьёй или строчкой конфига.

-- 
Best regards,
	Mikhail.
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(/dev/sdb,msdos2)'
search --no-floppy --fs-uuid --set=root 1d027431-f8f1-4452-ada3-586338196b19
if loadfont /grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
  insmod part_msdos
  insmod ext2
  set root='(/dev/sdb,msdos2)'
  search --no-floppy --fs-uuid --set=root 1d027431-f8f1-4452-ada3-586338196b19
  set locale_dir=($root)/grub/locale
  set lang=ru_RU
  insmod gettext
fi
terminal_output gfxterm
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, Ñ? Linux 3.0.0-1-686-pae' --class debian --class gnu-linux --class gnu --class os {
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='(/dev/sdb,msdos2)'
	search --no-floppy --fs-uuid --set=root 1d027431-f8f1-4452-ada3-586338196b19
	echo	'Ð?агÑ?Ñ?жаеÑ?Ñ?Ñ? Linux 3.0.0-1-686-pae ...'
	linux	/vmlinuz-3.0.0-1-686-pae root=/dev/mapper/brtntbk-root ro rootfstype=ext4 quiet
	echo	'Ð?агÑ?Ñ?жаеÑ?Ñ?Ñ? наÑ?алÑ?нÑ?й ramdisk ...'
	initrd	/initrd.img-3.0.0-1-686-pae
}
menuentry 'Debian GNU/Linux, Ñ? Linux 3.0.0-1-686-pae (Ñ?ежим воÑ?Ñ?Ñ?ановлениÑ?)' --class debian --class gnu-linux --class gnu --class os {
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='(/dev/sdb,msdos2)'
	search --no-floppy --fs-uuid --set=root 1d027431-f8f1-4452-ada3-586338196b19
	echo	'Ð?агÑ?Ñ?жаеÑ?Ñ?Ñ? Linux 3.0.0-1-686-pae ...'
	linux	/vmlinuz-3.0.0-1-686-pae root=/dev/mapper/brtntbk-root ro single rootfstype=ext4
	echo	'Ð?агÑ?Ñ?жаеÑ?Ñ?Ñ? наÑ?алÑ?нÑ?й ramdisk ...'
	initrd	/initrd.img-3.0.0-1-686-pae
}
menuentry 'Debian GNU/Linux, Ñ? Linux 2.6.32-5-686' --class debian --class gnu-linux --class gnu --class os {
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='(/dev/sdb,msdos2)'
	search --no-floppy --fs-uuid --set=root 1d027431-f8f1-4452-ada3-586338196b19
	echo	'Ð?агÑ?Ñ?жаеÑ?Ñ?Ñ? Linux 2.6.32-5-686 ...'
	linux	/vmlinuz-2.6.32-5-686 root=/dev/mapper/brtntbk-root ro rootfstype=ext4 quiet
	echo	'Ð?агÑ?Ñ?жаеÑ?Ñ?Ñ? наÑ?алÑ?нÑ?й ramdisk ...'
	initrd	/initrd.img-2.6.32-5-686
}
menuentry 'Debian GNU/Linux, Ñ? Linux 2.6.32-5-686 (Ñ?ежим воÑ?Ñ?Ñ?ановлениÑ?)' --class debian --class gnu-linux --class gnu --class os {
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='(/dev/sdb,msdos2)'
	search --no-floppy --fs-uuid --set=root 1d027431-f8f1-4452-ada3-586338196b19
	echo	'Ð?агÑ?Ñ?жаеÑ?Ñ?Ñ? Linux 2.6.32-5-686 ...'
	linux	/vmlinuz-2.6.32-5-686 root=/dev/mapper/brtntbk-root ro single rootfstype=ext4
	echo	'Ð?агÑ?Ñ?жаеÑ?Ñ?Ñ? наÑ?алÑ?нÑ?й ramdisk ...'
	initrd	/initrd.img-2.6.32-5-686
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: