The following warnings occurred:
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 807 - File: showthread.php PHP 7.3.15 (Linux)
File Line Function
/showthread.php 807 errorHandler->error





Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
The first point to check when debugging boot to HTTP issues
2016-06-23, 17:47
Post: #1
The first point to check when debugging boot to HTTP issues
Hi guys. I have not slept whole night due a problem and it turned out so simple I wanted to leave a note on other people who might run into similar problem.

I wanted to test booting to a WinPE image that resides on a web server using iPXE. I followed the instructions to the point, copied and pasted scripts, burnt ipxe.iso file to a USB stick and was ready to go.

Here are the things I learnt first:

- if you copy and paste the script given on http://ipxe.org/howto/winpe to boot.ipxe file, it does not work. You have to remove the spaces so that each line starts at first position of the line ( at least the first #!ipxe command ). It would be great if site maintainers either change the script box on that page and remove the leading spaces on each line.
- Setting up winPE section was not valid for Windows 10 AIK, or the way I installed it. there was no "Deployment and Imaging Tools Environment" on my installation, so I had to execute copype command manually which lead to a few more hours to sort out. Thanks to helpful people's posts and google, I made it.
- I uploaded the files to my webserver using FileZilla but FileZilla experienced lots of disconnections during the process and it took a lot of time.

I started a VM to boot into WinPE image by booting from ipxe.iso. After some more modifications, I was able to download files.

Then the actual problem came. I was able to download everything including the boot.wim, but instead of booting into WinPE image, the VM was restarting itself. I tried it with an actual laptop and saw it was restarting itself too.

I copied the web folder into another place and started tinkering with it by replacing the boot.wim image with different images. I tried for hours without any progress and googled everything in the process.

Then I came to this page using a Google search: http://ipxe.org/wimboot I was surprised that ı did not seen it when I browsed the ipxe.org pages. Anyway, as it showed a different way to booting into WinPE by using files from Windows Installer ISO's, I wanted to try it too. I copied contents of Windows 10 ISO just as decribed in this page and was able to boot into WinPE.

At that point, I decided somehow the wim images I was building were faulty. I spent the whole night building wim images, uploading them and watching them fail to boot one by one; I had two VMs running at the same time.

Around noon, I was devastated. So I did what every engineer would do: I started mixing the files from booting Windows 10 installer image with my own built images one by one.

It took me two more hours, but one the last file to try was wimboot, I recognized that the file size was 41.5 KB on the booting Windows 10 folder, but was 41.36 KB on other non-booting folders. the moment I replaced the 41.36 KB files with 41.5 KB files, my images started to boot. It took me a couple of hours more to sort everything out and get it running as I wanted, but in the end worked.

[undefined=undefined]The moral of the story: Even with proven tools like FileZilla and decades old ftp protocol, it is possible that a file can not copied correctly and no error or warning message be thrown.

In the hindsight, considering that the only file to be copied to web folder is wimboot, I should have make sure it was copied correctly. [/undefined]

I think the first step of any debugging process needs to be checking whether iPXE related files are OK or not.

Best Regards,

Eyup
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
The first point to check when debugging boot to HTTP issues - eyupo92 - 2016-06-23 17:47



User(s) browsing this thread: 1 Guest(s)