Jump to content











Photo

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

pxe network boot

  • Please log in to reply
701 replies to this topic

#51 erwan.l

erwan.l

    Gold Member

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

Posted 09 November 2013 - 07:54 PM

I have included a licensing.txt in the zip file with the below text in order to use eventual profesionnals to use it without any confusion around what can be done and what cannot be done.

License for Tiny PXE Server
=======

This utility is released as freeware, i.e not sold. 

You are allowed to freely use this software for both profesionnal and non profesionnal reasons.

You are allowed to freely distribute this utility via Internet, or in any other way. 
If you distribute this utility, you must include all files in the distribution package, without any modification !

You are not allowed to modify the binary.

You are not allowed to sell this software for whatever reasons.

The zip package includes other softwares, please refer to the respective web sites to learn more about these softwares licensing.

-ipxe : http://etherboot.org/wiki/index.php
-gpxe : http://etherboot.org/wiki/index.php
-syslinux : http://www.syslinux.org/wiki/index.php/The_Syslinux_Project
-winnfsd : http://sourceforge.net/projects/winnfsd/


Disclaimer
==========

The software is provided "AS IS" without any warranty, either expressed
or implied, including, but not limited to, the implied warranties of
merchantability and fitness for a particular purpose. The author will not
be liable for any special, incidental, consequential or indirect damages
due to loss of data or any other reason.

  • matheos likes this

#52 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 13599 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 09 November 2013 - 07:58 PM

Hi Sfor,

 

By commercial purpose, I mean I dont it to be sold but professionals are free to use it as part of their professional activities.

 

Regards,

Erwan

That is "not for resale".

 

Something like:

2.3. The Software can be copied and distributed under the condition that original copyright notice and disclaimer of warranty will stay intact and the Licensee will not charge money or fees for the Software product, except to cover distribution costs.

 

Full text here:

http://wiki.eltima.c...ll-version.html

 

BTW, such a license won't be GPL compatible, and at least Syslinux is GPL. :frusty:

 

Is that a "not" or a "now" allowed to sell? :w00t:

 

:cheers:

Wonko



#53 erwan.l

erwan.l

    Gold Member

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

Posted 09 November 2013 - 08:09 PM

That is "not for resale".

 

Something like:

Full text here:

http://wiki.eltima.c...ll-version.html

 

BTW, such a license won't be GPL compatible, and at least Syslinux is GPL. :frusty:

 

Is that a "not" or a "now" allowed to sell? :w00t:

 

:cheers:

Wonko

 

I meant "not" :) this is a typo, thanks Wonko for this !

 

About GPL, indeed, as soon as the code source is not given, most licences (CC, GPL, Apache, etc) cannot be used anymore (so I understand).



#54 matheos

matheos
  • Members
  • 2 posts
  •  
    Poland

Posted 10 November 2013 - 04:57 PM

Thank you!

I think that licence/eula looks good :yahoo:



#55 DHCP688

DHCP688
  • Members
  • 3 posts
  • Location:Bayern - Allgaeu
  •  
    Germany

Posted 11 November 2013 - 08:04 AM

 

Hi DHCP688,

 

Latest version now supports the following options in the ini file :

 

bind=1
opt54=1.2.3.4
 
Regards,
Erwan

 

Thanks Erwan, 

 

now it works fine. It's almost a great tool.

One note, the "opt51" (Lease time..) ignore changes. It's not terrible for me, because I don't need this setting. 

 

Best regards, 

 

DHCP688



#56 erwan.l

erwan.l

    Gold Member

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

Posted 11 November 2013 - 06:50 PM

Almost a great tool? :)

 

opt51 bug fixed in latest version (now read correctly from the ini file).

 

Regards,

Erwan



#57 Moon Lover

Moon Lover

    Newbie

  • Members
  • 12 posts

Posted 25 November 2013 - 12:48 PM

Hi erwan.l

 

thanks a lot for this nice and tiny tool, keep up the good work.

 

