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

#701 reboot12

reboot12

    Frequent Member

  • Advanced user
  • 287 posts
  • Interests:WinXP, Debian, OpenWrt, gPXE, iPXE, BIOS, UEFI, Coreboot, MS VirtualPC, VMware
  •  
    Poland

Posted 14 May 2017 - 04:46 PM

I tried to reproduce it had no success.


I found what causes the problem, this has nothing to do with year=9999 :lol: :D :P

Always after OS installation, I'm disable Indexing on all NTFS partitions by making changes to all folders, subfolders, and files:

Attached File  indexing_off.png   22.67KB   0 downloads

so the entire C:\PXE folder is not indexed and Internet browser always display error:

The document requested is not availabe. from TPS (P.S. should be "available")

 

If the C: drive indexing was disabled before installing TPS in C:\PXE, need to enable indexing for the entire C:\PXE folder, subfolders and files:

Attached File  indexing_pxe_on.png   36.12KB   0 downloads

 

That's all B)



#702 erwan.l

erwan.l

    Platinum Member

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

Posted 14 May 2017 - 08:13 PM

@reboot12 : nice catch !

 

I was able to reproduce the issue on my system, find the root cause and fixed it.

Next version will include this fix.

 

Well done : this is some thorough testing you did there.



#703 MikhailCompo

MikhailCompo

    Newbie

  • Members
  • 15 posts
  •  
    United Kingdom

Posted 09 November 2017 - 09:16 AM

Hi

 

All the download links are bad and I would really like to test Tiny PXE Server with this guide showing how to PXE boot MDT *WITHOUT* using Microsoft Server for DHCP and Windows Deployment Services.

 

Can anyone help with a mirror for these two downloads

 

  1. Download Tiny PXE Server from the following link: Tiny PXE Server 1.0.0.19 http://reboot.pro/fi...iny-pxe-server/
  2. Download ipxe-snponly-x86-64.efi (UEFI PXE Kernel) from the following link: ipxe-snponly-x86-64 http://erwan.labalec...only-x86-64.efi
 


#704 Wonko the Sane

Wonko the Sane

    The Finder

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

Posted 09 November 2017 - 07:17 PM

 

Can anyone help with a mirror for these two downloads

 

Just tested and working from here:

http://erwan.labalec...rver/pxesrv.zip

 

http://erwan.labalec...only-x86-64.efi

 

(the second one is the same you posted and downloads fine, the first one is the direct link to the file on erwan.labelec.fr, but maybe you have issues with the site?)

 

:duff:

Wonko



#705 gvb

gvb

    Newbie

  • Members
  • 22 posts
  •  
    Belgium

Posted 10 November 2017 - 10:01 AM

Hello,

 

We bought some Gigabyte NUCs which are vesa mountable mini PCs.

 

Usually we put windows 10 on it with a remote desktop link on it.

 

Now I was trying to use TPS together with ThinStation ISO which worked fine on some other test PCs.

 

As this is Intel UNDI I mode the following changes to my config (after updating from 1.0.0.19 to .21)

 

filename=ipxe-undionly.kpxe
 

opt67=ipxe-undionly.kpxe

 

but for some reason it doesn't boot the ISO.

 

a lot of text scrolling passes by for a while and it ends with something about "operation not supported"

 

does it also do a download of something before it can work? there's something about that aswell that it can't reach an external site.

 

as I can't seem to upload an image here I upload it to dropbox.

 

https://www.dropbox....105217.gif?dl=0

 

 



#706 erwan.l

erwan.l

    Platinum Member

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

Posted 11 November 2017 - 11:50 AM

 

Hi

 

All the download links are bad and I would really like to test Tiny PXE Server with this guide showing how to PXE boot MDT *WITHOUT* using Microsoft Server for DHCP and Windows Deployment Services.

 

Can anyone help with a mirror for these two downloads

 

  1. Download Tiny PXE Server from the following link: Tiny PXE Server 1.0.0.19 http://reboot.pro/fi...iny-pxe-server/
  2. Download ipxe-snponly-x86-64.efi (UEFI PXE Kernel) from the following link: ipxe-snponly-x86-64 http://erwan.labalec...only-x86-64.efi

 

 

My hosting provider (OVH) had a few hours of downtime on 2/3 days ago.

Fixed now.


  • MikhailCompo likes this

#707 erwan.l

erwan.l

    Platinum Member

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

