Bug 23308

Summary: grub-install не отрабатывает полностью
Product: Sisyphus Reporter: astroiLL <astroill>
Component: grub2Assignee: Vitaly Kuznetsov <vitty>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: major    
Priority: P3 CC: boyarsh
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
ls -l /boot/grub none

Description astroiLL 2010-04-09 09:34:03 MSD
Created attachment 4338 [details]
ls -l /boot/grub

Последний Сизиф x86_64
Хотел поставить grub2 для xen:
# apt-get install grub2
# grub-install /dev/cciss/c0d0
Выдает:
/usr/sbin/grub-setup: warn: Your embedding area is unusually small. core.img won't fit in it..
/usr/sbin/grub-setup: warn: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and its use is discouraged..
/usr/sbin/grub-setup: error: if you really want blocklists, use --force.
Если запустить:
# grub-install --force /dev/cciss/c0d0
То завершается нормально.
Дальше:
# grub-mkconfig -o /boot/grub/grub.cfg
Дальше все вроде работает, grub меню при загрузке появляется, ядро vmlinuz-2.6.32-un-def-alt11 загружается:
# uname -a
Linux VM01.doman.ru 2.6.32-un-def-alt11 #1 SMP PREEMPT Sat Apr 3 04:31:12 UTC 2010 x86_64 GNU/Linux
Но ядро vmlinuz-2.6.31-xen-dom0-alt1 не грузится пишет:
Loading Linux xen...
error: invalid magic number.
Loading initial ramdisk...
error: you need to load the kernel first.
И далее возврат в меню grub2
# cat /etc/fstab
proc            /proc                   proc    nosuid,noexec,gid=proc         0 0
devpts          /dev/pts                devpts nosuid,noexec,gid=tty,mode=620  0 0
tmpfs           /tmp                    tmpfs   nosuid         0 0
UUID=7b3fc6ef-a485-46c2-ad42-7aaa8814b655       /       ext3    relatime        1       1
UUID=203c0968-86cb-45b9-aa28-74b9f77e436c       /srv    ext3 nosuid,nodev,relatime,usrquota,grpquota 1       2
UUID=9fa3445c-1fa0-441c-9aee-4f778907ca5a       /var    ext3 nosuid,relatime 1       2
/dev/hda        /media/cdrom    udf,iso9660     ro,noauto,user,utf8     0 0

ЗЫ. Хоть бы кратенький док по инстоляции grub2, а то пока докопал, что конфиг у grub2 это /boot/grub/grub.cfg все глаза об скрипты обломал.
Comment 1 Vitaly Kuznetsov 2010-04-11 00:03:46 MSD
1) С документацией действительно наблюдаются некоторые сложности, причём апстримные. Что за устройство выглядит как /dev/cciss/c0d0?

2) Xen вы, скорее всего, неправильно грузите. Вот пример правильного конфига:

menuentry "XEN" {
        insmod ext2
        set root=(hd0,1)
        search --no-floppy --fs-uuid --set 42a0c11f-e610-4d4d-86bb-06bb7ddee9ae
        multiboot /boot/xen.gz
        module /boot/vmlinuz-xen ro root=UUID=42a0c11f-e610-4d4d-86bb-06bb7ddee9ae ro panic=30 vga=0x314 panic=30 splash=silent quiet
        module /boot/initrd-xen.img
}
Comment 2 astroiLL 2010-04-12 09:22:36 MSD
/dev/cciss/c0d0 это 0-й диск 0-го SCSI RAID-5 контроллера в сервере HP Proliant DL380
Модуль cciss.ko

С xen-ом буду разбираться отдельно (как бы тема не про него), за пример спасибо.
Comment 3 Vitaly Kuznetsov 2010-04-12 10:42:37 MSD
Выполните, пожалууйста,
grub-setup -v /dev/c0d0
Comment 4 Vitaly Kuznetsov 2010-04-12 10:43:08 MSD
(В ответ на комментарий №3)
> Выполните, пожалууйста,
> grub-setup -v /dev/c0d0

Извиняюсь, /dev/cciss/c0d0
Comment 5 Vitaly Kuznetsov 2010-04-12 11:31:01 MSD
(из вывода, присланного в private).
>> grub-setup: info: /dev/cciss/c0d0p1 starts from 32.

У вас нестандартным образом начинается первый раздел. Обычно его принято начинать с 63-го сектора, у вас - с 32го. В оставшееся место grub не влезает, потому и предлагает использовать blocklists.

Собственно, если с blocklists (--force) у вас всё работает - не беспокойтесь и пользуйтесь. Если хочется исправить ситуацию - переразбейте этот массив так, чтобы места хватило.