Как использовать grub в качестве меню сетевой загрузки с ipxe?

Как использовать grub в качестве меню сетевой загрузки с ipxe?

Я настраиваю решение netboot для небольшого офиса. У меня есть машины, настроенные на загрузку pxe начального ipxe.efi nbp со встроенным скриптом ipxe для цепочки запросов к серверу matchbox для моих узлов k8s. Это работает отлично.

Мне нужно расширить это, чтобы представить меню, чтобы пользователь мог выбрать matchbox boot или вручную выбрать ОС. Я понимаю, что ipxe сам по себе поддерживает меню, но я также мог бы связать загрузку с grub или syslinux.

Если я выберу grub, у меня есть несколько вопросов:

  • Как настроить скрипт ipxe для последовательной загрузки grub?
  • Где мне взять ресурсы grub, если они не привязаны к конкретной ОС?
  • Как разместить конфигурацию grub, чтобы grub efi правильно ее нашел?
  • Кажется, записи grub ожидают спецификацию ядра/initram, а не iso, но все ОС, которые я хочу поддерживать для загрузки, такие как proxmox/Linux distros/memtest, поставляются в форме iso. Как мне их поддерживать?
  • Я попытался извлечь содержимое iso, но не уверен, как правильно указать файловую систему, учитывая, что она размещена в сетевом расположении. Как мне указать запись grub на остальную часть файловой системы?

Связанный контент