[ipxe-devel] select a specific interface during initialization?

Michael Brown mcb30 at ipxe.org
Wed Sep 17 14:33:11 BST 2014


On 17/09/14 02:15, Andy Medynets wrote:
> In fact, there are two problems:
>
> 1.  core/console.c contains the standard PC UART (COM1) initialization
> code executed unconditionally during startup before PCI network device
> enumeration is performed. Our board has no standard PC UARTs, and this
> is  the  reason  why  this  takes  15-20  seconds to start enumerating
> devices. This was relatively easy to fix. No startup delays anymore.

The standard build does not include serial port support (and the 
relevant code is not in core/console.c anyway, unless you have a _very_ 
customised tree).  Just don't enable CONSOLE_SERIAL, and this problem 
will go away.

> 2. further device enumeration is not stable, only 4-5 attempts from 10
> are successful. In all other cases it just clears the screen and hangs
> forever.  My  sleuthing  has  shown that this happens somewhere in pci
> device probing code. Will go deeper.
>
> I'm  building from code downloaded on 16-sep-2014 [master branch]. gcc
> v4.7.2, came with Debian 7/32 bit.
>
> Interesting fact that the pre-built Ubuntu 12.04 binary package
> (ipxe_1.0.0+git-3.55f6c88-0ubuntu1)  also  has the #1 described above,
> but doesn't have #2
>
> Any thoughts and suggestions will be greatly appreciated.

Building with DEBUG=pci,intel should reveal any problems happening 
during PCI device enumeration or Intel NIC initialisation.  You may need 
to find a way to capture the output (which will be tricky if you don't 
have a serial port available), since it happens too early to use syslog.

Michael


More information about the ipxe-devel mailing list