one problem i found at least for me is that pxesvr.exe take more than 50% of processor resource after using wimboot or http, and it stays like that even after making it offline.

 

i'm using it on windows 8 x64



#58 erwan.l

erwan.l

    Gold Member

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

Posted 25 November 2013 - 12:54 PM

Hi erwan.l

 

thanks a lot for this nice and tiny tool, keep up the good work.

 

one problem i found at least for me is that pxesvr.exe take more than 50% of processor resource after using wimboot or http, and it stays like that even after making it offline.

 

i'm using it on windows 8 x64

 

Hi Moon Lover,

 

Thanks for the feedback.

I did not have a chance to test is against x64 and/or win8.

Will give it a shot in the coming days.

Regards,

Erwan



#59 Moon Lover

Moon Lover

    Newbie

  • Members
  • 12 posts

Posted 25 November 2013 - 02:12 PM

thanks erwan.l



#60 Moon Lover

Moon Lover

    Newbie

  • Members
  • 12 posts

Posted 25 November 2013 - 02:17 PM

i think it's working fine now, i have changed the file compatibility to windows 7 and it's ok now.

 

thanks again erwan.l



#61 4evernoob

4evernoob
  • Members
  • 2 posts
  •  
    United States

Posted 25 December 2013 - 12:28 AM

I'm stumped. Don't seem to have a problem with Tiny, it seems more of a ipxe problem. Started off trying to sanboot an iscsi and when that didn't work I changed to just booting the ipxe menu and the problem I seem to have is none of the commands seem to work at the ipxe prompt. I have setup a Virtualbox environment with a 2k8r2 server hosting tiny and my iscsi setup and the client wks is a w7 or at least that's the plan, right now it's a diskless wks. Anyhow the w7 seems to load ipxe all the way through dhcp and the ipxe menu were I select the ipxe command line and try some basic commands like ping, sanboot sanhook etc and all I get is command not found. I have tried some different .pxe's and recently tried compiling ipxe myself and I'm getting no where. I'm obviously missing some large chunk of something here. I should probably take this to the ipxe forum but you seem like a rockstar in all things I'm interested in. Funny how many times I've been googled to your blog.



#62 PaulDG

PaulDG

    Newbie

  • Members
  • 18 posts
  •  
    United Kingdom

Posted 25 December 2013 - 04:43 AM

Which ipxe file have you set in Tiny as the boot filename? The .lkrn is a cut down version that doesn't contain many commands.

 

Have you seen http://rom-o-matic.eu/ for the latest ipxe builds.


Edited by PaulDG, 25 December 2013 - 04:44 AM.


#63 4evernoob

4evernoob
  • Members
  • 2 posts
  •  
    United States

Posted 25 December 2013 - 09:07 PM

Ok thanks Paul you kicked the rocks loose. Here is what was happening. My test environment is in Virtualbox and the netboot already has a cut down version of ipxe as it's boot code so with the selection of "Filename if user-class=gpxe or ipxe" checkbox checked and menu.ipxe it would see ipxe was already loaded and would launch the menu before the ipxe I thought was loading could even load so no matter what changes I made I was running with the virtualbox ipxe.. DOH! After figuring that out I then came across this:::

 

http://ipxe.org/err/3c0920    see bottom. Don't know what I'm going to do , I already have a live system for pxe booting so I may just work there, don't want to spend time making virtualbox work for me.

Thanks for the help.



#64 erwan.l

erwan.l

    Gold Member

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

Posted 11 January 2014 - 06:44 PM

Hi Gents,

 

Fixed a bug in latest version :

While playing with PXE and UEFI, I realised that the UEFI pxe client was using incoming port udp:4011 where I was always replying on udp:68.

Because of that the UEFI pxe client would not download the bootstrap.

I suspect that bug was also affecting other situations.

 

I did not update the version number but I would advise to re download the most recent binary.

 

Regards,

Erwan



#65 erwan.l

erwan.l

    Gold Member

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

