Инструменты пользователя

Инструменты сайта


it:xen_-_pvgrub

Это старая версия документа!


XEN - pvgrub

PVGrub - вариант загрузчика grub, собираемый из исходных кодов оригинального grub для загрузки на архитектуре Xen. Никаких BIOS, UEFI и тому подобного - только PV, только хардкор. Не хотел бы я быть на месте этого загрузчика - каково это, очнуться и понять, что ты существуешь где-то, но у этого где-то нет никаких привычных свойств…

Тот факт, что pvgrub выполняется внутри гостя, гарантирует большее соблюдение стандартов безопасности, особенно по сравнению с pygrub, который мало того, что написан на python, но ещё и выполняется в dom0 и, соответственно, полностью подчинён админу или зловредам.

Несколько фактов о pvgrub:

  • пакет, называющийся как-то типа xen-pvgrub есть в gentoo, но нет в centos
  • пакет этот даже в генте абсолютно лишён смысля, так как поставляет пресобранный grub-0.97, сегодня мало кому нужный
  • лучший способ получить нужный pvgrub - собрать его с помощью команды grub-mkimage (или grub2-mkimage, в зависимости от дистрибутива)
  • так как pvgrub - плоть от плоти полноценного grub, то наследует все его свойства и нововведения. Следовательно, чтобы pvgrub начал поддерживать изменившийся формат конфигов grub версии 2.04, достаточно собрать pvgrub с помощью grub2-mkimage из grub версии 2.04. И всё )

Однако, есть и «особенность». К примеру, в centos пакет grub не содержит архитектуру xen, так что собрать загрузчик под арзитектуру xen не представляется возможным.

Как всегда, на помощь приходит gentoo )

Памятуя про проблему изменившегося формата конфига между версиями 2.02 и 2.04 ставим сначала версию 2.02, собираем pvgrub, затем ставим 2.04 и собираем ещё один pvgrub:

GRUB_PLATFORMS=«pc xen» emerge -av1 =sys-boot/grub-2.02-r4 grub-mkimage -O x86_64-xen -c ./grub.cfg -o grub-2.02-x86_64-xen.bin /usr/lib/grub/x86_64-xen/*.mod -p /usr GRUB_PLATFORMS=«pc xen» emerge -av1 =sys-boot/grub-2.04-r1 grub-mkimage -O x86_64-xen -c ./grub.cfg -o grub-2.04-x86_64-xen.bin /usr/lib/grub/x86_64-xen/*.mod -p /usr

it/xen_-_pvgrub.1589813541.txt.bz2 · Последнее изменение: 2020/05/18 14:52 — puse_vivat