Posted 11 November 2017 - 11:51 AM

Hello,

 

We bought some Gigabyte NUCs which are vesa mountable mini PCs.

 

Usually we put windows 10 on it with a remote desktop link on it.

 

Now I was trying to use TPS together with ThinStation ISO which worked fine on some other test PCs.

 

As this is Intel UNDI I mode the following changes to my config (after updating from 1.0.0.19 to .21)

 

filename=ipxe-undionly.kpxe
 

opt67=ipxe-undionly.kpxe

 

but for some reason it doesn't boot the ISO.

 

a lot of text scrolling passes by for a while and it ends with something about "operation not supported"

 

does it also do a download of something before it can work? there's something about that aswell that it can't reach an external site.

 

as I can't seem to upload an image here I upload it to dropbox.

 

https://www.dropbox....105217.gif?dl=0

 

it is either filename or opt67, dont need both.

you can probably use the full ipxe.pxe, and may be able to skip the undi version.

 

post your ipxe script here.

 

looking at your screenshot you are chainloading ipxe after booting to ipxe.

your setup seems wrong at this point, try :

filename=ipxe-xxx.pxe (undi or not)

altfilename=my_script.ipxe.

 

look at a script example to boot a winpe iso here.



#708 gvb

gvb

    Newbie

  • Members
  • 22 posts
  •  
    Belgium

Posted 13 November 2017 - 07:39 AM

when I change it to ipxe.pxe I get a similar scrolling of a lot of trying attempts but now it ends with

 

file '/boot/grub/i386-pc/normal.mod' not found



#709 erwan.l

erwan.l

    Platinum Member

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

Posted 13 November 2017 - 06:30 PM

when I change it to ipxe.pxe I get a similar scrolling of a lot of trying attempts but now it ends with

 

file '/boot/grub/i386-pc/normal.mod' not found

 

I would need a more detailed description of your setup.

screenshot of TPS while running, some explanations around on what you want to achieve, the bootloader(s) you are using, etc.



#710 MikhailCompo

MikhailCompo

    Newbie

  • Members
  • 15 posts
  •  
    United Kingdom

Posted 14 November 2017 - 04:30 PM

Hi Erwan
 
Firstly, thanks for all your time and efforts with this project. From my IT background there is significant value in a non-Microsoft PXE option especially in relation to OS deployment for MDT and SCCM - Hence why Dell have written this article: http://www.dell.com/...oyment-services
 
It is from that link I have discovered your project.
 
When using the following script, there are errors:
 

#!ipxe

set boot-url http://${next-server}
# Set Menu Timeout
set menu-timeout 5000
set submenu-timeout ${menu-timeout}

# Set Menu Default to Exit after timeout
isset ${menu-default} || set menu-default exit

console--picture http://${next-server}/ipxe.png

######## MAIN MENU ###################
:start
menu Welcome to iPXE's Boot Menu
item --gap -- ----------------DCX iPXE Menu ----------------
item wimboothttp Boot to WIM over HTTP
item wimboottftp Boot to WIM over TFTP
item reboot Reboot
choose --default exit --timeout 30000 target && goto $ 

:wimboothttp
kernel wimboot
initrd http://${next-server}/boot/BCD
initrd http://${next-server}/boot/boot.sdi
initrd http://${next-server}/sources/boot.wim
boot

:wimboottftp
kernel wimboot
initrd /boot/BCD
initrd /boot/boot.sdi
initrd /sources/boot.wim
boot

:reboot
Reboot

:exit
exit

Firstly, the command 'console--picture' only had one hyphen in it so that was failing.

 

After fixing that I continued to received errors about unable to find files.

 

It transpires that the set boot-url command is not being remembered. If i echo the variable straight after setting it, it works fine and the variable is correct.

 

But once the script moves to the correct step after i chose the menu option, the variable is no longer set (and neither is set ${next-server} or ${dhcp-server} if i use ctrl+b and echo them).

 

Why is this happening?

 

I have worked around it by removing the menu and hard coding the server IP, but this is not ideal.

 
 

 
The ipxe script from the Dell site displays an option screen offering either http or tftp booting. I obviously want



#711 Wonko the Sane

Wonko the Sane

    The Finder

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

Posted 14 November 2017 - 05:47 PM

The console  is a command, there is a space between a command and a parameter (that has two hyphens) like:

console[space]--picture

http://ipxe.org/cmd/console

 