Posted 13 January 2014 - 05:04 PM

Following the previous post and based on a discussion here, I decided to come up with a quick and easy "How to" PXE boot a WINPE ona UEFI computer".

 

See here.

 

/Erwan



#66 erwan.l

erwan.l

    Gold Member

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

Posted 13 January 2014 - 06:12 PM

Also, can be of some help and I was asked a few times : "How to install Windows (7 or 8) thru WINPE, via IPXE".

 

See here.

 

/Erwan



#67 erwan.l

erwan.l

    Gold Member

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

Posted 13 January 2014 - 10:23 PM

1.0.0.16 is out

 

  • fixed: remoteport=4011 when srcport=4011 -> was preventing some ipxe client to boot (uefi for exemple)

 

  • changed: opt60='' by default when using opt67 (was 'PXEClient' before) -> was preventing ipxe client to boot with opt67

 

  • changed: opt60='PXEClient' when proxydhcp=1 (was hardcoded before) -> more flexible

 

  • fixed: xid is now displayed correctly -> was reversed order

 

  • fixed: was sending an empty boot filename in proxydhcp in the dhcp_offer stage -> removed, was preventing proxydhcp+opt67

 

  • changed: bind=true by default when multiple interfaces detected -> was preventing pxe boot with multiple interfaces when bind=false


#68 wimb

wimb

    Gold Member

  • Developer
  • 2281 posts
  •  
    Netherlands

Posted 14 January 2014 - 02:11 PM

Following the previous post and based on a discussion here, I decided to come up with a quick and easy "how to" PXE boot a WINPE ona UEFI computer.

 

See here.

 

 

I tried to PXE boot WinPE on UEFI computer as described.

 

PXE booting starts OK and I can see progress of SLOWLY loading boot.wim,

but at the end of loading there is only a black screen and no cmd window as expected.

 

Do you know how to get it working ?

 

Attached File  PXE_WPE_UEFI.jpg   29.13KB   2 downloads



#69 erwan.l

erwan.l

    Gold Member

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

Posted 14 January 2014 - 02:59 PM

I tried to PXE boot WinPE on UEFI computer as described.

 

PXE booting starts OK and I can see progress of SLOWLY loading boot.wim,

but at the end of loading there is only a black screen and no cmd window as expected.

 

Do you know how to get it working ?

 

attachicon.gifPXE_WPE_UEFI.jpg

 

About the slow speed, this is the downside when using the bootmgr builtin TFTP client : it is slow like hell (I get 2MBytes/s max at home over a 1000Mbits/s).

My plan is to move my UEFI boot process to IPXE.

 

About the black screen : 

-is it a x64 winpe?

-is the bcd pointing to winload.efi (not winload.exe) / Check it out with : bcdedit /store \path\to\bcd /enum all .

 

Or (to test your boot.wim), replace bootx64.efi by pxeboot.n12 and your bcd.efi by a bcd.notefi and see if boots ok in legacy mode?

 

Regards,

Erwan



#70 wimb

wimb

    Gold Member

  • Developer
  • 2281 posts
  •  
    Netherlands

Posted 14 January 2014 - 03:44 PM

About the black screen : 

-is the bcd pointing to winload.efi (not winload.exe) / Check it out with : bcdedit /store \path\to\bcd /enum all .

 

 

Thanks , that solved the issue.

 

It is a surprise that for the PXE case then Boot\BCD is used for UEFI booting, whereas I thought it would be the usual efi\microsoft\boot\BCD

In server pxesrv\files\boot\BCD I changed winload.exe into winload.efi and then booting of WinPE via PXE is working (loadtime is about 4 min).

 

:cheers:

 

Just to confirm:

In pxesrv\files I have added pxeboot.n12 and bootmgr.exe from folder Windows\Boot\PXE of boot.wim

Then I can use pxeboot.n12 as Filename in Tiny PXE Server and can PXE boot WinPE x64 file sources\boot.wim in legacy (BIOS) mode (loadtime is about 1 min).



