[ipxe-devel] IPXE and parallels on MAC

Patel, Kalpesh kapatel at randomhouse.com
Mon Apr 7 17:31:16 UTC 2014


Hi Richard,

I am actually trying to do something slightly different from your setup — my entire idea is that I want to build a iPXE boot disk iso with an embedded "micro" IPXE script. The sole purpose of the "micro" iPXE script is to simply perform an HTTP request of a "mini" script so that I don't have to keep on rebuilding the boot disk. The "mini" iPXE script asks couple of questions and along with DHCP parameters obtained does a HTTP request. The web  server parses the HTTP request along with parameters passed and returns another IPXE script that instructs chain loading of subsequent kernel and initrd.  This process works perfectly in the VMWare and VirtualBox VM containers but does not work in Parallels. The framework idea here is that I should be able to give that iPXE boot disk to anyone, map it as a CDROM, power on the VM, answer few questions and be able to do the tasks what ever the case may be with the underlying boot image as long as there is an HTTP connection establish-able between client booting with the IPXE boot disk and the Web server.

With that in mind, what I did is I set up a full blown PXE system, namely I have a Parallels VM with CentOS 6.4 which is acting as TFTP, DNS, DHCP server using DNSMASQ  and Web server using NGINX on an isolated network. If I perform strait forward PXE boot using the Parallels native PXE stack, it works with no issues — just as you said no special builds required, etc. It loads pxelinux.0, brings up the default menu, allows selection and do the under lying task. However, as soon as I map the iPXE boot disk ISO as the cdrom and boot off it in Parallels, the loading process hangs soon after commencing download of the file that is specified by bootfile-name option in DHCP (I've configured DHCP to force option 210, which overwrites the tftp root to be http://…) . I've tried various means and methods to create IPXE boot disk but all of them behave same in Parallels, namely it hangs soon after it initiates first download.  I tried the one that is available at http://boot.ipxe.org/ipxe.iso, I've download source and built from it as well and others but no luck. This leads me to suspect network driver code to be the culprit.


From: "Richard D. Hornbaker" <Richard at Hornbaker.com<mailto:Richard at Hornbaker.com>>
Date: Monday, April 7, 2014 12:25 PM
To: Microsoft Office User <kapatel at randomhouse.com<mailto:kapatel at randomhouse.com>>, "ipxe-devel at lists.ipxe.org<mailto:ipxe-devel at lists.ipxe.org>" <ipxe-devel at lists.ipxe.org<mailto:ipxe-devel at lists.ipxe.org>>
Subject: RE: [ipxe-devel] IPXE and parallels on MAC

Kalpesh,

I've got IPXE working under Parallels, and it wasn't that involved.  I'm thinking something small is hanging you up.

What I've built is an isolated test environment under Parallels using CentOS for the server and client, both in VMs.  They use a VLAN that's not attached to the outside world so I don't have to deal with conflicts.  No special builds required, that I recall.  (It's been a while since I set it up, but I should have captured good notes.)

Are you trying to do something different?  Where is your PXE server hosted?

Cheers,
Richard



-------- Original Message --------
Subject: [ipxe-devel] IPXE and parallels on MAC
From: "Patel, Kalpesh" <kapatel at randomhouse.com<mailto:kapatel at randomhouse.com>>
Date: Mon, April 07, 2014 7:56 am
To: "ipxe-devel at lists.ipxe.org<mailto:ipxe-devel at lists.ipxe.org>" <ipxe-devel at lists.ipxe.org<mailto:ipxe-devel at lists.ipxe.org>>

Hey everyone,

I am eliciting help in solving an unusual problem.

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.

On this particular VM, there are three NICs but two are disabled in the VM
so that it can bring only one of them up, which is where TFTP is running.

Just to try, I've given DHCP server the MTU option (DHCP option # 26) to
be of 1500 but no luck in changing the behavior. I am also forcing option
210 to have it switch to http protocol but it seems to ignore it as well.
This is not that much of importance at the moment.

I've also tried with gPXE 1.0.1 downloaded from rom-o-matic with which I
have had a little better luck but no cigar. That at least consistantly
loads menu but any subsequent loading related to selection of a menu item
also ends up freezing at random point.

I understand that you folks may not have MAC at your disposable so I am
making my rig available if there is momentum to continue to find the
culprit.

Thanks.





________________________________
_______________________________________________
ipxe-devel mailing list
ipxe-devel at lists.ipxe.org<mailto:ipxe-devel at lists.ipxe.org>
https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20140407/fc59e9b9/attachment.htm>


More information about the ipxe-devel mailing list