LINUX.ORG.RU
ФорумAdmin

Загрузка iso с помощью GRUB2 через PXE (UEFI)

 , ,


0

1

Настраиваю PXE-сервер для живых образов/тулз восстановления и прочего. Решил начать с systemrescuecd. Всё делал по этому гайду (только использовал isc-dhcp-server вместо dnsmasq): https://github.com/openSUSE/kiwi/wiki/Setup-PXE-boot-with-EFI-using-grub2

Загрузка по сети проходит успешно, появляется меню граба. Но если попробовать загрузить systemrescuecd, то пишет: destination unreachable / you need to load the kernel first.

Вот grub.cfg:

set timeout=60

menuentry 'SystemRescueCD' {
     insmod net
     insmod efinet
     insmod tftp
     insmod gzio
     insmod part_gpt
     insmod efi_gop
     insmod efi_uga
     set net_default_server=172.16.0.1

     linux (tftp)/systemrescuecd/isolinux/rescue64
     initrd (tftp)/systemrescuecd/isolinux/initram.igz netboot=nfs://172.16.0.1:/srv/tftp/systemrescuecd
}

В папке systemrescuecd находится смонтированный isoшник.

Опции dhcpd.conf для PXE:

  next-server 172.16.0.1;
  filename "bootx64.efi";
  option root-path "172.16.0.1:/srv/tftp/";

Чего граб не понимает что не может загрузиться?

Давай начнем с простого, что выводят
--
echo 'Network status: '
net_ls_cards
net_ls_addr
net_ls_routes
--
?

zgen ★★★★★
()
menuentry "ubuntu-16.04.3-desktop-amd64/linux-4.10" {
	insmod ntfs
	set root='(hd0,msdos3)'
	set ISO='/boot-images/ubuntu-16.04.3-desktop-amd64.iso'
	loopback loop $ISO
	linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$ISO
	initrd (loop)/casper/initrd.lz
}

работающий фрагмент grub.cfg

anonymous
()

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

Долбанный кактус этот PXE...

FluffyPillow
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.