On 26-03-2020 07:03, Dominique Lefevre wrote: > Hi, > > I've tried to run iPXE in Amazon VMs, and it seems to have a problem > enumerating PCI devices in nitro-based instances. > > I've built an ipxe.usb image this way: > > $ make bin/ipxe.usb CONFIG=cloud \ > DEBUG=pci,ena,dhcp,iscsi \ > EMBED=embed-stage0 > > As of now, embed-stage0 is an empty script (it just contains #!ipxe). > iPXE version is bdf0e029ae8c9a0e173d5988ee64ff910538af53. > > When run in Xen-based and Nitro-based instances, ipxe.usb produces two > very different outputs. > > In a Xen-based t2.micro instance I see the following printed to the console: >> Booting from Hard Disk... >> iPXE initialising devices...0000:00:00.0 (8086:1237 class 060000) has no >> driver >> 0000:00:01.0 (8086:7000 class 060100) has no driver >> 0000:00:01.1 (8086:7010 class 010180) has no driver >> 0000:00:01.3 (8086:7113 class 068000) has no driver >> 0000:00:02.0 (1013:00b8 class 030000) has no driver >> 0000:00:03.0 (5853:0001) has driver "hvm" >> 0000:00:03.0 has mem f2000000 io c000 irq 5 >> 0000:00:03.0 latency timer is unreasonably low at 0. Setting to 32. >> ok >> >> >> >> iPXE 1.20.1+ (gbdf0e) -- Open Source Network Boot Firmware -- http://ipxe.org >> blah-blah-blah > > So far so good. PCI devices get enumerated, and iPXE recognises a > device that interfaces with Xen. > > Booting the same image in a t3.micro instance gives me the following: >> Booting from Hard Disk 0... >> iPXE initialising devices...ok >> >> >> >> iPXE 1.20.1+ (gbdf0e) -- Open Source Network Boot Firmware -- http://ipxe.org >> Features: DNS HTTP iSCSI TFTP SRP AoE ELF MBOOT PXE bzImage menu PXEXT >> No bootable device. Retrying in 60 seconds. > > As if PCI devices were not there! > > I've also tried another nitro-based instance type (c5.large), and > tried booting bin-x86_64-pcbios/ipxe.usb instead of a 32 bit version. > Still no PCI devices were found. > > Amazon's ena is available in nitro-based EC2 instances only. Since > iPXE has a driver for ena, there certainly is a way to run iPXE in > nitro-based VMs. How did you do that? Is there a build option that I > have missed?
How did it go? Long version: I noticed that the good question about finding PCI devices didn't yet get an answer. So I felt the urge to ask about it ... Cheers Geert Stappers _______________________________________________ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo/ipxe-devel