#71 erwan.l

erwan.l

    Gold Member

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

Posted 14 January 2014 - 04:06 PM

Thanks , that solved the issue.

 

It is a surprise that for the PXE case then Boot\BCD is used for UEFI booting, whereas I thought it would be the usual efi\microsoft\boot\BCD

In server pxesrv\files\boot\BCD I changed winload.exe into winload.efi and then booting of WinPE via PXE is working (loadtime is about 4 min).

 

:cheers:

 

Happy it works for you.

PXE booting on UEFI was not a given to me and I had to fix several issues in Tiny PXE Server but now I am happy with it :)

 

I aggree with you : I was confused too at first but indeed the BCD is always in \boot folder even in UEFI mode, when pxe booting.

Thus, using TinyPXE Server in proxydhcp mode + opt252, you can choose the path\name of your BCD file.

 

So PXE-> MS Bootx64.efi ->BCD (winload.efi) ->Boot.wim (x64) : Works.

 

Now, my plan is to test PXE-> IPXE ->MS Bootx64.efi ->BCD (winload.efi) ->Boot.wim (x64).

This in order to play with HTTP (faster) and menus (more flexible).

 

Regards,

Erwan



#72 erwan.l

erwan.l

    Gold Member

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

Posted 14 January 2014 - 06:48 PM

For now, when doing the following :  PXE-> IPXE ->MS Bootx64.efi ->BCD (winload.efi) ->Boot.wim (x64), 

I get "error code 0xc0000428 (The digital signature for this file couldn’t be verified)" .

 

Edit1: My first feeling is that bootx64.efi cannot find the bcd file and is not looking for it on my tftp (since it was not pxe booted but chain loaded).

 

Edit2: I get better results with the below IPXE script (i now see bootx64.efi downloading BCD from my tftp) but still get error 0xc0000428.

set next-server 192.168.1.100
set filename bootx64.efi
chain tftp://${next-server}/${filename}

To be continued...

 

/Erwan



#73 erwan.l

erwan.l

    Gold Member

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

Posted 15 January 2014 - 08:09 PM

See this thread.

Thanks goes to Leandro Paulin.

 

PXE-> IPXE ->MS Bootx64.efi ->BCD (winload.efi) ->Boot.wim (x64) now works :)

 

No more 0xc0000428 error.

 

Solution : bcdedit.exe /store my.bcd /set {bootmgr} nointegritychecks yes.

 

I have included a working ipxe-snponly.efi (compiled by Leandro) in Tiny PXE Server zip file.

 

/Erwan



#74 wimb

wimb

    Gold Member

  • Developer
  • 2281 posts
  •  
    Netherlands

Posted 16 January 2014 - 04:46 AM

See this thread.

Thanks goes to Leandro Paulin.

 

PXE-> IPXE ->MS Bootx64.efi ->BCD (winload.efi) ->Boot.wim (x64) now works :)

 

No more 0xc0000428 error.

 

Solution : bcdedit.exe /store my.bcd /set {bootmgr} nointegritychecks yes.

 

I have included a working ipxe-snponly.efi (compiled by Leandro) in Tiny PXE Server zip file.

 

/Erwan

 

I can confirm that the above is working OK :) Thanks to Leandro Paulin and Erwan  :clap:  :clap:

but the speed is still very slow e.g. loading the RAMDISK takes 4 min 20 sec



#75 erwan.l

erwan.l

    Gold Member

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

Posted 16 January 2014 - 08:19 AM

Indeed, we are still using internall bootmgr TFTP client for now and TFTP is a rather slow protocol.

 

Next version of TinyPXE Server should implement a revised TFTP (using TFTP windowsize option) : I believe the time to transfer a 300 MB file should then fall under 60secs.

 

In parallel, now that we have IPXE running, the next step is to use either memdisk+http or sanboot+http or wimboot+http.

I dont believe these modules exist in EFI mode by now.

 

Regards,

Erwan







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

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users