Maybe the script is confused by your edit (if the space is missing) and since in the same line there is "${next-server}" maybe it nulls it? :dubbio:

 

What happens with boot-url?

 

BTW you shoudl use the show command:

http://ipxe.org/cmd/show

to check for the value of a setting

 

:duff:

Wonko



#712 MikhailCompo

MikhailCompo

    Newbie

  • Members
  • 15 posts
  •  
    United Kingdom

Posted 15 November 2017 - 11:14 AM

The console  is a command, there is a space between a command and a parameter (that has two hyphens) like:

console[space]--picture

http://ipxe.org/cmd/console

 

Maybe the script is confused by your edit (if the space is missing) and since in the same line there is "${next-server}" maybe it nulls it? :dubbio:

 

What happens with boot-url?

 

BTW you shoudl use the show command:

http://ipxe.org/cmd/show

to check for the value of a setting

 

:duff:

Wonko

 

Sorry, that is a typo in my altering the script as taken from the Dell site to the one i am actually using (on a machine that is not internet connected and therefore i cannot cut and paste or take screen shots easily).

 

The command is

console --picture http://${next-server}/ipxe.png


#713 MikhailCompo

MikhailCompo

    Newbie

  • Members
  • 15 posts
  •  
    United Kingdom

Posted 15 November 2017 - 01:21 PM

I have managed to resolve my main issue, whcih was some issue with the menu not working. After going back to the menu.ipxe template and copying and pasting the issue is resolved.

 

Could encoding cause issues (ANSI, Unicode, etc.)?



#714 MikhailCompo

MikhailCompo

    Newbie

  • Members
  • 15 posts
  •  
    United Kingdom

Posted 15 November 2017 - 01:27 PM

I have managed to resolve my main issue, whcih was some issue with the menu not working. After going back to the menu.ipxe template and copying and pasting the issue is resolved.

 

Could encoding cause issues (ANSI, Unicode, etc.)?

 

I also didnt realise that menu items are case sensitive!! Exit is not the same as exit!!! :) oops



#715 erwan.l

erwan.l

    Platinum Member

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

Posted 15 November 2017 - 01:39 PM

Hi Erwan
 
Firstly, thanks for all your time and efforts with this project. From my IT background there is significant value in a non-Microsoft PXE option especially in relation to OS deployment for MDT and SCCM - Hence why Dell have written this article: http://www.dell.com/...oyment-services
 
It is from that link I have discovered your project.
 

 

Thanks for the positive feedback !

Nice to see that Dell is advertising my software :)



#716 Wonko the Sane

Wonko the Sane

    The Finder

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

Posted 15 November 2017 - 01:52 PM

@MikhailCompo

 

Good. :)

 

As a side note the Dell example makes little sense when it defines boot-url (and later never uses that variable)

 

i.e.:

...

set boot-url http://${next-server}

...

:wimboothttp

...

initrd http://${next-server}/boot/BCD

...

 

 

if you define it, then you should use it , i.e.:

...

set boot-url http://${next-server}

...

:wimboothttp

...

initrd ${boot-url}/boot/BCD

...

 

 

The idea is more clear in the small iPxE samples in the TinyPxE guide by Misty:

http://mistyrebootfi.../files/ipxe.htm

 

According to:

https://github.com/m...r/boot.ipxe.cfg

boot-url values should alway end with slash, which may make (or make not) more sense.

 

More or less the idea should be that next-server is just an IP address, and as such it has no final slash, whilst the boot-url is an actual URL address (through a given protocol) to a directory (and as such should already contain the final slash), but it is just an arbitrary convention, I believe, and NOT having the final slash inside the variable makes IMHO menues entries more readable.

 

And yes, more or less anything *nix or a derivative of it is CaSe SeNsItIvE, this is a common initial issue with people not familiar with this generic convention.

 

:duff:

Wonko



#717 erwan.l

erwan.l

    Platinum Member

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

Posted 15 November 2017 - 03:13 PM

 

 

And yes, more or less anything *nix or a derivative of it is CaSe SeNsItIvE, this is a common initial issue with people not familiar with this generic convention.

 

:duff:

Wonko

 

I am sure there is a place in hell for the guys who implemented the case sensitive feature (or the tab ident in python...) :)


  • MikhailCompo likes this

#718 Wonko the Sane

Wonko the Sane

    The Finder

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

Posted 15 November 2017 - 03:45 PM

