Как настроить grub2 с помощью Xen?

я загружаю новое ядро Xen, и все идет нормально до некоторого момента во время процесса загрузки, когда машина перезагружается без предупреждения. К сожалению, я не вижу, чтобы ошибки вспыхивали непосредственно перед тем, как это произойдет.

есть ли способ загрузить машину с работающим ядром и посмотреть журнал предыдущей загрузки или что-то еще?

изменить:
То, что я не заметил, что на самом деле есть ошибка на экране. Он просто мигает очень быстро перед перезагрузкой. Ошибка связана с невозможностью монтирования корневой файловой системы, потому что что что-то не так с моей конфигурацией grub.

нормальный вход в grub.cfg выглядит так:

menuentry 'Ubuntu, with Linux 2.6.32-33-server' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        insmod ext2
        set root='(hd0,1)'
        search --no-floppy --fs-uuid --set 75475e50-82e2-4f74-b860-6cf92c91b42e
        linux   /vmlinuz-2.6.32-33-server root=/dev/mapper/xenserver-root ro   crashkernel=384M-2G:64M,2G-:128M 
        initrd  /initrd.img-2.6.32-33-server
}

я добавил следующее в /etc / grub.d / 40_default

menuentry 'Xen 4 with Linux 2.6.32.45-xen' --class ubuntu --class gnu-linux --class gnu --class os --class xen {
        recordfail
        insmod ext2
        set root='(hd0,1)'
        search --no-floppy --fs-uuid --set=root 75475e50-82e2-4f74-b860-6cf92c91b42e
        echo 'Loading Xen 4 ...'
        multiboot /xen.gz placeholder
        echo 'Loading Linux 2.6.32.45-xen ...'
        module  /vmlinuz-2.6.32.45-xen placeholder root=/dev/mapper/xenserver-root ro iommu=1
        echo 'Loading initial ramdisk ...'
        module  /initrd.img-2.6.32.45-xen
}

но это почему-то не работает. Есть идеи?

изменить:
Я также попробовал сценарий 20_linux_xen. К сожалению, это не работает. Смотрите эти ошибки:

Found linux image: /boot/vmlinuz-2.6.32.45-xen
Found initrd image: /boot/initrd.img-2.6.32.45-xen
Found linux image: /boot/vmlinuz-2.6.32-33-server
Found initrd image: /boot/initrd.img-2.6.32-33-server
/etc/grub.d/20_linux_xen: 57: uses_abstraction: not found
Found linux image: /boot/vmlinuz-2.6.32.45-xen
Found initrd image: /boot/initrd.img-2.6.32.45-xen
/etc/grub.d/20_linux_xen: 156: gettext_printf: not found

gettext установленный.


Я на ubuntu 10.04 LTS.

ошибка загорелась при загрузке что-то вроде "пожалуйста, вставьте правильный параметр root=boot ядра..."

почему это так сложно и почему существует так много различных примеров grub2 xen? некоторые ставят /boot перед некоторыми просто/. Я попытался поставить / boot впереди, но это не помогло.
Также некоторые --набор=корень UUID и еще все мои рабочие записи просто набор идентификаторов. это как-то связано с другая версия grub2?

24
задан Matt H
13.05.2023 18:08 Количество просмотров материала 2936
Распечатать страницу

2 ответа

ответить на свой вопрос. Эта запись grub2 работала.

menuentry 'Xen 4 with Linux 2.6.32.45-xen' --class ubuntu --class gnu-linux --class gnu --class os --class xen {
        recordfail
        insmod ext2
        set root='(hd0,1)'
        search --no-floppy --fs-uuid --set 75475e50-82e2-4f74-b860-6cf92c91b42e
        multiboot /xen.gz placeholder
        module  /vmlinuz-2.6.32.45-xen placeholder root=/dev/mapper/xenserver-root ro 
        module  /initrd.img-2.6.32.45-xen
}

однако, у меня была проблема с ядром. Поэтому мне пришлось его восстановить. Как только я сделал это, все пошло.

7
отвечен Matt H 2023-05-15 01:56

для grub2-mkconfig чтобы обнаружить ваши ядра Linux, они должны быть названы vmlinuz-* или kernel-*. В некоторых скриптах можно увидеть vmlinux-* тоже. Например.( ..- xen в конце только мое Примечание):

/boot/kernel-3.6.2-xen

для 20_linux_xen скрипт для включения вашего ядра Xen,/boot должен содержать файл конфигурации ядра с точным названием config-* соответствует вашему файлу ядра. Например:

/boot/config-3.6.2-xen

чтобы сделать этот файл просто запустите zcat /proc/config.gz > /boot/config-[your_version], и вы должны запустить grub2-mkconfig снова. На данный момент скрипт, вероятно, создаст дубликаты записей для ядра Xen, потому что (возможно) у вас есть пара символических ссылок на ядро xen. Поэтому удалите их и оставьте только оригинальный файл (xen-4.2.0.gz). (Я надеюсь, что это безопасно, если удаление этих символических ссылок неправильно, пожалуйста, сохраните свой комментарий ниже.)

та же ситуация с файлами initrd/initramfs, но много вариаций.

описано добавление параметров ядра здесь.

источники: именования,20_linux_xen:147,10_linux:194-201

0
отвечен dmnc 2023-05-15 04:13

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

grub2
linux
linux-kernel
ubuntu-10.04
xen
Вверх