gentoo + soft raid1 + grub2 [РЕШЕНО]
kodoss 18 марта, 2013 - 15:38
Здравствуйте, столкнулся с проблемой загрузки системы с 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
genkernel.conf
Где у вас в конфиге
Где у вас в конфиге загрузчика есть среди параметров, передаваемых ядру Gentoo параметр 'domdadm' ? Я уже вас об этом спросил.
Да добавил параметр
Да добавил параметр загрузилось все. Спасибо.
Всё же добавлю пост: У вас
Всё же добавлю пост:
У вас строка с указанием параметров, передаваемых ядру Gentoo в конфигурации grub2 выглядит так:
Т.е. вы передаёте всего два параметра, root=UUID=bfec2e1a-968b-4547-9f6a-d8b6561bffda и ro, что бы активировалось выполнение процедуры сборки mdadm массива вам нужно добавить параметр domdadm. Т.е. строка должна выглядеть хотя бы так:
Задействование опции 'MDADM="yes"' лишь добавляет в initramfs поддержку mdadm, но не активирует выполнение сборки массива.
Отредактируйте шапку темы и допишите к названию темы '[SOLVED]' или '[РЕШЕНО]'. Кроме того неплохо бы указать ниже описания темы что-то вроде: "Решение: передать ядру параметр domdadm " .
PS: читайте документацию и внимательно читайте сообщения на форуме, которые вам пишут, когда помогают решить вашу проблему.