Jump to content











Photo

Bug Reports, Requests, HowTo's about Tiny PXE Server

pxe network boot

  • Please log in to reply
909 replies to this topic

#1 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 28 September 2013 - 02:14 PM

*
POPULAR

Hi There,

 

This is a new thread taking over this one : http://reboot.pro/in...showtopic=18488 .

 

The objective there is to discuss Tiny PXE Server usage, bugs and possible improvements.

 

That thread can also touch syntax around pxelinux, ipxe, grub4dos, linux kernel boot parameters as Tiny PXE Server can be used with these to boot various operating systems.

 

My focus is about network booting.

 

A thread has been created here around parameters to be found in config.ini

A thread had been created here around some basic how to's built upon various boot loaders

The zip file contains a file named dhcp-options.html explaining all DHCP options managed by Tiny PXE Server.

 

Download here.

 

Regards,

Erwan

 

Edit

Whenever reporting a bug, please whenever possible, provide the below elements :

-a copy of config.ini

-a log file (right click in the upper memo box, copy to clipboard)

-a screenshot of the error occuring

-a wireshark trace


  • Brito, ZEE and liuzhaoyzz like this

#2 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 10 October 2013 - 12:46 PM

Tiny PXE Server with IPXE + grub4dos menu allows me to boot via Network LiveXP_WIM.ISO or 7PE_x86 or PartedMagic ISO loaded into RAMDISK.

Also I can boot Mini XP or Mini 7 VHD loaded via Network into RAMDISK.

That works all quite well by using WinVBlock driver for XP VHD or  FiraDisk driver for Win7 VHD  :)

 

My question is will it be possible to boot via Network these VHD as FileDisk located on the Tiny PXE Server ?

If possible then can you give steps on how to make this happen :)

 

Thanks for your very handy Tiny PXE Server.

 

:cheers:



#3 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 10 October 2013 - 02:56 PM

Hi Wimb,

 

Thanks for this positive feedback :)

 

What do you mean as filedisk?

 

Usually, I use one of the 3 methods below for  live boot medias :

 

-iso + memdisk + ipxe/http

-iso + sanboot + ipxe/http

-wim + wimboot + ipxe/http 

 

Now you can also achieve the same with for image files :

 

-iscsi : i personally like to use the free starwind iscsi target

-> then use iscsi:$ip:tcp:3260:0:$targetname (or make an ipxe script)

 

-aoe : you may want to try my (rather simple) vblade GUI

-> then use aoe:e0.0 in the root path field (or make an ipxe script)

 

-sanboot (ipxe command) may also work (sanboot --no-describe ${boot-url}/_images/xp.img)

 

I believe (but I am not 100% sure) that grub4dos + (pd) means memory mapping only (versus direct disk mapping).

 

Regards,

Erwan



#4 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 10 October 2013 - 03:09 PM

Hi Erwan,

 

I would like to Boot Mini XP VHD or Mini 7 VHD via Network fom Tiny PXE Server without the need to load into memory.

 

This is  my first experience with booting from Network,

so I need some help and knowledge about what is possible with VHD booting via Network.

 

Thanks for your answer, I will try the Free Starwind and understand that grub4dos is not to be used in that case ...

It is all rather new to me, but also quite interesting to boot from Network :)

 

:cheers:



#5 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 10 October 2013 - 03:17 PM

If about network booting a live systems without using memory then sanboot (ipxe command) will perfectly do it.

This method is simpler than using iscsi or aoe.

 

My ipxe script :

#!ipxe
set boot-url http://${dhcp-server}
sanboot --no-describe ${boot-url}/images/winre.iso

Name this iso.ipxe and put it in the ipxe/gpxe filename field.

 

Memdisk via iPXE vs. ISO Boot HTTP via iPXE:
 
Memdisk via iPXE does the following things: 
1) Emulates a CD-ROM allowing a Network-Based Install. 
2) Masks actual system RAM because the environment memdisk creates "hides" a certain amount of RAM to allow for the ISO - This amount is generally 2x ISO Size (Maximum 2GB - I think).
3) Preloads the ISO into memory before executing the ISO. This slows boot time a bit.
 
