22 August 2013

Boot winxp from http server - Part 2

<< Back to part 1

4. Boot the PC

It's time to startup the PC, config the BIOS to boot from network to see it work.

Requesting for DHCP ...

request DHCP

Let's see the log of the server. The server offer IP 192.168.100.2 to PC. Bootserver IP is itself, name of bootfile is gpxelinux.0

Server# tail /var/log/message

dnsmasq-dhcp[20793]: 672723555 available DHCP range: 192.168.100.1 -- 192.168.100.10
dnsmasq-dhcp[20793]: 672723555 DHCPOFFER 192.168.100.2 08:00:27:18:f2:63
...
dnsmasq-dhcp[20793]: 672723555 next server: 192.168.100.254
...
dnsmasq-dhcp[20793]: 672723555 sent size: 12 option: 67:bootfile-name gpxelinux.0
...
dnsmasq-tftp[20793]: sent /var/ftpd/gpxelinux.0 to 192.168.100.2
dnsmasq-tftp[20793]: file /var/ftpd/pxelinux.cfg/2e44f79c-1489-4ed4-8cba-86e387d92ae4 not found
dnsmasq-tftp[20793]: file /var/ftpd/pxelinux.cfg/01-08-00-27-18-f2-63 not found
dnsmasq-tftp[20793]: file /var/ftpd/pxelinux.cfg/C0A86402 not found
dnsmasq-tftp[20793]: file /var/ftpd/pxelinux.cfg/C0A8640 not found
dnsmasq-tftp[20793]: file /var/ftpd/pxelinux.cfg/C0A864 not found
dnsmasq-tftp[20793]: file /var/ftpd/pxelinux.cfg/C0A86 not found
dnsmasq-tftp[20793]: file /var/ftpd/pxelinux.cfg/C0A8 not found
dnsmasq-tftp[20793]: file /var/ftpd/pxelinux.cfg/C0A not found
dnsmasq-tftp[20793]: file /var/ftpd/pxelinux.cfg/C0 not found
dnsmasq-tftp[20793]: file /var/ftpd/pxelinux.cfg/C not found
dnsmasq-tftp[20793]: sent /var/ftpd/pxelinux.cfg/default to 192.168.100.2

The gpxelinux.0 when executed will look for the file pxelinux.cfg/default

Type gpxelinux to proceed loading the image (gpxelinux is the LABEL of an entry in default config file).It will load grub.exe and MiniXP350.gz through http protocol. It take about less than 1 minute to finish loading.

gPXE

When done loading for MiniXP350.gz, GPXE will execute grub.exe to extract the image(gzip) then map the image into memory and load NTLDR.

Grub extract the gzip image

And winxp has been booted and completely running in RAM memory. Notice to see the size of memory has be reduced (this machine uses 1GB of RAM), and there are only C drive in MyComputer. WinVblock disk also appear in Device List.

There is only one drive in Mycomputer Memory size has been reduced winVblock disk appears

Alternative software :

In case you are not familiar with linux stuff and you use windows as the Server, you can use these soft alternative : 
  • For DHCP and TFTP you can use tftpd32. 
  • For gpxelinux.0 you can download the package syslinux.zip than extract the needed file as normal. 
  • For http webserver, on windows you can use IIS (built in windows webserver). 

Video Demo