[ipxe-devel] No ramdisk when booting from iPXE

Lukas Hejtmanek xhejtman at ics.muni.cz
Fri Aug 23 12:18:58 UTC 2019


Hello,

I have AMD machine that I'm trying to install from network. I have ipxe.efi
loader and it looks like this:
iPXE 1.0.0+ () -- Open Source Network Boot Firmware -- http://ipxe.org
Features: DNS HTTP iSCSI TFTP SRP AoE EFI Menu

net0: ac:1f:6b:0e:da:7e using NII on NII-0000:31:00.0 (open)
  [Link:down, TX:0 TXE:0 RX:0 RXE:0]
  [Link status: Unknown (http://ipxe.org/1a086194)]
Configuring (net0 ac:1f:6b:0e:da:7e)............... ok
net0: xxx/255.255.255.0 gw xxx
net0: fe80::ae1f:6bff:fe0e:da7e/64
net1: fe80::ae1f:6bff:fe0e:da7f/64 (inaccessible)
Next server: 147.251.11.183
Filename: bootstrap.ipxe
tftp://xxx/bootstrap.ipxe... ok
bootstrap.ipxe : 1372 bytes [script]
http://xxx:8150/svc/boot?net0=ac-1f-6b-0e-da-7e&net1=ac-1f-6b-0e-da-7f&net2=&net3=&dhcp_mac=ac-1f-6b-0e-da-7e&serial=5UF8236B5T&asset=To%20be%20filled%20by%20O.E.M.&uuid=00000000-0000-0000-0000-ac1f6b0eda7e&fact_boot_type=efi... ok
http://xxx:8150/svc/repo/microkernel/initrd0.img... ok 
http://xxx:8150/svc/repo/microkernel/vmlinuz0... ok

Kernel starts but ends with unable to mount root unknown-block(0,0) and oops.
So for some reason, it does not load ramdisk.

I tried to debug efi-wrap module. It shows only vmlinuz:
WRAP PciRoot(0x3)/Pci(0x3,0x2)/Pci(0x0,0x0)/MAC(AC1F6B0EDA7E,0x1)/MAC(AC1F6B0EDA7E,0x1)/vmlinuz0 at base 0xc38ad000 has protocols:
HANDLE PciRoot(0x3)/Pci(0x3,0x2)/Pci(0x0,0x0)/MAC(AC1F6B0EDA7E,0x1)/MAC(AC1F6B0EDA7E,0x1)/vmlinuz0 LoadedImageDevicePath supported
HANDLE PciRoot(0x3)/Pci(0x3,0x2)/Pci(0x0,0x0)/MAC(AC1F6B0EDA7E,0x1)/MAC(AC1F6B0EDA7E,0x1)/vmlinuz0 LoadedImage supported
HANDLE PciRoot(0x3)/Pci(0x3,0x2)/Pci(0x0,0x0)/MAC(AC1F6B0EDA7E,0x1)/MAC(AC1F6B0EDA7E,0x1)/vmlinuz0 LoadedImage opened 3x (H) by DxeCore(?) for <NULL>
HANDLE PciRoot(0x3)/Pci(0x3,0x2)/Pci(0x0,0x0)/MAC(AC1F6B0EDA7E,0x1)/MAC(AC1F6B0EDA7E,0x1)/vmlinuz0 LoadedImage opened 2x (G) by ipxe.efi for <NULL>
WRAP PciRoot(0x3)/Pci(0x3,0x2)/Pci(0x0,0x0)/MAC(AC1F6B0EDA7E,0x1)/MAC(AC1F6B0EDA7E,0x1)/vmlinuz0 parent ipxe.efi
WRAP PciRoot(0x3)/Pci(0x3,0x2)/Pci(0x0,0x0)/MAC(AC1F6B0EDA7E,0x1)/MAC(AC1F6B0EDA7E,0x1)/vmlinuz0 device PciRoot(0x3)/Pci(0x3,0x2)/Pci(0x0,0x0)/MAC(AC1F6B0EDA7E,0x1)/MAC(AC1F6B0EDA7E,0x1)
WRAP PciRoot(0x3)/Pci(0x3,0x2)/Pci(0x0,0x0)/MAC(AC1F6B0EDA7E,0x1)/MAC(AC1F6B0EDA7E,0x1)/vmlinuz0 file vmlinuz0
HandleProtocol ( PciRoot(0x3)/Pci(0x3,0x2)/Pci(0x0,0x0)/MAC(AC1F6B0EDA7E,0x1)/MAC(AC1F6B0EDA7E,0x1)/vmlinuz0, LoadedImage ) = 0 ( 0xd6889240 ) -> 0xc3ed9f98
HandleProtocol ( PciRoot(0x3)/Pci(0x3,0x2)/Pci(0x0,0x0)/MAC(AC1F6B0EDA7E,0x1)/MAC(AC1F6B0EDA7E,0x1), SimpleFileSystem ) = 0 ( 0xd2d3ee70 ) -> 0xc3ed9f98
LocateHandle ( ByProtocol, GraphicsOutput, 0x0, 0 ) = BUFFER_TOO_SMALL ( 8 ) -> 0xc3ed9f98
LocateHandle ( ByProtocol, GraphicsOutput, 0x0, 8 ) = 0 ( 8, { PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)/Pci(0x0,0x0)/AcpiAdr(0x80010100) } ) -> 0xc3ed9f98
[....]
HandleProtocol ( PciRoot(0x7)/Pci(0x8,0x1)/Pci(0x0,0x1), PciIo ) = 0 ( 0xd727a498 ) -> 0xc3ed9f98
ExitBootServices ( PciRoot(0x3)/Pci(0x3,0x2)/Pci(0x0,0x0)/MAC(AC1F6B0EDA7E,0x1)/MAC(AC1F6B0EDA7E,0x1)/vmlinuz0, 0x1a64 )  

(here I got reset as there is probably segfault in ExitBootServices when debug
is enabled.)

Anyway, has anyone any idea what could be wrong and where and what to debug?

-- 
Lukáš Hejtmánek

Linux Administrator only because
  Full Time Multitasking Ninja 
  is not an official job title



More information about the ipxe-devel mailing list