[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ipxe breaks grub-net efi
From: |
Carl Karsten |
Subject: |
ipxe breaks grub-net efi |
Date: |
Tue, 25 Apr 2017 23:18:39 -0500 |
I am not sure who's problem this is. Seems ipxe leaves things in a state
that causes grub to do something different.
I have found a useable solution for my needs, but it looks like there is a
bug in either or both ipxe.efi and grubnetx64.efi.signed .
What doesn't work as expected:
# Chain load ipxe, then grubnetx64.efi
# doesn't work. grub doesn't request any files from tftp, like boot/grub.cfg
dhcp-match=set:ipxe,175 # iPXE sends a 175 option.
dhcp-match=set:efibc,60,PXEClient:Arch:00007 # tag to efi
dhcp-boot=tag:efibc,ipxe.efi,dc10b,192.168.1.135
dhcp-boot=tag:efibc,tag:ipxe,grubnetx64.efi.signed,dc10b,192.168.1.135
wireshark showing Read Request:
962 249.979895472 192.168.1.75 192.168.1.135 TFTP
80 Read Request, File: ipxe.efi, Transfer type: octet, tsize=0,
blksize=1468
966 250.020597187 192.168.1.75 192.168.1.135 TFTP
72 Read Request, File: ipxe.efi, Transfer type: octet, blksize=1468
2443 291.650282479 192.168.1.75 192.168.1.135 TFTP
93 Read Request, File: grubnetx64.efi.signed, Transfer type: octet,
blksize=1432, tsize=0
ipxe.efi does load grubnetx64.efi.signed and it runs, but doesn't get more
files. it presents a banner text and grub> prompt.
grub> cat $prefix/grub.cfg
error: sector sizes of 1 bytes aren't supported yet
https://veyepar.nextdayvideo.com/static/temp/ipxe_grub_5.png
what does work: skip the ipxe step:
- dhcp-boot=tag:efibc,ipxe.efi,dc10b,192.168.1.135
- dhcp-boot=tag:efibc,tag:ipxe,grubnetx64.efi.signed,dc10b,192.168.1.135
+dhcp-boot=tag:efibc,grubnetx64.efi.signed,dc10b,192.168.1.135
1687 472.617408854 192.168.1.75 192.168.1.135 TFTP
93 Read Request, File: grubnetx64.efi.signed, Transfer type: octet,
tsize=0, blksize=1468
1690 472.649831327 192.168.1.75 192.168.1.135 TFTP
85 Read Request, File: grubnetx64.efi.signed, Transfer type: octet,
blksize=1468
3255 473.705183386 192.168.1.75 192.168.1.135 TFTP
100 Read Request, File: /grub/x86_64-efi/command.lst, Transfer type:
octet, blksize=1024, tsize=0
3257 473.705514079 192.168.1.75 192.168.1.135 TFTP
95 Read Request, File: /grub/x86_64-efi/fs.lst, Transfer type: octet,
blksize=1024, tsize=0
3259 473.705761504 192.168.1.75 192.168.1.135 TFTP
99 Read Request, File: /grub/x86_64-efi/crypto.lst, Transfer type:
octet, blksize=1024, tsize=0
3261 473.705991522 192.168.1.75 192.168.1.135 TFTP
101 Read Request, File: /grub/x86_64-efi/terminal.lst, Transfer type:
octet, blksize=1024, tsize=0
3263 473.706259135 192.168.1.75 192.168.1.135 TFTP
86 Read Request, File: /grub/grub.cfg, Transfer type: octet,
blksize=1024, tsize=0
3268 473.706657837 192.168.1.75 192.168.1.135 TFTP
86 Read Request, File: /grub/grub.cfg, Transfer type: octet,
blksize=1024, tsize=0
3273 473.706969243 192.168.1.75 192.168.1.135 TFTP
86 Read Request, File: /grub/grub.cfg, Transfer type: octet,
blksize=1024, tsize=0
3278 473.707284615 192.168.1.75 192.168.1.135 TFTP
86 Read Request, File: /grub/grub.cfg, Transfer type: octet,
blksize=1024, tsize=0
3533 539.158764054 192.168.1.75 192.168.1.135 TFTP
101
I get a grub menu, I pick Ubuntu-installer and it fetches those and off we
go.
Read Request, File: /ubuntu-installer/amd64/linux, Transfer type: octet,
blksize=1024, tsize=0
18324 540.370103585 192.168.1.75 192.168.1.135 TFTP
105 Read Request, File: /ubuntu-installer/amd64/initrd.gz, Transfer
type: octet, blksize=1024, tsize=0
the 2 binaries come from:
https://ipxe.org/ipxe.efi
http://archive.ubuntu.com/ubuntu/dists/zesty/main/uefi/grub2-amd64/current/grubnetx64.efi.signed
grub-mknetdir
ps - I tried
https://ipxe.org/ipxe.efi.signed
the efi rom loads it
I can see the transfer in wireshark,
, screen clears, and it goes to the next boot device.
--
Carl K
- ipxe breaks grub-net efi,
Carl Karsten <=