ISO Boot over HTTP via iPXE:
1) Does not emulate a CD-ROM. It is a Block Device.
2) Does not mask system RAM.
3) Executes as it reads: Faster than memdisk and no "preloading" of the ISO is required.
4) Does not hold the ISO as a readable device once the ISO is loaded unless loaded into the iBFT.


#6 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 10 October 2013 - 03:26 PM

Thanks, but ISO like 7pe_x86 or PartedMagic is booting already OK for me. They load sufficiently fast from Network into RAMDISK.

 

The point is how to boot VHD (e.g. Mini XP or Mini 7 or Portable 8 VHD) without loading into RAMDISK.

It would be interesting if the VHD could be seen as SAN .....



#7 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 10 October 2013 - 03:29 PM

from easiest to hardest :

 

-sanboot (from ipxe)

-aoe

-iscsi

 

/erwan



#8 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 11 October 2013 - 01:23 PM

sanboot option in ipxe is not working for me.

I tried sanboot for 7pe.iso and for xp.img and all kind of VHD, but always get this type of timeout error.

 

Attached File  IPXE-256.jpg   92.54KB   5 downloads

:7pe_x86
set boot-url http://${dhcp-server}
sanboot --no-describe ${boot-url}/images/7pe_x86.iso || goto failed
goto start  


:7pe
set boot-url http://${dhcp-server}
sanboot --no-describe ${boot-url}/images/7pe.iso || goto failed
goto start  


:vhd_xp
set boot-url http://${dhcp-server}
sanboot --no-describe ${boot-url}/xp.img || goto failed
goto start  


:vhd_w7
set boot-url http://${dhcp-server}
sanboot --no-describe ${boot-url}/Win7-3.vhd || goto failed
goto start  

 

grub4dos option in ipxe is working in all cases without any problem.

 

Have you any idea how to solve the issue ?

 

I did not install yet Starwind and assumed that sanboot in ipxe does not need that.

Please correct me for what I am doing wrong.

 

wimb



#9 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 11 October 2013 - 02:35 PM

Hi Wimb,

 

You are right : with your current ipxe script, you dont need an iscsi server such as starwind.

 

A "simple" http server to host your file(s) will do.

 

Test the following : set boot-url http://1.2.3.4 -> 1.2.34 being your real ip.

Just to be sure dhcp-server is not pointing to another place.

 

If still not working, drop the undi only ipxe and go for the all drivers version (also in the zip file).

 

Regards,

Erwan



#10 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 11 October 2013 - 03:37 PM

The changes that you proposed (use real ip or use ipxe all drivers version) did not solve the issue.

 

But I have some good news: the issue is solved :)

Instead of running the pxesrv.exe program in XP OS, I changed for Windows 7 or 8 OS 

and in that case the sanboot option is working OK using the original settings.

 

So it is the XP OS that is giving the trouble for IPXE sanboot.

 

Now using Win7 or 8 OS I got the following results for ipxe sanboot

- 7pe_x86.iso is booting OK :)

- Portable XP VHD is recognised but booting does not start

- Mini Win7 VHD - booting starts but after loading drivers then BSOD 7B

- Portable Win8 VHD - booting starts but after loading drivers then Win8 BlueScreen driver issue

 

I saw that in Win 8 the MSISCSI Service has Start = 3 

So I think I will redo the experiment with Start = 0

 

Anyway there is a lot of progress and I can now go on with the experiments :)

 

:cheers:



#11 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 11 October 2013 - 04:52 PM

Hi Wimb,

 

Regarding XP, feels like the firewall was in the way (net stop sharedaccess to stop it).

 

No need to tweak the msiscsi service for now as you are no using the iscsi protocol.

 

About the VHD, they need to be monolithic (i.e not differencing or dynamic).

Such VHD is actually a basic raw image + a 512 byte footer at the end.

These images also need to contain the right drivers : an http block device capable driver.

Any other VHD type wont work.

 

There now you got me really interested :)

Indeed, booting a live iso (windows or linux) works rather well (i.e most of the time).

I'd like to know how it behaves/works with a full system (i.e not a live one).

 

I believe the live iso works over ipxe\sanboot because it actually loads the image in ramdisk before the windows kernel kicks in (i.e after real mode / INT13).

There are probably people more competent than me on this forum to explain this part :)

 

Regards,

Erwan



#12 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 11 October 2013 - 05:09 PM

About the VHD, they need to be monolithic (i.e not differencing or dynamic).

