**This is an old revision of the document!** ----
====== HTTP booting ====== {{ screenshots/uniboot1.png?360x200|Linux booting via HTTP}} Booting from HTTP with gPXE is as simple as replacing the DHCP filename field with an %%http://%% URL. For example, if you currently have ///etc/dhcpd.conf// containing next-server my.tftp.server; filename "/pxe.0"; then you can just copy //pxe.0// to your web server and edit ///etc/dhcpd.conf// to contain filename "http://my.web.server/pxe.0"; ===== Scalability ===== HTTP can handle much larger files than TFTP, and scale to much larger distances. You can easily download multi-megabyte files, such as a Linux kernel and a root filesystem, and you can download from servers that are not on your local area network. We have successfully tested booting across the Atlantic using HTTP! ===== Using PXELINUX ===== PXELINUX versions >= 3.70 can use gPXE-provided HTTP. (See syslinux/NEWS "Changes in 3.70") By default, PXELINUX will look for its configuration file using TFTP. To override this behaviour, you can specify DHCP options 209 and/or 210. (See syslinux/doc/rfc5071.txt) You can specify these options with your DHCP service or you can specify them in a gPXE script: #!gpxe echo Performing DHCP on first network interface dhcp net0 set 210:string http://webserver.com/ echo Set PXELINUX prefix to use ${210:string} echo Chaining PXELINUX chain ${210:string}pxelinux.0 The 'chain' command above will be expanded by gPXE to: chain http://webserver.com/pxelinux.0 and the chained-to PXELINUX will look for its configuration file using the 210 prefix. All relative paths specified in the PXELINUX configuration file will also have this prefix prepended to them.