
{"id":6353,"date":"2011-12-04T12:32:32","date_gmt":"2011-12-04T12:32:32","guid":{"rendered":"http:\/\/www.beautifulwork.org\/?p=6353"},"modified":"2011-12-04T12:32:32","modified_gmt":"2011-12-04T12:32:32","slug":"pxe-boot","status":"publish","type":"post","link":"https:\/\/www.trueangle.org\/index.php\/2011\/12\/04\/pxe-boot\/","title":{"rendered":"PXE Boot"},"content":{"rendered":"<h4><u> Topic <\/u><\/h4>\n<pre>\nPXE Boot\n<\/pre>\n<p><\/p>\n<h4><u> Explanation <\/u><\/h4>\n<pre>\nThe Preboot eXecution Environment (PXE, also known as Pre-Execution\nEnvironment;  sometimes pronounced  \"pixie\") is  an  environment to\nboot  computers using  a  network interface  independently of  data\nstorage devices  (like hard disks) or  installed operating systems.\nPXE was introduced as part of the Wired for Management framework by\nIntel and is described in the specification (version 2.1) published\nby Intel and  Systemsoft on September 20, 1999.[1]  It makes use of\nseveral  network  protocols   like  Internet  Protocol  (IP),  User\nDatagram Protocol (UDP), Dynamic Host Configuration Protocol (DHCP)\nand  Trivial File  Transfer Protocol  (TFTP) and  of  concepts like\nGlobally  Unique Identifier  (GUID), Universally  Unique Identifier\n(UUID)  and  Universal Network  Device  Interface  and extends  the\nfirmware of  the PXE  client (the computer  to be  bootstrapped via\nPXE) with  a set  of predefined Application  Programming Interfaces\n(APIs).\n\n\nThe PXE protocol  is approximately a combination of  DHCP and TFTP,\nalbeit with  subtle modifications to  both. DHCP is used  to locate\nthe appropriate boot server or  servers, with TFTP used to download\nthe initial bootstrap program  and additional files.  To initiate a\nPXE bootstrap  session the  PXE firmware broadcasts  a DHCPDISCOVER\npacket extended  with PXE-specific options  (extended DHCPDISCOVER)\nto port  67\/UDP (DHCP  server port). The  PXE options  identify the\nfirmware as  capable of PXE, but  they will be  ignored by standard\nDHCP  servers.  If  the  firmware  receives  DHCPOFFERs  from  such\nservers, it may  configure itself by requesting one  of the offered\nconfigurations.\n\n<\/pre>\n<p>source : http:\/\/en.wikipedia.org\/wiki\/Preboot_Execution_Environment<br \/>\n<\/p>\n<h4><u> Get The Hang <\/u><\/h4>\n<pre>\n \/\/ next, check what the packet type was\n        opt = request(43,71);\n        if(opt == NULL)\n        {\n                logger-&gt;Event(LEVEL_INFO, \"MakeReply\", 1,\n                  \"Received proxy DHCP packet\");\n                pkttype = 1;\n        }\n        else\n        {\n                delete[] opt-&gt;data;\n                delete opt;\n                logger-&gt;Event(LEVEL_INFO, \"MakeReply\", 1,\n                  \"Received PXE request packet\");\n                pkttype = 2;\n        }\n\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Topic PXE Boot Explanation The Preboot eXecution Environment (PXE, also known as Pre-Execution Environment; sometimes pronounced &#8220;pixie&#8221;) is an environment to boot computers using a network interface independently of data storage devices (like hard disks) or installed operating systems. PXE was introduced as part of the Wired for Management framework by Intel and is described &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.trueangle.org\/index.php\/2011\/12\/04\/pxe-boot\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;PXE Boot&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts\/6353"}],"collection":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/comments?post=6353"}],"version-history":[{"count":0,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/posts\/6353\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/media?parent=6353"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/categories?post=6353"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.trueangle.org\/index.php\/wp-json\/wp\/v2\/tags?post=6353"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}