Such VHD is actually a basic raw image + a 512 byte footer at the end.

 

 

I am using such fixed VHD e.g. as made by VHD_XP_Create.exe

or by the VHD_XP / W7 / W8_Compact.exe progams that are used to make Mini XP / W7 / W8 VHD's

 

The VHD 's have OS of reduced size but have the registry of fresh installed Full Windows OS 

and so these Portable and Mini Win VHD's just behave as the Full OS.

 

It means you can install programs and drivers and the changes in the registry are remembered,

whereas the registry changes in WinPE are never permanent.

The VHD's of 1.2 GB - 2.5 GB can also be loaded in RAMDISK if no permanent changes are desired.

 

http://reboot.pro/to...tall-xp-in-vhd/

http://reboot.pro/to...t-make-mini-xp/

http://reboot.pro/to...ct-make-mini-7/

http://reboot.pro/to...ct-make-mini-8/

 

:cheers:


  • erwan.l likes this

#13 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 11 October 2013 - 05:17 PM

Ok got it.

 

So now the challenge it to link the int13 sanboot device to a windows disk drive !

 

If this works, we could achieve full disk (vs ram disk) san on boot via http only.

 

/Erwan



#14 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 11 October 2013 - 05:27 PM

Mini Win XP/7/8 VHD loaded from Network into RAMDISK is working already OK by using ipxe + grub4dos menu.

 

It will indeed be very interesting if we can boot via Network such VHD direct located on the server without loading into RAMDISK.

That is what my goal is at the moment: booting VHD as SAN

 

BTW switching off the XP FireWall does not help to enable sanboot for server with XP OS.

 

:cheers:



#15 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 11 October 2013 - 05:51 PM

I think we could help from guys like shao (winvblock) or karyonix (firadisk) to consider mapping the sanboot real mode int13 device into a scsi disk.

If not mistaken this is very close to what firadisk does.

About your xp misfortune, i'd be interested to see Tiny Pxe Server logs.

Erwan

#16 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 11 October 2013 - 07:39 PM

I think we could help from guys like shao (winvblock) or karyonix (firadisk) to consider mapping the sanboot real mode int13 device into a scsi disk.
 

 

May be Olof Lagerkvist can help and that we can make use of the Arsenal driver for direct booting VHD from Network :)

 

Discussion on booting VHD from Network via iPXE will be continued in New topic entitled

 

Boot Mini Windows VHD from Network via iPXE

 

http://reboot.pro/to...twork-via-ipxe/

 

:cheers:



#17 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 12 October 2013 - 11:59 AM

Hi Wimb,

 

See my post on Winvblock related to sanbooting a windows disk image thru ipxe+sanboot+http : here.

 

To my mind, Shao is probably the best qualified to answer such question !

 

Regards,

Erwan



#18 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 14 October 2013 - 01:22 PM

Hi Erwan,

 

I am trying AoE now for booting Win7-1.vhd

 

First I installed AoE driver and CC Boot Client in VHD according to

http://windowsdiskle...m/quick-how-to/

 

Then in Server Host OS (Win8 or Win7) I installed WinPCap and vBlade

 

So far everything OK, but now I try vblade.exe as cmd but it does not finish the job ...

Then I tried vBlade GUI and that failed as well.

 

Do you have any idea what I am doing wrong or how I can solve the issue ?

 

Thanks,

 

Wim



#19 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 14 October 2013 - 01:36 PM

Hi Wimb,

 

Have you installed winpcap next to vblade?

 

Also, in your disk image, you need to install winaoe drivers.

 

I have booted a few images on AOE : works nice.

Very similar to ISCSI actually.

 

Regards,

Erwan



#20 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 14 October 2013 - 01:49 PM

Have you installed winpcap next to vblade?

 

Also, in your disk image, you need to install winaoe drivers.

 

 

winpcap is installed and then also vblade, but do you mean they must be in the same folder ?

vblade and winpcap are in different folders in my case.

 

I added vGui.exe to vBlade folder

 

Have you tried for Win7 VHD ?

Is pointing in vGui.exe to the Win7-1.vhd file sufficient or do I need to do something more ?

 

I have installed aoe driver and the CC Boot Client in VHD

I can see that aoe.sys and iscsiboot.sys are in drivers and the Services are visible in regedit.

