Bug 40067 - grub-efi: не работает загрузка по сети (arm64)
Summary: grub-efi: не работает загрузка по сети (arm64)
Status: ASSIGNED
Alias: None
Product: Branch p9
Classification: Distributions
Component: grub-efi (show other bugs)
Version: не указана
Hardware: aarch64 Linux
: P5 normal
Assignee: qa-team@altlinux.org
QA Contact: qa-p9@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-05-20 15:51 MSK by Alexey Sheplyakov
Modified: 2021-12-01 09:54 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Sheplyakov 2021-05-20 15:51:12 MSK
>>Start PXE over IPv4.
  Station IP address is 10.42.0.59

  Server IP address is 10.42.0.1
  NBP filename is aarch64/EFI/BOOT/bootaa64.efi
  NBP filesize is 267264 Bytes
 Downloading NBP file...

  NBP file downloaded successfully.
error: couldn't send network packet.
error: couldn't send network packet.
error: couldn't send network packet.
error: couldn't send network packet.
error: couldn't send network packet.
error: couldn't send network packet.
error: couldn't send network packet.
error: couldn't send network packet.
error: couldn't send network packet.
error: couldn't send network packet.
Entering rescue mode...
grub rescue> 

bootaa64.efi был изготовлен так:

grub-mkimage --prefix /aarch64/boot/grub --output bootaa64.efi --format arm64-efi tftp efinet

Воспроизводится и c http://ports.ubuntu.com/ubuntu-ports/dists/focal/main/uefi/grub2-arm64/2.04-1ubuntu26/grubnetaa64.efi

С аналогичной проблемой столкнулись пользователи rpi4:

https://github.com/pftf/RPI4/issues/113

Причина в том, что grub предполагает, что если он загрузился по сети, то весь сетевой стек уже готов к работе. Что резко не совпадает с действительностью.

Один добрый человек добавил костыль в (UEFI) драйвер:

https://github.com/jlinton/edk2-platforms/commit/146e73ba45c88d1ef8e20ba5a9892f14adc03b14

Но 

1) Как правило процесс обновления UEFI требует специального оборудования и навыков.
2) В каждый драйвер костылей не напилишь

Потому предпочтительно починить сам grub.
Comment 1 Николай Костригин 2021-05-20 16:56:51 MSK
(Ответ для Alexey Sheplyakov на комментарий #0)

grubaa64.efi из Сизифного grub-2.04 не пробовали?

> 
> bootaa64.efi был изготовлен так:
> 
> grub-mkimage --prefix /aarch64/boot/grub --output bootaa64.efi --format
> arm64-efi tftp efinet

Зачем потребовалось собирать EFI-бинарник самостоятельно? Чем не устраивает упакеченый?

Если не работает 2.04, попробуйте 2.06 из задания #272277 (в нем в образ EFI добавил модуль efinet, tftp был там и до этого)
Comment 2 Николай Костригин 2021-05-20 17:54:26 MSK
Задание #272277 удалено, просьба воспользоваться заданием #272285
Comment 3 Alexey Sheplyakov 2021-05-21 16:34:43 MSK
(In reply to nickel@altlinux.org from comment #1)
> (Ответ для Alexey Sheplyakov на комментарий #0)
> 

> > bootaa64.efi был изготовлен так:
> > 
> > grub-mkimage --prefix /aarch64/boot/grub --output bootaa64.efi --format
> > arm64-efi tftp efinet
> 
> Зачем потребовалось собирать EFI-бинарник самостоятельно? Чем не устраивает
> упакеченый?

1) Ищет файлы (конфиги и проч) не там, где нужно. В самом деле, откуда ему знать, где что у меня на /srv/tftp разложено (см. --prefix /aarch64/boot/grub)
2) Нету efinet
Comment 4 Anton Farygin 2021-12-01 09:54:04 MSK
В p10 грузится ?