[ipxe-devel] IPXE and parallels on MAC

Patel, Kalpesh kapatel at randomhouse.com
Tue Apr 8 16:07:37 UTC 2014


OK, my bad -- the screenshot is past the point that has over written some
important details due to screen refresh as the boot progresses. Attached
are two screenshots with small duration in-between them.

The first screenshot shows that iPXE has part way (6%) downloaded
gpxelinux.0 and then it simply times out without completing the download
-- this behavior is repeatable regardless what is the value of
bootfile-name dhcp option and that download stops after getting random
percent of the download. This screenshot also removes potential that iPXE
cannot reach TFTP server, which it actually does. This is also confirmed
by looking at the TFTP server logs as well.

The second screenshot shows that during the download via TFTP, something
causes the Network to timeout the connection -- and this is the problem in
all download cases using the iPXE iso. Just to make sure that BIOS'
network boot isn't interfering with the process I disabled the boot
capability of the network card. The behavior and symptom still ends up
being the same -- partial download and then connection timing out.


My process for this purpose of test is quite simple in Parallels (scenario
1 - which does NOT work):

1) download http://boot.ipxe.org/ipxe.iso
2) Map newly created VM's cd-rom to ipxe.iso

2a) Create a blank VM
2b) add a disk
2c) Set boot order -- cd/dvd, Hard Disk 1, Network 1, Network 2, Network 3
2d) dis-connect Network 2 and 3
2e) Set network 1 to Shared Network (this SHOULD allow me to get to the
second VM that has full blown PXE framework that provides DHCP, DNS, TFTP
and HTTP services for the VM under test)
3) Power on the VM and capture screenshot 1 (Parallel Picture.png) and 2
(Parallel Picture 1.png).


(scenario 2 - which works):


1) Create a blank VM
1a) add a disk
1b) Set boot order -- cd/dvd, Hard Disk 1, Network 1, Network 2, Network 3
1c) dis-connect Network 2 and 3
1) Set network 1 to Shared Network (this DOES allow me to get to the
second VM that has DHCP, DNS, TFTP and HTTP services from the VM under
test using Parallels' PXE boot code)
2) Power on the VM and capture screenshot 3 (Snip20140408_30.png). You
will notice here that gpxelinux.0 has been downloaded and it is going
through it search order (cannot time the capture just before gpxerlinux is
initialized) for the menu.



I broke into to the shell and ran the command ifstat and route commands
like you suggested, Michael -- ping isn't available looks like. Please see
screenshot named 'Parallels Picture 3.png' and 'Parallels Picture after
shell and net reset.png' for details. I welcome further debugging means
and methods or insight hereŠ


Quite a number of you folks have suggested to move away from gpxelinux to
ipxe since it has greater benefits. I completely agree that it does have
number of advantages. However, in our case, the overall framework is bound
by use of HTTP protocol only which gpxelinux, as well as built in pxe
loader from Parallels, VMWare and VirtualBox seems to respect when I force
set the option 210 in DHCP (see 'Parallels Picture.png' and
'Snip20140408_30.png'). This implementation also does away with complexity
of chain loading and chain breaking to keep the DHCP configuration clean.
I am not against the use of iPXE but it seems that compared to gPXE, some
of the features are not available or they appear to be broken. We are
extensively using syslinux-4.02-8 as the pillar for the framework we have
that is running on CentOS which comes with the OS so that the OS
maintenance is also minimized. Any further insight is welcome here as well.

Thanks.
KalpeshŠ



On 4/7/14 6:23 PM, "Michael Brown" <mcb30 at ipxe.org> wrote:

>On 07/04/14 15:56, Patel, Kalpesh wrote:
>> I download the IPXE iso from http://boot.ipxe.org/ipxe.iso. Using that I
>> have been trying to get IPXE to boot into our PXE/TFTP menu system that
>>we
>> have in MAC's Parallels system (as a side note, I've downloaded the
>>source
>> and built the iso from it but it result in same behavior as well).
>> Unfortunately the boot process halts at random point after starting
>> download of gpxelinux.0 which is what the backend DHCP is setup to
>>provide
>> to client and then the menu. DNSMASQ is providing the DNS, DHCP and TFTP
>> services for this entire setup. I've tested same system on VMWare's
>> Workstation on Windows, Fusion on MAC, VirtualBox on both platforms, MAC
>> and Windows, and on ESXi 5.x and works on all these systems flawlessly
>> except in Parallels on MAC.
>>
>> I am suspecting that the NIC driver code (Intel 82545em which is Intel
>> e1000 family card) somewhere in IPXE is mis-behaving causing it to
>>hiccup
>> and stop. The hiccup actually causes the Parallel VM to freeze hard
>> requiring power off and on. I've attached a screen shot of the VM's
>>output
>> to get the conversation going.
>
>Your screenshot doesn't seem to match the behaviour that you describe.
>The screenshot shows iPXE running to completion and exiting back to the
>BIOS; the "No boot device is available" message is coming from your VM's
>BIOS, not from iPXE.
>
> From the screenshot, it appears as though the TFTP server is simply
>inaccessible from your VM, or is not responding to the TFTP requests.
>
>Try breaking to the iPXE shell after the failed attempt to download
>gpxelinux.0, and use commands such as "ifstat", "route", and "ping" to
>diagnose the connectivity problem.
>
>On a separate note, you really shouldn't use gpxelinux.0 for anything
>these days.  iPXE now has a native menuing capability (see e.g.
>http://ipxe.org/cmd/choose) and the ability to display background images
>(see e.g. http://ipxe.org/cmd/console).  I would strongly suggest using
>those instead.
>
>Michael
>
>
>



-------------- next part --------------
A non-text attachment was scrubbed...
Name: Parallels Picture.png
Type: image/png
Size: 11478 bytes
Desc: Parallels Picture.png
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20140408/f6fb430a/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Parallels Picture 1.png
Type: image/png
Size: 12628 bytes
Desc: Parallels Picture 1.png
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20140408/f6fb430a/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Snip20140408_30.png
Type: image/png
Size: 80548 bytes
Desc: Snip20140408_30.png
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20140408/f6fb430a/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Parallels Picture 3.png
Type: image/png
Size: 14378 bytes
Desc: Parallels Picture 3.png
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20140408/f6fb430a/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Parallels Picture after shell and net reset.png
Type: image/png
Size: 13156 bytes
Desc: Parallels Picture after shell and net reset.png
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20140408/f6fb430a/attachment-0004.png>


More information about the ipxe-devel mailing list