[SOLVED] grub2+lvm2

Создал том lvm, на нём создал все разделы включая boot. Чтобы иметь возможность загружаться прямо с lvm поставил grub-1.99-r2. В его комплекте есть утилита grub2-mkconfig, которая на основе скриптов в /etc/grub.d/ умеет автоматически создавать конфиг. У меня генерируется вот такой конфиг:

Generating 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 [ "${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 {
cat: /boot/grub2/video.lst: No such file or directory
true
}

if sleep --interruptible 0 ; then
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
### 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 ###
done

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

--- /root/grub.cfg      2011-10-03 17:44:59.000000000 +0000
+++ /boot/grub2/grub.cfg        2011-10-03 17:26:58.000000000 +0000
@@ -47,7 +47,7 @@
        set root='(vg-boot)'
        search --no-floppy --fs-uuid --set=root c6fab5f5-4b6c-4299-bff1-4fc98f305356
        echo    'Loading Linux 2.6.39-r3 ...'
-       linux   /kernel-2.6.39-r3 root=/dev/mapper/vg-root ro
+       linux   /kernel-2.6.39-r3 root=/dev/ram0 ro dolvm real_root=/dev/mapper/vg-root init=/linuxrc
        echo    'Loading initial ramdisk ...'
        initrd  /initramfs-genkernel-2.6.39-r3
 }

Можно подправить /etc/grub.d/10_linux, и это решит проблему. Есть ли другие пути и вообще как лучше поступить в данном случае?

/etc/default/grub

GRUB_CMDLINE_LINUX="blablabla"
гугл, да.

ЗЫ, почитайте скрипты генерации. Вам, по любому их придется подправить, чтобы всё было правильно. Только, одно дело полностью всё там прописать и потом менять каждый раз когда это понадобится, а другое - к root= добавить "real_" и забыть, при том держа основную конфигурационную часть строки в переменной конфига

ЗЫЫ.

Цитата:
/etc/grub.d/10_linux: linux ${rel_dirname}/${basename} real_root=${linux_root_device_thisversion} ro ${args}

GRUB_CMDLINE_LINUX уже нашел.

GRUB_CMDLINE_LINUX уже нашел. Пожалуй пойду еще поковыряюсь и все же немного поправлю скрипты по вашему совету. Спасибо

вообще как показывает

вообще как показывает практика лучше вообще на lvm не держать boot раздел, поскольку пользы от этого нет никакой, LVM создавался для динамического конфигурирования раздела - это было и есть удобно. Boot раздел нужен только один раз при загрузке и как правило его расширение не суть важный вопрос. Поэтому если ваш вопрос из сферы образования то он имеет смысл для обсуждения, но если это практический вопрос то держать boot на lvm это моветон.

Что касается раздела root. То абсолютно нет проблем с grub#1 и lvm если вкопмпилировать в ядро соответствующий модуль dm или использовать initrd в другом случае.

Про boot раздел на lvm я в

Про boot раздел на lvm я в курсе, что это считается плохим тоном.
Если вынести boot отдельно, то при этом как раз можно использовать grub#1, но у меня задача состоит в том, чтобы boot был на томе lvm, поэтому и использую grub#2

ЗЫ Никаких возражений против вышесказанного вами не имею и полностью согласен, но ничего смертельного все же не нахожу в том, чтобы boot был внутри lvm.

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

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