gentoo + soft raid1 + grub2 [РЕШЕНО]

Здравствуйте, столкнулся с проблемой загрузки системы с soft рейда 1. При загрузке ядро в панике зависает система с ошибкой что не может подмонтировать корень. Ядро собрал через genkernel с добавлением драйвером и софт рейда. Много таких тем видел но не где не нашел решения. За ранние спасибо.
Вот ошибка если грузиться с рейд массива.
* sys-boot/grub
Latest version available: 2.00-r2
Latest version installed: 2.00-r2

>> Determining root device... 
!!! Could not find the root block device in UUID=****-***-**-*****. 
    Please specify another value or: Press Enter for the same, type "shell" for a shell, or "q" to skip.... 
root block device(UUID=****-***-**-**-****) ::

uname

Linux  3.8.2-gentoo #1 SMP Mon Mar 11 16:02:10 EET 2013 x86_64 Intel(R) Core(TM) i5 CPU 660 @ 3.33GHz GenuineIntel GNU/Linux

ls -l /dev/disk/by-uuid

lrwxrwxrwx 1 root root  9 марта 18  2013 2bf59453-f86d-4e1f-9724-4fee0e9f532b -> ../../md0
lrwxrwxrwx 1 root root 10 марта 18  2013 3e638635-55b3-405d-8ad6-605cc865ed3a -> ../../sda1
lrwxrwxrwx 1 root root 10 марта 18  2013 63dc2cd7-0ec2-46d9-9d2b-6a0c55f2b706 -> ../../sda3
lrwxrwxrwx 1 root root  9 марта 18  2013 bfec2e1a-968b-4547-9f6a-d8b6561bffda -> ../../md2
lrwxrwxrwx 1 root root  9 марта 18  2013 f01ba711-4c8f-41ff-a3d1-2c6dc3e157da -> ../../md1
lrwxrwxrwx 1 root root 10 марта 18  2013 f5ab78ac-c2c9-47c2-a43b-b5ff300092f7 -> ../../sda2

cat /proc/mdstat

Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] [linear] [multipath] 
md0 : active raid1 sdb1[1]
      32704 blocks super 1.2 [2/1] [_U]
      
md2 : active raid1 sdb3[1]
      968208960 blocks super 1.2 [2/1] [_U]
      
md1 : active raid1 sdb2[1]
      8384448 blocks super 1.2 [2/1] [_U]
      
unused devices: <none>
# cat grub.cfg 
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-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 [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

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 {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod diskfilter
insmod mdraid1x
insmod ext2
set root='mduuid/286ddce9efac9c69e607d32a5804ec76'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint='mduuid/286ddce9efac9c69e607d32a5804ec76'  bfec2e1a-968b-4547-9f6a-d8b6561bffda
else
  search --no-floppy --fs-uuid --set=root bfec2e1a-968b-4547-9f6a-d8b6561bffda
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=ru_RU
  insmod gettext
fi
terminal_output gfxterm
if sleep --interruptible 0 ; then
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Gentoo GNU/Linux' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-bfec2e1a-968b-4547-9f6a-d8b6561bffda' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_msdos
	insmod diskfilter
	insmod mdraid1x
	insmod ext2
	set root='mduuid/f936feb9540cd97a88d29d6fe52e87ec'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint='mduuid/f936feb9540cd97a88d29d6fe52e87ec'  2bf59453-f86d-4e1f-9724-4fee0e9f532b
	else
	  search --no-floppy --fs-uuid --set=root 2bf59453-f86d-4e1f-9724-4fee0e9f532b
	fi
	echo	'Загружается Linux x86_64-3.8.2-gentoo …'
	linux	/kernel-genkernel-x86_64-3.8.2-gentoo root=UUID=bfec2e1a-968b-4547-9f6a-d8b6561bffda ro  
	echo	'Загружается начальный виртуальный диск …'
	initrd	/initramfs-genkernel-x86_64-3.8.2-gentoo
}
submenu 'Дополнительные параметры для Gentoo GNU/Linux' $menuentry_id_option 'gnulinux-advanced-bfec2e1a-968b-4547-9f6a-d8b6561bffda' {
	menuentry 'Gentoo GNU/Linux, с Linux x86_64-3.8.2-gentoo' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-x86_64-3.8.2-gentoo-advanced-bfec2e1a-968b-4547-9f6a-d8b6561bffda' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod diskfilter
		insmod mdraid1x
		insmod ext2
		set root='mduuid/f936feb9540cd97a88d29d6fe52e87ec'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint='mduuid/f936feb9540cd97a88d29d6fe52e87ec'  2bf59453-f86d-4e1f-9724-4fee0e9f532b
		else
		  search --no-floppy --fs-uuid --set=root 2bf59453-f86d-4e1f-9724-4fee0e9f532b
		fi
		echo	'Загружается Linux x86_64-3.8.2-gentoo …'
		linux	/kernel-genkernel-x86_64-3.8.2-gentoo root=UUID=bfec2e1a-968b-4547-9f6a-d8b6561bffda ro  
		echo	'Загружается начальный виртуальный диск …'
		initrd	/initramfs-genkernel-x86_64-3.8.2-gentoo
	}
	menuentry 'Gentoo GNU/Linux, с Linux x86_64-3.8.2-gentoo (режим восстановления)' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-x86_64-3.8.2-gentoo-recovery-bfec2e1a-968b-4547-9f6a-d8b6561bffda' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod diskfilter
		insmod mdraid1x
		insmod ext2
		set root='mduuid/f936feb9540cd97a88d29d6fe52e87ec'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint='mduuid/f936feb9540cd97a88d29d6fe52e87ec'  2bf59453-f86d-4e1f-9724-4fee0e9f532b
		else
		  search --no-floppy --fs-uuid --set=root 2bf59453-f86d-4e1f-9724-4fee0e9f532b
		fi
		echo	'Загружается Linux x86_64-3.8.2-gentoo …'
		linux	/kernel-genkernel-x86_64-3.8.2-gentoo root=UUID=bfec2e1a-968b-4547-9f6a-d8b6561bffda ro single 
		echo	'Загружается начальный виртуальный диск …'
		initrd	/initramfs-genkernel-x86_64-3.8.2-gentoo
	}
}

