Sep 072014
Latest Tiny PXE Server now handles the client system architecture (BIOS, UEFI x32, UEFI x64, etc …).
This allows one to provide the right boot filename based on the client architecture.
Below Tiny PXE Server will send pxeboot.n12 as boot filename (which will chain to bootmgr) and will indicate 00000\bcd as BCD file in BIOS mode.
If UEFI x64 (00007) is detected, and [arch] section filled in the config.ini, it will send bootx64.efi as boot filename and will indicate 00007\bcd as BCD.
See the [arch] section in the config.ini
[arch]
00006=bootia32.efi
00007=bootx64.efi
Discuss it here.
sorry but this version 18 does not work at all. basic pxe boot failed.
full of log like this:
Access violation at address 004C37F7 in module ‘pxesrv.exe’. Read of address 00000008
Can you copy paste (or mail) the full log from Tiny PXE Server?
Would also be nice if you could run http://erwan.labalec.fr/tinypxeserver/Dbgview.zip as well in parallel and send this log too.
make sure to download latest version of Tiny PXE Server as well : http://erwan.labalec.fr/tinypxeserver/pxesrv.zip .
I have a hitch : can you make sure you have a [arch] section in the config.ini?
Should be like this :
[arch]
00006=bootia32.efi
00007=bootx64.efi
I suspect the current version will crash if that section does not exist.
latest version fixes the bug : Access violation at address 004C37F7 in module ‘pxesrv.exe’. Read of address 00000008
Access violation now. but still failed when using EFI
vmware bios
10:33:28 ROOT=D:\
10:33:28 DHCPd:67 started…
10:33:28 TFPTd started…
10:33:32 DHCPd:DISCOVER received, MAC:00-0C-29-C9-9A-28, XID:2AC99A28
10:33:32 DHCPd:OFFER sent, IP:192.168.11.20, XID:2AC99A28
10:33:34 DHCPd:REQUEST received, MAC:00-0C-29-C9-9A-28, XID:2AC99A28
10:33:34 DHCPd:ACK sent, IP:192.168.11.20, XID:2AC99A28
10:33:34 TFTPd:DoReadFile:ipxe.pxe B:1456 T:0
this boot is OK
vmware efi
10:34:44 ROOT=D:\
10:34:44 DHCPd:67 started…
10:34:44 TFPTd started…
10:34:50 DHCPd:DISCOVER received, MAC:00-0C-29-01-9D-1F, XID:A3A4CA83
10:34:51 DHCPd:OFFER sent, IP:192.168.11.20, XID:A3A4CA83
10:34:54 DHCPd:REQUEST received, MAC:00-0C-29-01-9D-1F, XID:A3A4CA83
10:34:54 DHCPd:ACK sent, IP:192.168.11.20, XID:A3A4CA83
no TFTP DoReadFile here. strange. boot failed.
[5592] end
[5592] start
[5780] LoadTPDLL
[5592] analysedata67:start, fromip=0.0.0.0, fromport:68
[5592] analysedata67: status:1
[5592] send_dhcpoffer:start
[5592] makebootp_vend:start
[5592] makebootp_vend:end
[5592] send_dhcpoffer:end
[5592] analysedata67:end
[5592] analysedata67:start, fromip=0.0.0.0, fromport:68
[5592] analysedata67: status:3
[5592] send_dhcpACK:start, ip:192.168.11.20 server:192.168.11.1 proxy:0 arch:00007
[5592] makebootp_vend:start
[5592] makebootp_vend:end
[5592] send_dhcpACK:end
[5592] analysedata67:end
since there’s no tftp downloading , can not know whether [arch ] part is working or not.
don’t know what ‘XID:A3A4CA83’ means. maybe you could put detected arch 00007 in log window
I guess you meant ‘no more access violation’, right?
About UEFI booting, make sure you have the following section in your config.ini :
[arch]
00006=bootia32.efi
00007=bootx64.efi
However, you are right, I will update the log so that it displays a warning if there is no match for the client arch.
sure, it’s ‘no more access violation’.
and I’m sure the arch section exists in config.ini .
no need to displays a warning if there is no match for the client arch.
just display the arch.
every boot has arch, 00000 or 00006 or 00007 …
download latest version.
put verbose=1 under [dhcp] section.
should now display the client architecture.
now from log it’s clear that arch detection is correct, but thers’s something wrong WITH tftp downloading.
9:39:43 ROOT=files\
9:39:43 DHCPd:67 started…
9:39:43 TFPTd started…
9:39:55 DHCPd:DISCOVER received, MAC:00-0C-29-01-9D-1F, XID:5D30E337
9:39:55 DHCPd:OFFER sent, IP:192.168.11.2, XID:5D30E337
9:39:58 DHCPd:REQUEST received, MAC:00-0C-29-01-9D-1F, XID:5D30E337
9:39:59 DHCPd:Arch=00007
9:39:59 DHCPd:ACK sent, IP:192.168.11.2, XID:5D30E337
no more log
…
Boot using UEFI failed. no tftp downloading.
VMWARE showed this: PXE-E99 Unexpected network error.
9:40:22 DHCPd:DISCOVER received, MAC:00-0C-29-C9-9A-28, XID:2AC99A28
9:40:22 DHCPd:OFFER sent, IP:192.168.11.2, XID:2AC99A28
9:40:24 DHCPd:REQUEST received, MAC:00-0C-29-C9-9A-28, XID:2AC99A28
9:40:24 DHCPd:Arch=00000
9:40:24 DHCPd:ACK sent, IP:192.168.11.2, XID:2AC99A28
9:40:24 TFTPd:DoReadFile:ipxe.pxe B:1456 T:0
9:40:24 TFTPd:TransferComplete=True (192.168.11.2:2070)
9:40:29 DHCPd:DISCOVER received, MAC:00-0C-29-C9-9A-28, XID:2060C579
9:40:29 DHCPd:iPXE user-class detected
9:40:29 DHCPd:OFFER sent, IP:192.168.11.2, XID:2060C579
…
this shows BIOS vmware boots OK
config.ini
[arch]
00007=ipxe.efi
[dhcp]
verbose=1
…
Ok we are getting there.
Some hypothesis :
1-the vmware uefi client is broken
2-re do your test but tick the proxydhcp mode (before clicking the online bytton)
3-re do your test but use opt 66/67 rather than the bootp filename (under extra option) with proxydhcp=off
4-re do your test but use opt 66/67 rather than the bootp filename (under extra option) with proxydhcp=on
Also, make sure you tick the bind checkbox.
See about a discussion on the same topic here : Tiny PXE Server and UEFI booting.
Latest version (sept 20, 2014) fixes a few nasty bugs around uefi booting.
First off for some reason i cannot create a reboot.pro account so forgive me for posting this here as i had this working for a week and then boom it just started stopping after loading menu.ipxe and just sits there ive looked it up and cannot find the same thing found things close just not exact, anyway i love the ease of use in setup and use when it was working. So im trying to boot http with menu.ipxe i followed your quick tutorial at reboot.pro but as i said it now it just stops at that certain point. Im testing in now on hyper v in server 2008r2 with dual nic’s, listed below, dhcp is just on a basic home router atm, no domain or ad just running as a file server atm. Anyway heres a few thing i hope will help get the problem isolated.
Configuring (net0 00:15:5d:00:ef:0b…ok
net0 192.168.0.106/255.255.255.0 gw 192.168.0.1
Nextserver: 192.168.0.253
Filename: http://192.168.0.253/menu.ipxe
http://192.168.0.253/menu.ipxe…ok
and there it hangs forever, i haven’t changed anything in the network, router or server.
Here’s the config.ini:
[arch]
;will over rule the bootp filename or opt67 if the client arch matches one of the below
00006=bootia32.efi
00007=bootx64.efi
[dhcp]
;needed to tell TFTPd where is the root folder
root=d:\pxesrv\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=http://${dhcp-server}/menu.ipxe
;start HTTPd
httpd=1
binl=0
start=1
dnsd=0
proxydhcp=1
;default=1
bind=1
tftpd=1 by default
;will share (netbios) the root folder as PXE
smb=0
will log to log.txt
log=1
;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
;cmd=_test.bat
if log=1, will log to log.txt
log=1
verbose=1
opt1=255.255.255.0
opt3=192.168.0.1
opt6=192.168.0.1
opt43=0.0.0.0
opt51=86400
opt54=192.168.0.253
opt66=PXEClient
poolstart=192.168.0.254
poolsize=10
[web]
;default value=80
;port=80
[frmDHCPServer]
top=16
left=1391
my latest log file:
10/12/2014 21:31:19:712,9:31:19 PM DHCPd:67 started…
10/12/2014 21:31:19:717,9:31:19 PM DHCPd:4011 started…
10/12/2014 21:31:19:722,9:31:19 PM TFPTd started…
10/12/2014 21:31:19:899,9:31:19 PM HTTPd started…
10/12/2014 21:32:10:295,9:32:10 PM DHCPd:DISCOVER received, MAC:00-15-5D-00-FE-0B, XID:5E00FE0B
10/12/2014 21:32:10:813,9:32:10 PM DHCPd:OFFER sent, IP:0.0.0.0, XID:5E00FE0B
10/12/2014 21:32:14:254,9:32:14 PM DHCPd:REQUEST discarded, MAC:00-15-5D-00-FE-0B, XID:5E00FE0B
10/12/2014 21:32:14:261,9:32:14 PM PDHCPd:REQUEST received, MAC:00-15-5D-00-FE-0B, IP:192.168.0.163, XID:5E00FE0B
10/12/2014 21:32:14:305,9:32:14 PM DHCPd:Arch=00000
10/12/2014 21:32:14:312,9:32:14 PM Proxy boot filename empty?
10/12/2014 21:32:14:319,9:32:14 PM PDHCPd:DHCP_ACK sent, IP:192.168.0.163:68, xid:5E00FE0B
10/12/2014 21:32:14:377,9:32:14 PM TFTPd:DoReadFile:ipxe-undionly.kpxe B:1456 T:0
10/12/2014 21:32:14:748,9:32:14 PM TFTPd:TransferComplete=True (192.168.0.163:2070)
10/12/2014 21:32:16:944,9:32:16 PM DHCPd:DISCOVER received, MAC:00-15-5D-00-FE-0B, XID:4543151
10/12/2014 21:32:17:306,9:32:17 PM DHCPd:iPXE user-class detected
10/12/2014 21:32:17:314,9:32:17 PM DHCPd:OFFER sent, IP:0.0.0.0, XID:4543151
10/12/2014 21:32:17:875,9:32:17 PM DHCPd:DISCOVER received, MAC:00-15-5D-00-FE-0B, XID:4543151
10/12/2014 21:32:17:979,9:32:17 PM HTTPd:Connect: 192.168.0.106, TID=34536
10/12/2014 21:32:17:986,9:32:17 PM HTTPd:Client: 192.168.0.106 [GET] /menu.ipxe
10/12/2014 21:32:17:992,9:32:17 PM HTTPd:Server : Returning /menu.ipxe
10/12/2014 21:32:17:998,9:32:17 PM HTTPd:DisConnect: TID=34536 <— ??
10/12/2014 21:32:18:305,9:32:18 PM DHCPd:iPXE user-class detected
10/12/2014 21:32:18:313,9:32:18 PM DHCPd:OFFER sent, IP:0.0.0.0, XID:4543151
10/12/2014 21:32:18:319,9:32:18 PM DHCPd:REQUEST discarded, MAC:00-15-5D-00-FE-0B, XID:4543151
10/12/2014 21:40:34:412,9:40:34 PM DHCPd:REQUEST discarded, MAC:88-CB-87-4A-8C-11, XID:65DA0A0C
10/12/2014 21:40:57:379,9:40:57 PM TFTPd stopped…
10/12/2014 21:40:57:385,9:40:57 PM DHCPd:4011 stopped…
10/12/2014 21:40:57:391,9:40:57 PM DHCPd:67 stopped…
10/12/2014 21:40:57:396,9:40:57 PM HTTPd stopped…
and my menu.ipxe:
# !ipxe
dhcp net0
# set boot-url http://${dhcp-server} <———— tried both
set boot-url http://${next-server} <———— tried both
#set nfs-server ${next-server}
# Main Menu
:start
menu iPXE's Boot Menu, you know the drill select one!
item
item –gap — ————————- Boot ISO's ——————————
item hbboot Hirens BootCD 15.2 via memdisk
item mrboot Macrium Reflect v5 via memdisk
item pwboot Password Unlocker4 via memdisk
item –gap — —————————— Utilitie's ———————————
item shell Enter iPXE shell
item config Configure
item reboot Reboot
item
item exit Exit (boot local disk)
# Utility Items
:shell
echo Type exit to get the back to the menu
shell
set menu-timeout 0
goto start
:config
config
goto start
:failed
echo Booting failed, dropping to shell
goto shell
:reboot
reboot
:exit
exit
# Menu Items
:hbboot
initrd ${boot-url}/hbbootcd.iso
kernel ${boot-url}/memdisk iso raw|| goto failed
boot || goto failed
goto start
:mrboot
initrd ${boot-url}/rescuex64.iso
kernel ${boot-url}/memdisk iso raw|| goto failed
boot || goto failed
goto start
:pwboot
initrd ${boot-url}/pwunlock4.iso
kernel ${boot-url}/memdisk iso raw|| goto failed
boot || goto failed
goto start
I have tried moving menu.ipxe and ipxe-undionly.kpxe to the root folder d:\pxesrv i tried putting them in both the root and the files directory to no avail, im hoping its something silly i just over looked any help would be greatly appreciated and Thanks in advance for any assistance.
Sorry my bad, mistype in email its 6900 not 5900
filename is set twice in your config.ini .
and there are some ; missing in front of commented out lines.
but this is not the issue since the logfile seems to indicate that everything goes fine : ipxe is loaded, then comes the menu.
i suspect your ipxe file is corrupted and therefore not loaded by ipxe.
why is there a space « # !ipxe » here when it should be « #!ipxe » ?
I will check on these things and check back, thanks for the response.
Im still quite a n00b to ipxe, but i have removed the double filename and all extra spaces after the # and added ; to all commented out lines after comparing it to the config.sample from the original pxesrv.zip file, also I copied and pasted from the old menu.ipxe file its contents and tighted it up after finding spaces in places they should not be and pasted it into a new good working ipxe file, but still had issues so it looks like after creating a new menu.ipxe it seems to be working, yay, so thanks for pointing me in the right direction as it was a corrupt menu.ipxe file and the issues you listed above, so one last question if i could? Is there a way to change the background image i found this buried on a site about ipxe menu settings but it didn’t work when added to the menu.ipxe file does it get entered into a different config file maybe or ? its… menu background /logo/ct.png ..and again thanks alot for all your help.
I have mixed feelings; I appreciate your effort but your software ends up creating lot of frustration.
Please do not take my comment as an attack; it just pretend to be an honest feedback
The problems are many; Acces violations, Configuration inconsistencies, cumbersome interface, missing DHCP options, lack of docummentation, no HTTP server, no FTP server, highly unreliable NFS Server.
I run Tiny PXE under windows 7 64 bits, your software is only distributed as a 32 Bit exe, I do not know if this creates some of the described problems (Access Violation). Thanks Z
No hard feelings 🙂
http server is there.
nfs server is not mine but included in the zip file as an option.
ftp server : i could add it, just aks 😉
missing dhcp options? just ask…
bugs? please report (screenshot, use case, etc).
Make sure you use the latest version.
Regards,
Erwan