I am sure there is a place in hell for the guys who implemented the case sensitive feature (or the tab ident in python...) :)

 

Sure :) , it is right next to the one reserved to the guys that created (and extended) the ISO 9660 "standard" and the various filesystems and related conventions on optical media.

 

Just in case (and for no apparent reason) I will re-attach here the dashun9.cmd :w00t:

https://web.archive....showtopic=25612

 

:duff:

Wonko

Attached Files



#719 MikhailCompo

MikhailCompo

    Newbie

  • Members
  • 15 posts
  •  
    United Kingdom

Posted 16 November 2017 - 12:52 PM

Cheers guys - Yes I thought you would like to know about the Dell page. There are very large MDT and SCCM communities. I think the omission of a Microsoft PXE solution would definitely be preferable (and mobile, I could create a server, drop into a customer's environment and get building new/existing machines in very little time with this - I have seen a great guide using a Pelican case with an Intel NUC as a portable imaging lab! TinyPXEServer would be a great addition to that).
 
OK, so I now have an excellent non-Microsoft ultra-lightweight UEFI PXE boot solution for my lab which uses MDT a lot.
 
 
One issue I have is trying to boot large ISO's (Windows OS ISO's), using memdisk. I read in the menu.ipxe script that memdisk is not ideal and clearly will never load an entire ISO into memory.
 
Is there another way to boot directly into Windows ISO's (that I can add as another menu item)?


#720 MikhailCompo

MikhailCompo

    Newbie

  • Members
  • 15 posts
  •  
    United Kingdom

Posted 16 November 2017 - 01:03 PM

Also another problem.... sorry!

 

Booting to a legacy device ('BIOS mode' not UEFI), i can start the boot process fine using ipxe.pxe.

 

However, when booting to the same boot wim, i receive an error:

wimboot v 2.6.0 -- Windows Imaging Format bootloader

Bad CPIO magic
FATAL: could not extract initrd files


#721 MikhailCompo

MikhailCompo

    Newbie

  • Members
  • 15 posts
  •  
    United Kingdom

Posted 16 November 2017 - 01:16 PM

 

Also another problem.... sorry!

 

Booting to a legacy device ('BIOS mode' not UEFI), i can start the boot process fine using ipxe.pxe.

 

However, when booting to the same boot wim, i receive an error:

wimboot v 2.6.0 -- Windows Imaging Format bootloader

Bad CPIO magic
FATAL: could not extract initrd files

 

I have read this post and it might be that I am not loading the correct files for non-EFI booting? http://forum.ipxe.or...ad.php?tid=6844

 

Which files do i need for a WinPE 10 boot disk?

 

BCD

boot.sdi

boot.wim

bootx64.efi

BOOTMGR

BOOTMGR.EFI

 

?



#722 MikhailCompo

MikhailCompo

    Newbie

  • Members
  • 15 posts
  •  
    United Kingdom

Posted 16 November 2017 - 01:52 PM

 

Also another problem.... sorry!

 

Booting to a legacy device ('BIOS mode' not UEFI), i can start the boot process fine using ipxe.pxe.

 

However, when booting to the same boot wim, i receive an error:

wimboot v 2.6.0 -- Windows Imaging Format bootloader

Bad CPIO magic
FATAL: could not extract initrd files

 

I have fixed this, i just needed to use the following (should i be using the same for EFI, why does it work as is for EFI and not for BIOS?

kernel wimboot
initrd ${boot-url}/boot/BCD		BCD
initrd ${boot-url}/boot/boot.sdi	boot.sdi
initrd ${boot-url}/sources/boot.wim	boot.wim
boot

How come this works fine for EFI (its based on the script from Dell, so shoudl their script have the above or the below??

kernel wimboot
initrd ${boot-url}/boot/BCD
initrd ${boot-url}/boot/boot.sdi
initrd ${boot-url}/sources/boot.wim
boot

Cheers


Edited by MikhailCompo, 16 November 2017 - 01:52 PM.


#723 Wonko the Sane

Wonko the Sane

    The Finder

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

Posted 16 November 2017 - 02:53 PM

Set aside (for the moment) PXE and Wimboot.

 

For BIOS the files involved are:

1) \boot\boot.sdi <- this is only small NTFS filesystem that is used to mount the boot.wim (and that normally will become drive X:\)

2) \sources\boot.wim <- this is the actual (imaged) filesystem of the PE (the contents of whch will normally later appear inside X:\)