### 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  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

Ну т.е. при генерации

Ну т.е. при генерации initramfs с помощью genkernel вы добавляли опцию '--mdadm' и '--mdadm-config=конфиг_mdadm', а ядру указываете параметр domdadm., что бы сценарий init в initramfs собрал raid ? Ну, по крайней мере последнее вы уж точно не делаете.

Кроме всего прочего при генерации initramfs с помощью genkernel вам нужно так же указывать параметр '--disklabel', для поддержки монтирования корня по UUID / LABEL.

Вот даже в конфиге указал.

Вот даже в конфиге указал.

mdadm.conf

DEVICE partitions
ARRAY /dev/md0 metadata=1.2 name=xedoss:0 UUID=f936feb9:540cd97a:88d29d6f:e52e87ec
ARRAY /dev/md1 metadata=1.2 name=xedoss:1 UUID=e96e4f21:3997b231:cfb97356:8bd82990
ARRAY /dev/md2 metadata=1.2 name=xedoss:2 UUID=286ddce9:efac9c69:e607d32a:5804ec76

genkernel.conf

OLDCONFIG="yes"
MENUCONFIG="yes"
CLEAN="yes"
MRPROPER="yes"
MOUNTBOOT="yes"
SAVE_CONFIG="yes"
USECOLOR="yes"
GPG="yes"
DMRAID="yes"
MDADM="yes"
MDADM_CONFIG="/etc/mdadm.conf"
DISKLABEL="yes"
GK_SHARE="${GK_SHARE:-/usr/share/genkernel}"
CACHE_DIR="/var/cache/genkernel"
DISTDIR="${CACHE_DIR}/src"
LOGFILE="/var/log/genkernel.log"
LOGLEVEL=1
DEFAULT_KERNEL_SOURCE="/usr/src/linux"
REAL_ROOT="UUID=bfec2e1a-968b-4547-9f6a-d8b6561bffda"

Где у вас в конфиге

Где у вас в конфиге загрузчика есть среди параметров, передаваемых ядру Gentoo параметр 'domdadm' ? Я уже вас об этом спросил.

Да добавил параметр

Да добавил параметр загрузилось все. Спасибо.

Всё же добавлю пост: У вас

Всё же добавлю пост:
У вас строка с указанием параметров, передаваемых ядру Gentoo в конфигурации grub2 выглядит так:

linux	/kernel-genkernel-x86_64-3.8.2-gentoo root=UUID=bfec2e1a-968b-4547-9f6a-d8b6561bffda ro 

Т.е. вы передаёте всего два параметра, root=UUID=bfec2e1a-968b-4547-9f6a-d8b6561bffda и ro, что бы активировалось выполнение процедуры сборки mdadm массива вам нужно добавить параметр domdadm. Т.е. строка должна выглядеть хотя бы так:

linux	/kernel-genkernel-x86_64-3.8.2-gentoo root=UUID=bfec2e1a-968b-4547-9f6a-d8b6561bffda ro domdadm

Задействование опции 'MDADM="yes"' лишь добавляет в initramfs поддержку mdadm, но не активирует выполнение сборки массива.

Отредактируйте шапку темы и допишите к названию темы '[SOLVED]' или '[РЕШЕНО]'. Кроме того неплохо бы указать ниже описания темы что-то вроде: "Решение: передать ядру параметр domdadm " .

PS: читайте документацию и внимательно читайте сообщения на форуме, которые вам пишут, когда помогают решить вашу проблему.

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

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