Bug 54249

Summary: Нет возможности установить систему по PXE (UEFI)
Product: Sisyphus Reporter: Sergey Ivanov <zagagyka>
Component: grubAssignee: Egor Ignatov <egori>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: nickel, placeholder, rider
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
grub error none

Description Sergey Ivanov 2025-05-13 15:38:22 MSK
Created attachment 18437 [details]
grub error

Пакет:
grub-efi-2.12-alt11

Шаги воспроизведения:
Настроить сервер сетевых установок (В качестве сервера выступает alt-server-11-rc4-x86_64.iso)
- Настроить статический адрес на интерфейсе
- Настроить dhcp сервер:

# apt-get install -y dhcp-server
# cat >/etc/dhcp/dhcpd.conf << EOF
option arch code 93 = unsigned integer 16;
class "pxeclients" {
    match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
    next-server 10.1.0.1;
    if option arch = 00:06 {
        filename "bootia32.efi";
    } else if option arch = 00:07 {
        filename "shimx64.efi";
    } else {
        filename "pxelinux.0";
    }
}
subnet 10.0.0.0 netmask 255.254.0.0 {
    option routers           10.0.2.2;
    option broadcast-address 10.1.255.255;
    option subnet-mask       255.254.0.0;
    default-lease-time       3600;
    max-lease-time           3600;
    range 10.1.0.100 10.1.0.200;
}
EOF
# systemctl enable --now dhcpd

- Настроить tftpd
# apt-get install -y tftpd tftp-server-xinetd
# sed -i 's/disable.*/disable = no/' /etc/xinetd.d/tftp
# sed -i 's,},only_from = 0/0,' /etc/xinetd.d/tftp; echo } >> /etc/xinetd.d/tftp
# systemctl enable --now xinetd

# cat > /var/lib/tftpboot/grub.cfg << EOF
set timeout=120
menuentry "NFS netinstall" {
 linux syslinux/boot/vmlinuz fastboot live root=bootchain bootchain=fg,altboot stagename=live init=/usr/libexec/install2/install2-init ramdisk_size=783321 lowmem mpath tz=Europe/Moscow lang=ru_RU ip=dhcp automatic=method:nfs,server:10.1.0.1,directory:/srv/public/netinst/mnt/
 initrd syslinux/boot/initrd.img
}
EOF

- Скопировать файлы загрузчика
# cp /usr/lib64/efi/shimx64.efi /var/lib/tftpboot
# cp /usr/lib64/efi/grubx64.efi /var/lib/tftpboot

- Настроить nfs сервер:
# mkdir -p /srv/public/netinst/mnt/
# mount /dev/sr0 /srv/public/netinst/mnt/
# echo "/dev/sr0 /srv/public/netinst/mnt udf,iso9660 ro 0 0" >> /etc/fstab
# apt-get install -y nfs-server
# echo "/srv/public -ro,insecure,no_subtree_check,fsid=1 *" > /etc/exports
# echo "/srv/public/netinst/mnt -ro,insecure,no_subtree_check,fsid=2 *" >> /etc/exports
# exportfs -r
# systemctl enable --now nfs

- Скопировать файлы ядра и initrd
# cp -r /srv/public/netinst/mnt/boot/ /var/lib/tftpboot/syslinux/

- Включить вторую машину и в boot menu выбрать UEFI PXEv4
В появившемся grub menu выбрать пункт *NFS netinstall*

*Результат:*
Установка системы не запускается. Через некоторое время появляется ошибка (скриншот grub-error.png)
@error: timeout reading `syslinux/boot/vmlinuz`.@
@error: you need to load the kernel first@

*Примечание:*
При настройке сервера сетевых установок использовался grub-efi-2.12-alt11 (/var/lib/tftpboot/grubx64.efi)
Если его заменить на прошлую версию grub-efi-2.12-alt10 http://ftp.altlinux.org/pub/distributions/archive/p11/date/2025/04/18/files/x86_64/RPMS/grub-efi-2.12-alt10.x86_64.rpm, то установка успешно запускается

Ошибка воспроизводится на qemu-9.1.2-alt1.x86_64 (edk2-ovmf-20241122-alt1.noarch)
Воспроизвел так же на реальном железе