[ipxe-devel] About The iPXE Support for I219v of Intel CometLake Platform

Yonghui6 Chen chenyh6 at lenovo.com
Wed Dec 2 07:36:29 UTC 2020

Dear sir
We met the issue of supporting ipxe on CML platform with ipxe rom embedded in BIOS. The LAN chip used was Intel i219v with Vendor ID Device ID 80860d4d.
When first power on, system could boot to ipxe server. But if we restart the system from OS with LAN driver installed, system could not boot into ipxe server any longer.
Reboot or global reset or power off and then power on cannot recover it. It can only be recovered after we remove the power cord and plug it again
[cid:image001.png at 01D6C8BE.09E71950]
Can you kindly help take a look at this issue? Is it the ipxe has not supported comet lake lan issue? We don’t see this problem on Coffee Lake platform.Thanks.

Below is our code change.

  1.  Build to include script
make bin/ipxe.usb EMBED=autobootloopscript.ipxe

Script example (don't leave out the '#!ipxe' it must be the first line)
autoboot || goto retry_boot
  2.  Edit ./src/config/general.h (enabled ELF, NBI, PXE, scripts, and bzimage support)
 * Image types
 * Etherboot supports various image formats.  Select whichever ones
 * you want to use.
#define    IMAGE_NBI        /* NBI image support */
#define    IMAGE_ELF        /* ELF image support */
//#define    IMAGE_MULTIBOOT        /* MultiBoot image support */
#define    IMAGE_PXE        /* PXE image support */
#define    IMAGE_SCRIPT        /* iPXE script image support */
#define    IMAGE_BZIMAGE        /* Linux bzImage image support */
//#define    IMAGE_COMBOOT        /* SYSLINUX COMBOOT image support */
//#define    IMAGE_EFI        /* EFI image support */
//#define    IMAGE_SDI        /* SDI image support */
//#define    IMAGE_PNM        /* PNM image support */
  3.  Edit ./src/config/dhcp.h (change the dhcp time outs)
#define DHCP_DISC_START_TIMEOUT_SEC    4    /* as per PXE spec */
#define DHCP_DISC_END_TIMEOUT_SEC    32    /* as per PXE spec */

  1.  Add the device ID to ./src/drivers/net/intel.c (PS:Latest code haven’t support Cometlake I219v yet, so we manually added it.)

                PCI_ROM ( 0x8086, 0x15bb, "i219lm-7", "I219-LM (7)", INTEL_I219 ),

                PCI_ROM ( 0x8086, 0x0d4c, "i219lm-8", "I219-LM (8)", INTEL_I219 ),

                PCI_ROM ( 0x8086, 0x15bc, "i219v-7", "I219-V (7)", INTEL_I219 ),

                PCI_ROM ( 0x8086, 0x0d4d, "i219v-8", "I219-V (8)", INTEL_I219 ),

By the way, I have also found from the website that ipxe supports the object trace from the serial port. Do you have any comments which we object we should trace? Thanks.
[cid:image002.png at 01D6C8BE.09E71950]
Tony Chen 陈永辉
BIOS Engineer
+86 136 0016 4680
Email: chenyh6 at lenovo.com<mailto:chenyh6 at lenovo.com>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20201202/41ada288/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 539130 bytes
Desc: image001.png
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20201202/41ada288/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.png
Type: image/png
Size: 91269 bytes
Desc: image002.png
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20201202/41ada288/attachment-0003.png>

More information about the ipxe-devel mailing list