But after booting with Win7-1.vhd then I don't see them in device manager .....

That does not seem to be OK ...



#21 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 14 October 2013 - 02:18 PM

winpcap is a driver.

once installed, it is transparent.

 

winaoe only needs to be installed in the initiator.

 

winaoe should appear as a storage controller.

 

about vblade, when you execute the command displayed in vgui on the prompt by itself, what does it say?



#22 wimb

wimb

    Platinum Member

  • Developer
  • 3756 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 14 October 2013 - 03:56 PM

winaoe should appear as a storage controller.

 

 

The aoe.sys driver was present but not visible as storage controller in device manager.

I  improved the install of aoe driver and now it is seen as storage controller in device manager of the running VHD :)

 

Also I was not aware that I should keep vblade cmd window open and running. :)

At first I thought that the program did not finish and I closed the cmd window (wrong !!)

 

Now I can direct boot the Client PC diskless with remote Win7-1 VHD as AoE disk on Server and that is quite an improvement. :)

No need anymore to load RAMDISK with Win7-1 VHD

 

Attached File  AoE-W7-VHD.png   645.5KB   2 downloads

 

:cheers:



#23 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 14 October 2013 - 05:49 PM

AOE is rather nice indeed as this is quite quick and straightforward to set a initiator / target.

 

The lun syntax is also very simple (compared to iscsi).

 

As for vGUI as a GUI for vBlade.exe : it is rather simplisitic today hence the dos box showing, etc.

 

I might improve it a bit in the following days :

-the dos box will be hidden

-the start button will be grayed out as long as the hidden process runs

-a stop button will kill the hidden process (or when the GUI terminates)

 

As a whole, I am happy it works for you !

 

Now, next on your list should be try out iscsi :)

And not to mention that I still have a background thread on sanboot+http boot : that one would be nice as well !

 

/erwan


  • wimb likes this

#24 florin91

florin91

    Frequent Member

  • Team Reboot
  • 197 posts
  •  
    European Union

Posted 15 October 2013 - 04:20 PM

Hi! 
 
While trying to set up pxe booting, I keep getting these kind of requests:
7:08:50 PM root path=C:\pxe_root\files\
7:08:50 PM dhcpd:4011 started...
7:08:50 PM dhcpd:67 started...
7:08:50 PM tftpd started...
7:09:11 PM DHCPd:DISCOVER received, MAC:xx-xx-xx-xx-xx-xx, XID:436ED0F5
7:09:11 PM DHCPd:OFFER sent, IP:192.168.56.3, XID:436ED0F5
7:09:15 PM DHCPd:DISCOVER received, MAC:xx-xx-xx-xx-xx-xx, XID:436ED0F6
7:09:15 PM DHCPd:OFFER sent, IP:192.168.56.3, XID:436ED0F6
7:09:23 PM DHCPd:DISCOVER received, MAC:xx-xx-xx-xx-xx-xx, XID:436ED0F7
7:09:23 PM DHCPd:OFFER sent, IP:192.168.56.3, XID:436ED0F7
7:09:55 PM DHCPd:DISCOVER received, MAC:xx-xx-xx-xx-xx-xx, XID:436ED0F8
7:09:55 PM DHCPd:OFFER sent, IP:192.168.56.3, XID:436ED0F8
7:10:03 PM DHCPd:DISCOVER received, MAC:xx-xx-xx-xx-xx-xx, XID:436ED0F9
7:10:03 PM DHCPd:OFFER sent, IP:192.168.56.3, XID:436ED0F9
7:10:07 PM DHCPd:DISCOVER received, MAC:xx-xx-xx-xx-xx-xx, XID:436ED0FA
7:10:07 PM DHCPd:OFFER sent, IP:192.168.56.3, XID:436ED0FA
Seems I am doing something wrong here. Also, I got "PXE-E52 proxyDHCP offers were received. NO DHCP offers where received. PXE-M0F: Exiting PXE ROM. Operating System Not Found."

I should mention that host OS is Windows 8.

Thanks!

#25 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 15 October 2013 - 05:33 PM

Hi Florin91,

 

Have you tried with and without proxydhcp tickbox cheked?

 

Can you try with firewall disabled?

 

Regards,

Erwan







Also tagged with one or more of these keywords: pxe, network boot

2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users