3) \BOOTMGR <- this is the actual OS loader that uses a configuration file to give you booting choices

4) \boot\BCD <- this is the configuration file for BIOS

 

For UEFI the booting files involved are:

1) \boot\boot.sdi <- this is only small NTFS filesystem that is used to mount the boot.wim (and that normally will become drive X:\)

2) \sources\boot.wim <- this is the actual (imaged) filesystem of the PE (the contents of whch will normally later appear inside X:\)

3) BOOTMGR.EFI (actually \efi\boot\bootx64.efi or \efi\boot\bootia32.efi) <- this is the actual OS loader that uses a configuration file to give you booting choices[1]

4) \efi\microsoft\boot\BCD <- this is the configuration file for UEFI [2]

 

[1] As a matter of fact the \efi\microsoft\ folder is somehow a "forced" addition by the good MS guys, what the UEFI specifications say (among many other things, they are 2200 pages of mostly senseless crap) is that UEFI should look for a file called bootx64.efi (if 64 bit hardware) or bootia32.efi  in \efi\boot\ (not \efi\microsoft\boot\) and the BOOTMGR.EFI you find on DVD is a copy of either the bootx64.efi or of the bootia32.efi.

[2] please note how the contents of \boot\BCD and of \efi\microsoft\boot\BCD are NOT necessarily the same, in the case of BIOS the BCD will have an entry pointing to WINLOAD.EXE (which is the actual windows loader for BIOS) whilst in the case of UEFI the corresponding entry will point to WINLOAD.EFI, and also take note that the previously mentioned boot.sdi and boot.wim are only the "default", a BCD entry may well be pointing to (say) \Mickey\mouse.sdi and to \Uncle\Scrooge.wim

 

I know it seems complex (mainly because it is complex :() but you are still taking it IMHO from the "wrong" angle, read first the TinyPxe guide, there is a specific page for iPxE wimboot booting of windows (7,8 and 10 use the same approach):

http://mistyrebootfi...npe_wimboot.htm

 

where the actual "virtual mapping" that wimboot does transparently is also explained, then, if you have questions ask them, but you should first become familiar with the processes involved, as opposed to do random tests somehow attemptng to reverse engineer the Dell examples.

 

:duff:

Wonko


  • MikhailCompo likes this

#724 MikhailCompo

MikhailCompo

    Newbie

  • Members
  • 15 posts
  •  
    United Kingdom

Posted 16 November 2017 - 03:12 PM

So in order to boot a machine using UEFI i need an .EFI file, and in order to boot a legacy/BIOS machine I use a .PXE file.

 

Is there a way that a single server can facilitiate both types of device without the need to change the TPS config?

 

Thanks.



#725 MikhailCompo

MikhailCompo

    Newbie

  • Members
  • 15 posts
  •  
    United Kingdom

Posted 16 November 2017 - 03:24 PM

Mega kudos for this info, really useful to know the composition/differences of the files on boot media that handles both BIOS/UEFI, thanks for taking the time for that.

 

 

I know it seems complex (mainly because it is complex  :() but you are still taking it IMHO from the "wrong" angle, read firstthe TinyPxe guide, there is a specific page for iPxE wimboot booting of windows (7,8 and 10 use the same approach):

http://mistyrebootfi...npe_wimboot.htm

 

where the actual "virtual mapping" that wimboot does transparently is also explained, then, if you have questions ask them, but you should first become familiar with the processes involved, as opposed to do random tests somehow attemptng to reverse engineer the Dell examples.

 

:duff:

Wonko

 

You are right of course.

 

However, whilst I like learning a lot, i much prefer seeing practical effects and cool stuff happening!! Sometimes learning is best jumping in feet first, seeing cool stuff happen, then when you get stuck going back to the documentation. Then the relevence, importance and therefore intrest of that exercise renders it a worthwhile and intersting experience. Saying read all these pages of abstract information first, then apply that knowledge is not how I learn best.

 

I also was not aware of this site until the last few threads of this forum http://mistyrebootfi...rver/index.html

 

I would recommend someone sticking a link to it in the TinyPXEServer archive, it seems extremely helpful!

 

[lol! they did already!! in my defence, the lab i am working on is not internet connected so i didnt click the link, and the machine i have whcih is internet connected doesnt even let me download the zip file at all...]

 

Thanks a lot Wonko.


Edited by MikhailCompo, 16 November 2017 - 03:27 PM.






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