Thanks for taking the time to type up this thorough response. I actually made a LOT of progress on this since I sent the email out, so I figure I will post the results that I have found.
First, I have found that the number one problem so far is on boards that have nVidia ethernet controllers. From what I read on the old etherboot site, there are some problems with iSCSI and nVidia because nVidia cards require a couple special services in order for the card to act like a normal ethernet card does. Now the very strange part is that once I am booted into WinPE, the system can pull an IP address and communicate with the network, but it appears that due to the lack of the nVidia service in the PE, there are troubles with Windows reading the iBFT. To confirm that this is the problem, I found a couple machines around the house that don't have nVidia chipsets, and those all booted and installed to iSCSI without a problem. The system booted up and when I started the Windows installer, the mounted iSCSI drive was visible and I was able to format and install to it without a reboot or anything needed. I have tested boards with both an Atheros and a Realtek card, and both worked just fine. This lead into the next problem. My Windows 7 installation disc contains two images on the one disc, both x86 and x64. Well, I have discovered online that when installing directly from CD, you can install either a x86 or x64 image from an x86 copy of WinPE, however this is NOT the case when working over PXE. When installing over the network using PXE, to install a 32 bit Windows 7 image, you must launch the 32 bit installer from the 32 bit PE, and to install a 64 bit image, you have to run the 64 bit setup.exe from a 64 bit WinPE. I was able to split my install.wim file using imagex and create two seperate installation sources on my network, one for 32 and one for 64 bit. On the 64 bit installation source, I had to replace the setup.exe file and all supporting files with the respective 64 bit copies. Fortunately, I was able to hunt these down in a CAB file on the Windows AIK disc. I setup a menu on iPXE and now I can simply choose to either install 32 or 64 bit Windows 7 and then WinPE loads and automatically starts the respective installer. And this lead me into my final problem, which i purely blame on Microsoft. I noticed that when I was installing, it was taking an extremely long time and that the transfer speed on the iSCSI server was only a couple MB/s, which made no since because everything is on a gigabit betwork and the iSCSI disc was running from a striped SATA RAID. Well it turns out that when you are installing to iSCSI, Windows automatically adds a route for the iSCSI server using the default gateway, EVEN if the iSCSI server is on the same subnet as the client. In my case, my linux router is running a 10/100 ethernet card (no need for gigabit on a 25MB/s internet connection). This forces ALL iSCSI traffic (and in my case, also the installation source) to flow through the router. Obviously this is pretty annoying but can be easily worked around by adding "option routers <ip_of_iscsi_server>;" which forces the client to communicate directly with the server. My next goal is to attempt to roll in the actual nVidia drivers and requires services into the WinPE to see if I can add support for the iSCSI installation on a nVidia chipset. I've got two HTPCs that both run nVidia ethernet onboard and I would really like to switch them to iSCSI. If I do manage to pull it off somehow, I'll writeup something and send it back in here so that others can know in the future. Thanks! -Steve On Mon, Dec 31, 2012 at 8:47 AM, Robin Smidsrød <[email protected]> wrote: > On 27.12.2012 02:48, Steve Cross wrote: >> #!ipxe >> sanboot --keep iscsi:192.168.1.1::::iqn.2008-08.org.example:target || >> set arch x86 >> kernel wimboot >> initrd winpe/${arch}/ISO/bootmgr bootmgr >> initrd winpe/${arch}/ISO/boot/bcd BCD >> initrd winpe/${arch}/ISO/boot/boot.sdi boot.sdi >> initrd winpe/${arch}/winpe.wim boot.wim >> boot > > This does seem to be accurate. Nothing wrong here, as far as I can tell. > >> I have the "set arch x86" because I have found that with my copy of >> Windows 7, I ALWAYS have to load the x86 WinPE in order for my >> setup.exe to load. > > When you boot the Windows 7 installer from traditional CD, are you also > limited to only being able to use the x86 installer, or does x64 work? > If so, your computer might have problems running 64-bit software in general. > >> iPXE will mount my iSCSI disk (I can see the connection on the server >> side), attempt to boot, fail (because the disc is empty), and then >> pass on to loading WinPE just as I would expect. The problem is that >> once WinPE loads, it can no longer see the iSCSI disc. I have noticed >> that while WinPE is loading, the iSCSI connection is lost. > > This is completely normal. Once the Windows kernel takes over, iPXE is > no longer in control, and the iSCSI connection iPXE established is lost. > The iBFT generated by iPXE is there to inform Windows' iSCSI initiator > (client) that it should re-establish the connection once it's booted and > ready. > >> Just for kicks, I modified my WinPE to support the Windows iSCSI >> initiator, and after starting the service and launching iscsicpl, it >> shows that the iSCSI disc that iPXE loaded is "reconnecting." I have >> let it sit there and I have tried messing with the settings, and >> nothing has worked. If I disconnect and reconnect it, then when I try >> to install Windows, it says something along the lines of "I won't >> install because your computer can't boot to this disc." This leads me >> to believe that because of the disconnect/reconnect that the iBFT is >> cleared out and negates the whole process. > > If you boot up WinPE, you can press Shift-F10 to get a command shell > when the Windows installer has started. You can then run ipconfig to > ensure you have IP connectivity, and if you can ping other hosts, run > diskpart and see if your iSCSI volume is visible. If it is not visible, > most likely your WinPE doesn't support iSCSI boot, or you have some > network connectivity issue. If your iSCSI volume is listed among the > disks available, then in theory you should be able to see it in the > Windows installer and you should be able to partition and format it. > Though, a lot of people, me included, have problems that Windows just > forcibly refuses to accept that iSCSI disk as a valid installation > target, even though it is listed among the disks available. You get some > kind of stupid error message saying that this drive can't be verified as > bootable, so it refuses to install to it. I've heard reports that some > people say that if you partition the drive during the first run of the > installer, and then reboot and try again without partitioning, it might > work. I have not personally had luck with this approach, though. > > Also, as mentioned here, > http://www.tomshardware.com/forum/53131-63-windows-restarting-install#t220248 > , you should pay attention to those two windows 7 setup log files that > contain information about the setup process: > > C:\Windows\System32\Panther\setupact.log > C:\Windows\System32\Panther\setuperr.log > > When you're in the installer, I'm not sure if they are on the C drive or > the X drive. Try either one. > > Hope this has given you a bit more insight. > > -- Robin > _______________________________________________ ipxe-devel mailing list [email protected] https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel

