Jump to content











Photo

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

pxe network boot

  • Please log in to reply
837 replies to this topic

#826 cabye

cabye

    Newbie

  • Members
  • 16 posts
  •  
    Cape Verde

Posted 05 July 2019 - 06:29 AM

does tinypxeserver support only file smaller than 2GB?

I saw it can serve file at 1.9GB, but not 2.3GB.
no error, just shows: 04:23:59 HTTPd:Server : Returning /sp3.iso
and client get nothing

it's named "Tiny" so can only serve tiny file? maybe not a bug.

#827 erwan.l

erwan.l

    Platinum Member

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

Posted 05 July 2019 - 07:37 AM

does tinypxeserver support only file smaller than 2GB?

I saw it can serve file at 1.9GB, but not 2.3GB.
no error, just shows: 04:23:59 HTTPd:Server : Returning /sp3.iso
and client get nothing

it's named "Tiny" so can only serve tiny file? maybe not a bug.

 

You meant "bigger than" not "smaller than" right?

Normally yes it can do but I can look for a possible bug.

In which scenario does it fail : using memdisk or sanboot (as they use a slightly different http process).



#828 cabye

cabye

    Newbie

  • Members
  • 16 posts
  •  
    Cape Verde

Posted 05 July 2019 - 08:56 AM

booting linux live CD usually need a second stage filesystem.squashfs, and it's a big file. I can boot it after changing to other httpd server.

even at browser firefox I can not download file bigger than 2G from tinypxeserver

#829 erwan.l

erwan.l

    Platinum Member

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

Posted 05 July 2019 - 09:57 AM

booting linux live CD usually need a second stage filesystem.squashfs, and it's a big file. I can boot it after changing to other httpd server.

even at browser firefox I can not download file bigger than 2G from tinypxeserver

 

Understood.

Will have a look at it over the week end.



#830 erwan.l

erwan.l

    Platinum Member

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

Posted 06 July 2019 - 10:53 AM

booting linux live CD usually need a second stage filesystem.squashfs, and it's a big file. I can boot it after changing to other httpd server.

even at browser firefox I can not download file bigger than 2G from tinypxeserver

 

I have uploaded a new version.

 

Tiny PXE Server now supports files bigger than 2GB over HTTP.

pxesrv.exe 
1.0.0.23
06/07/2019 12:50 
3B8AA11D517651DB5AF705373FC65A97


#831 cabye

cabye

    Newbie

  • Members
  • 16 posts
  •  
    Cape Verde

Posted 07 July 2019 - 03:56 AM

nice.


in changelog pxeserv.txt I saw this:
>> 1.0.0.21
>> modified : dns proxy will read entries from config.ini (section=hostname,ident=ip), no more from hosts file


I tried to add something like this in config.ini:
[hostname]
server1=192.168.1.10

but it didn't work.
11:44:11 DNSd:incoming packet from : 192.168.1.8
11:44:11 DNSd:could not resolve server1 (A)

then I add this line to hosts:
192.168.1.10 server1

immediately it worked:
11:45:39 DNSd:incoming packet from : 192.168.1.8
11:45:39 DNSd:resolved server1 (A) to 192.168.1.10 (PTR)


so maybe dns still read entries from hosts file, not from config.ini (section=hostname,ident=ip)?
or I used wrong format?

Edited by cabye, 07 July 2019 - 03:57 AM.


#832 erwan.l

erwan.l

    Platinum Member

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

Posted 07 July 2019 - 12:17 PM

Hi Cabye,

 

The "hosts" file way will always work as this you are forcing dns resolution at the system level.

As such TPS will also be submitted to these changes.

 

However, I dont want to ask the user to modify this system file as this is way to drastic and possibly introduces side effects.

Hence me introducing an extra config.ini section.

 

One possible application is to come with generic batches for install where you could force a hostname named MY_REPO_SERVER pointing to an IP you would set on your PXE server side (no more hardcoded ip in your batch then).

Related to that topic is also the discover.exe tool (here and here and here) part of TPS as well but this is another discussion and I dont want to deviate too much...

 

The syntax in config.ini is may be unclear.

You have to put the hostname between brackets and for this section then add ip=a.b.c.d.

Or in the case of ip to hostname resolution, put the ip between brackets and for this section add host=whatever.fr

 

Example below

 

->host to ip resolution (192.168.1.144 being my TPS acting as DNSd).

[mydomain.fr]
ip=10.0.0.254
>nslookup mydomain.fr 192.168.1.144
Serveur :   erwan-pc2.home
Address:  192.168.1.144

Réponse ne faisant pas autorité :
Nom :    mydomain.fr
Address:  10.0.0.254

And the other way around ->ip to host resolution (192.168.1.144 being my TPS acting as DNSd).

[10.0.0.253]
host=mydomain2.fr
>nslookup -type=PTR 10.0.0.253 192.168.1.144
Serveur :   erwan-pc2.home
Address:  192.168.1.144

Réponse ne faisant pas autorité :
253.0.0.10.in-addr.arpa name = mydomain2.fr

EDIT : found a small bug where under some circumstances, the DNSd would stop.

Fixed in latest upload today.

 

Regards,

Erwan



#833 erwan.l

erwan.l

    Platinum Member

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

Posted 07 July 2019 - 12:19 PM

Latest changelog for version 1.0.0.23 so far, most of it thanks to Cabye feedback.

1.0.0.23
added: php,vbs,py files can be processed server side using php, vbs, py entries under web section
added : will notify in the log window if another dhcp server exists on the LAN
added : if index.html exists, http will display this file instead of listing directory
added : httpd will be bound to one interface (or binded...) if bind option is selected
fixed : http server now supports bigger than 2gb
fixed : minor bug in dnsd where the daemon would stop unexpectedly under some circumstances


#834 gerster43

gerster43
  • Members
  • 3 posts
  •  
    Canada

Posted 11 September 2019 - 08:24 PM

Hey everyone,

 

Please forgive me if I'm posting in the wrong area.  I've struggled to find support for the very specific issue I'm having;

 

I should firstly say I'm quite confident this isn't an issue with Tiny PXE itself, as I'm having the exact same problem when using a similar but different program called Serva.

 

My goal is to install Windows 10 onto a newly built machine via network boot.  Both Tiny PXE and Serva appear to run flawlessly.  But consistently, after loading the windows files, as soon as I reach any point in the installation which requires input (in Tiny PXE's case, as soon as I reach the step to enter the shared folder path) my machine simply locks up and keyboard/mouse movements aren't registered.  It's consistently about 0.5 seconds after my first input.  Sometimes my mouse appears to completely disconnect (ie. power light goes off) and sometimes it stays powered on.

 

The obvious first thought would be that it's a hardware issue with the mouse or keyboard, but they in fact work flawlessly in every other machine I've tried.  They also work flawlessly in the BIOS for long periods of time.  I've also tried navigating with the mouse unplugged, but inputs from the keyboard still aren't registered (after about 0.5 sec from initial input).  I've tried unplugging the keyboard directly after making necessary inputs, and the problem persists.

 

I've tried every USB and combination of USB ports on the machine, same issue.

 

I've tried many different Windows 10 ISOs including the one directly from Microsoft's media creation tool, same issue.

 

Firewall is off, and in/outgoing connections for Tiny PXE (and Serva) are explicitly allowed in defender.

 

I've contacted Gigabyte support thinking it may be some strange issue with my H110m.2 rev. 1 board.  They are as stumped as I am.

 

Is there anyone here who might have any idea as to what's going on?  Its been days of trial and error and tweaks and headaches but I'd really like to get this working.

 

For the record, Tiny PXE is soooo much smoother and simpler than Serva.  I'm glad I found this program.  Just wish I could solve this very strange issue!

 

Thanks.



#835 buck614

buck614
  • Members
  • 3 posts
  •  
    United States

Posted 17 September 2019 - 03:59 PM

I can't seem to get mine going. I am getting these errors:

 

11:38:04 AM DHCPc:discovering for another DHCPd on LAN
11:38:04 AM ROOT=C:\TFTPBOOT\
11:38:04 AM DHCPd 10.10.1.1:67 started...
11:38:04 AM TFPTd 10.10.1.1:69 started...
11:38:04 AM HTTPd:80 started...
11:38:09 AM DHCPc:no other DHCPd discovered
11:38:24 AM DHCPd:DISCOVER received, MAC:8C-04-BA-24-20-00, XID:BBDF1E34
11:38:25 AM DHCPd:OFFER sent, IP:10.10.1.2, XID:BBDF1E34
11:38:28 AM DHCPd:REQUEST received, MAC:8C-04-BA-24-20-00, XID:BBDF1E34
11:38:28 AM DHCPd:ACK sent, IP:10.10.1.2, XID:BBDF1E34
11:38:28 AM TFTPd:DoReadFile:bootx64.efi B:1468 T:1526072
11:38:28 AM TFTPd:DoReadFile:bootx64.efi B:1468 T:0
11:38:29 AM TFTPd:DoReadFile:\Boot\BCD B:0 T:20480
11:38:29 AM TFTPd:DoReadFile:\Boot\BCD B:1456 T:20480
11:38:29 AM TFTPd:DoReadFile OpenError:\EFI\Microsoft\Boot\Policies\SbcpFlightToken.p7b Cannot open file "C:\TFTPBOOT\EFI\Microsoft\Boot\Policies\SbcpFlightToken.p7b". The system cannot find the path specified
11:38:29 AM TFTPd:DoReadFile OpenError:\EFI\Microsoft\Boot\SecureBootPolicy.p7b Cannot open file "C:\TFTPBOOT\EFI\Microsoft\Boot\SecureBootPolicy.p7b". The system cannot find the file specified
11:38:29 AM TFTPd:DoReadFile OpenError:\EFI\Microsoft\Boot\SiPolicy.p7b Cannot open file "C:\TFTPBOOT\EFI\Microsoft\Boot\SiPolicy.p7b". The system cannot find the file specified
11:38:29 AM TFTPd:DoReadFile OpenError:\EFI\Microsoft\Boot\SkuSiPolicy.p7b Cannot open file "C:\TFTPBOOT\EFI\Microsoft\Boot\SkuSiPolicy.p7b". The system cannot find the file specified
11:38:29 AM TFTPd:DoReadFile:\EFI\Microsoft\Boot\WinSiPolicy.p7b B:0 T:8928
11:38:29 AM TFTPd:DoReadFile:\EFI\Microsoft\Boot\WinSiPolicy.p7b B:1456 T:8928
11:38:29 AM TFTPd:DoReadFile OpenError:\EFI\Microsoft\Boot\ATPSiPolicy.p7b Cannot open file "C:\TFTPBOOT\EFI\Microsoft\Boot\ATPSiPolicy.p7b". The system cannot find the file specified
11:38:29 AM TFTPd:DoReadFile OpenError:\EFI\Microsoft\Boot\SiPolicy.p7b Cannot open file "C:\TFTPBOOT\EFI\Microsoft\Boot\SiPolicy.p7b". The system cannot find the file specified
11:38:29 AM TFTPd:DoReadFile OpenError:\EFI\Microsoft\Boot\SkuSiPolicy.p7b Cannot open file "C:\TFTPBOOT\EFI\Microsoft\Boot\SkuSiPolicy.p7b". The system cannot find the file specified
11:38:29 AM TFTPd:DoReadFile OpenError:\EFI\Microsoft\Boot\ATPSiPolicy.p7b Cannot open file "C:\TFTPBOOT\EFI\Microsoft\Boot\ATPSiPolicy.p7b". The system cannot find the file specified
11:38:29 AM TFTPd:DoReadFile OpenError:\EFI\Microsoft\Boot\SiPolicy.p7b Cannot open file "C:\TFTPBOOT\EFI\Microsoft\Boot\SiPolicy.p7b". The system cannot find the file specified
11:38:29 AM TFTPd:DoReadFile OpenError:\EFI\Microsoft\Boot\SkuSiPolicy.p7b Cannot open file "C:\TFTPBOOT\EFI\Microsoft\Boot\SkuSiPolicy.p7b". The system cannot find the file specified
11:38:29 AM TFTPd:DoReadFile OpenError:\EFI\Microsoft\Boot\ATPSiPolicy.p7b Cannot open file "C:\TFTPBOOT\EFI\Microsoft\Boot\ATPSiPolicy.p7b". The system cannot find the file specified
11:38:29 AM TFTPd:DoReadFile:\EFI\Microsoft\Boot\Fonts\wgl4_boot.ttf B:0 T:49202
11:38:29 AM TFTPd:DoReadFile:\EFI\Microsoft\Boot\Fonts\wgl4_boot.ttf B:1456 T:49202
11:38:29 AM TFTPd:DoReadFile:\EFI\Microsoft\Boot\Fonts\segoe_slboot.ttf B:0 T:86290
11:38:29 AM TFTPd:DoReadFile:\EFI\Microsoft\Boot\Fonts\segoe_slboot.ttf B:1456 T:86290
11:38:29 AM TFTPd:DoReadFile:\EFI\Microsoft\Boot\Fonts\segmono_boot.ttf B:0 T:44970
11:38:29 AM TFTPd:DoReadFile:\EFI\Microsoft\Boot\Fonts\segmono_boot.ttf B:1456 T:44970
 
 
I am not sure what is wrong. Thoughts? Thanks!


#836 Wonko the Sane

Wonko the Sane

    The Finder

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

Posted 18 September 2019 - 08:27 AM

It seems like you have an issue with files connected to "secure booting" those not found files are certificates.

No real idea of the reason why , but you should read on this thread starting from here;
http://reboot.pro/to...erver/?p=206040
maybe you need a re-map.

But you need anyway to post your configuration, so that it can be compared with working ones.

:duff:
Wonko

#837 buck614

buck614
  • Members
  • 3 posts
  •  
    United States

Posted 18 September 2019 - 01:55 PM

Thanks for your response!

 

That looks to be similar to my problem. He appears to be attempting to setup an unattended uefi boot for 32bit AND 64bit environments.

 

I am looking to do the same.

 

I also noticed that my option 67 entry isn't being saved and doesn't appear to be in the config file. Am I missing something? I have attached a screenshot below my config.

 

I am reading through the forum post entries you pointed me to. I will try and figure it out. If anyone can assist in this I would appreciate it!

 

 

It appears I can't attach a file so here is my config.

 

[arch]
;will over rule the bootp filename or opt67 if the client arch matches one of the below
;00006=bootia32.efi
;00007=bootx64.efi
;00009=bootx64.efi
[dhcp]
;below is applicable only if proxydhcp=0
rfc951=1
;needed to tell TFTPd where is the root folder
root=files
;bootp filename as in http://tools.ietf.org/html/rfc951
;filename=ipxe-undionly.kpxe
filename=ipxe.pxe
;alternative bootp filename if request comes from ipxe or gpxe
altfilename=menu.ipxe
;start HTTPd
httpd=1
binl=0
start=0
dnsd=0
;if you have a dhcp server on your lan, set proxydhcp=1
proxydhcp=0
;default=1
bind=1
;tftpd=1 by default
;will share (netbios) the root folder as PXE
smb=0
;will log to log.txt
log=0
;opt1=
;opt3=
;opt6=
;opt28=
;opt15=
;opt17=
;opt43=
;opt51=
;opt54=
;opt67=
;opt66=
;opt252=
;poolstart=
;poolsize=
;alternative bootp filename if request comes thru proxydhcp (udp:4011)
;proxybootfilename=
;any extra dhcp options
;my gpxe / ipxe dhcp options
optextra=175.6.1.1.1.8.1.1
;the below will be executed when clicking on the online button
;online=online.bat
;offline=offline.bat
;if log=1, will log to log.txt - not recommended, rather, use the syslog feature
log=0
;syslog=127.0.0.1
[web]
port=80
;php.exe file.php param1=value1
;php-5.6.38-nts-Win32-VC11-x86 tested with success
php=c:\php\php.exe
;cscript.exe file.vbs param1=value1 //nologo
vbs=C:\Windows\System32\cscript.exe
;python.exe file.py param1=value1
py=C:\Python27\python.exe
;the below will be used if you turn on dnsd
[mydomain.fr]
ip=10.0.0.254
[10.0.0.253]
host=mydomain2.fr
[frmDHCPServer]
top=43
left=481
 

 

 

AkvNtlF.jpg



#838 buck614

buck614
  • Members
  • 3 posts
  •  
    United States

Posted 18 September 2019 - 04:38 PM

 

Wow, good news. By following @matso's and @erwan.l's posts, I succeeded to UEFI PXE boot in secure mode both x86 and x64 WIM files, after several attempts playing with new [map] directive. For x64 WIM (558 MB), it took me about 7min30s to get to the WinPE desktop with TFTPd.
 
Following is an excerpt of my config.ini with most important parameters:
 
 
[arch]
; http://reboot.pro/topic/21614-ipxe-wimboot-and-multi-platform-pcbiosefii386x86-64/
; will overrule filename or opt67 if client arch matches one of the below
; DHCP option 93  Client architecture
; 00000 Standard PC BIOS
; 00006 32-bit x86 EFI
; 00007 64-bit x86 EFI
; 00009 64-bit x86 EFI (obsolete)
; 00010  32-bit ARM EFI
; 00011  64-bit ARM EFI
00000=bootfiles\00000\undionly.kpxe
00006=bootfiles\00006\bootia32.efi
00007=bootfiles\00007\bootx64.efi
 
[dhcp]
; no root, so default to TPS startup directory
;root=
;boot file - can be empty if you boot directly with ipxe/gpxe rather than intel pxe agent
filename=undionly.kpxe
altfilename=menu.ipxe
; http://reboot.pro/topic/18962-bug-reports-requests-howtos-about-tiny-pxe-server/page-30
opt252=bootfiles\@arch\BCD
 
[map]
; did not work yet with TPS 1.0.0.22
;\EFI\Microsoft\boot\=\bootfiles\@arch\EFI\Microsoft\boot\    
; for x64
\EFI\Microsoft\boot\=\bootfiles\00007\EFI\Microsoft\boot\
; for x86
;\EFI\Microsoft\boot\=\bootfiles\00006\EFI\Microsoft\boot\    
 
; did not work yet with TPS 1.0.0.22
;\sources\boot.wim=\bootfiles\@arch\sources\boot.wim          
; for x64
\sources\boot.wim=\bootfiles\00007\sources\boot.wim
; for x86
;\sources\boot.wim=\bootfiles\00006\sources\boot.wim          
 
\boot\boot.sdi=\bootfiles\00000\boot\boot.sdi
\bootfiles\boot\en-US\=\bootfiles\00000\boot\en-US\
\bootfiles\boot\fr-FR\=\bootfiles\00000\boot\fr-FR\
\bootfiles\boot\fonts\=\bootfiles\00000\boot\fonts\
\bootfiles\boot\resources\=\bootfiles\00000\boot\resources\
 
 
Directory structure of files: (common_path)\PXE\ is the root.
(common_path)\PXE\pxesrv.exe 
(common_path)\PXE\config.INI 
(common_path)\PXE\menu.ipxe 
(common_path)\PXE\bootfiles\00000\undionly.kpxe 
(common_path)\PXE\bootfiles\00000\boot\bcd 
(common_path)\PXE\bootfiles\00000\boot\boot.sdi 
(common_path)\PXE\bootfiles\00000\boot\en-US\*.mui
(common_path)\PXE\bootfiles\00000\boot\fr-FR\*.mui
(common_path)\PXE\bootfiles\00000\boot\fonts\*.ttf 
(common_path)\PXE\bootfiles\00000\boot\Resources\bootres.dll 
(common_path)\PXE\bootfiles\00000\boot\Resources\fr-FR\*.mui 
(common_path)\PXE\bootfiles\00006\bcd 
(common_path)\PXE\bootfiles\00006\bootia32.efi 
(common_path)\PXE\bootfiles\00006\EFI\Microsoft\boot\boot.sdi 
(common_path)\PXE\bootfiles\00006\EFI\Microsoft\boot\*.p7b 
(common_path)\PXE\bootfiles\00006\EFI\Microsoft\boot\en-US\*.mui 
(common_path)\PXE\bootfiles\00006\EFI\Microsoft\boot\fr-fr\*.mui 
(common_path)\PXE\bootfiles\00006\EFI\Microsoft\boot\fonts\*.ttf 
(common_path)\PXE\bootfiles\00006\EFI\Microsoft\boot\resources\bootres.dll 
(common_path)\PXE\bootfiles\00006\sources\boot.wim 
(common_path)\PXE\bootfiles\00007\bcd 
(common_path)\PXE\bootfiles\00007\bootx64.efi 
(common_path)\PXE\bootfiles\00007\EFI\Microsoft\boot\boot.sdi 
(common_path)\PXE\bootfiles\00006\EFI\Microsoft\boot\*.p7b 
(common_path)\PXE\bootfiles\00007\EFI\Microsoft\boot\en-US\*.mui
(common_path)\PXE\bootfiles\00007\EFI\Microsoft\boot\fr-fr\*.mui 
(common_path)\PXE\bootfiles\00007\EFI\Microsoft\boot\fonts\*.ttf 
(common_path)\PXE\bootfiles\00007\EFI\Microsoft\boot\resources\bootres.dll 
(common_path)\PXE\bootfiles\00007\sources\boot.wim 
 
Question:
1) [arch] section: What should I use:
; 00010  32-bit ARM EFI
; 00011  64-bit ARM EFI
or 
; 0000a  32-bit ARM EFI
; 0000b  64-bit ARM EFI
?
 
2) Since iPXE does not support yet UEFI Secure boot, currently to PXE boot in UEFI secure boot, I need to use TFTP, which is very slow, is it true?
 
For @erwan.l
 
Requests for implementation:
1) Allow use of @arch in each [map] line, e.g.
[map]
\EFI\Microsoft\boot\=\bootfiles\@arch\EFI\Microsoft\boot\    
This would allow simultaneous PXE clients regardless of its architecture (x86/x64...) without changing the config.ini.
 
2) Allow dynamic switching of configuration file (e.g. via combo-box), and change with Offline/Online button.
So I can choose config.ini for standard configuration with iPXE, and config_secure.ini for booting MS WIM files in UEFI secure mode.
 
In fact, my need is to be able to switch easily between
[arch]
00000=bootfiles\00000\undionly.kpxe
00006=bootfiles\00006\bootia32.efi
00007=bootfiles\00007\bootx64.efi
 
and
 
[arch]
00000=bootfiles\00000\undionly.kpxe
00006=bootfiles\00006\ipxe32.efi
00007=bootfiles\00007\ipxe64.efi
 
without requring to edit config.ini file. All the other parameters are unchanged between the tow configurations.

 

 

 

I don't see where you are placing the WIM file for the standard PC Bios 00000 option. Am I missing something?







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