[ipxe-devel] iPXE and Citrix PVS conflict suspected

Michael Brown mcb30 at ipxe.org
Wed Apr 23 14:10:30 BST 2014


On 23/04/14 13:44, NICOLAS CATTIE wrote:
> 10.1.2.3 is the PVS server and ARDBP32.bin is the Citrix boostrap that
> intercept BIOS interrupt 13 to request the PVS server for missing blocks
> to be streamed
>
> The PVS bootstrap always starts correctly but i’m having a random
> problem with OS streaming : sometime, the windows boot hangs. The
> problem does not appear on the same machine each time. If I configure
> DHCP so that the machine contacts the PVS server directly, the problem
> never occurs (but I can’t stay with this configuration because I have to
> redirect to different PXE environment).
>
> I also tried different command line (autoreplace, autofree) but no
> change. Even tried PXEBS instead of direct tftp chain, still no change.
>
> I suspect a memory conflict between iPXE and PVS (ARDBP32.bin). I have
> opened a ticket at Citrix, but is there a way to diagnose what happen
> and if there is a memory conflict ?

iPXE hides itself from the system memory map.  Provided that ARDBP32.bin 
is using standardised mechanism (such as INT 15,e820) to enumerate 
memory within the machine, then there should be no way for it to 
accidentally overwrite any of iPXE's memory.

iPXE already includes functionality for emulating a block device via 
INT13, supporting block protocols such as iSCSI, AoE, and SRP.  Does 
Citrix PVS support exposing its block devices via any of these 
protocols?  If so, then you could use that protocol directly and bypass 
ARDBP32.bin.

Alternatively, it should be viable to add PVS support to iPXE as an 
additional block device protocol.

Michael


More information about the ipxe-devel mailing list