{"id":321,"date":"2013-08-12T13:38:47","date_gmt":"2013-08-12T11:38:47","guid":{"rendered":"http:\/\/labalec.fr\/erwan\/?p=321"},"modified":"2014-03-01T15:13:38","modified_gmt":"2014-03-01T14:13:38","slug":"tiny-pxe-server","status":"publish","type":"post","link":"https:\/\/labalec.fr\/erwan\/?p=321","title":{"rendered":"Tiny PXE Server"},"content":{"rendered":"<p>I have been playing with pxe booting for a while, first starting with pxelinux, then gpxe and lately with ipxe.<\/p>\n<p>I am mostly a windows user and as an IT often needs a quick (=no install) and portable (=run from USB) dhcp server including a tftp server and a http server offering me then pxe booting.<br \/>\nI could use tftp32 or serva but i like to make my own tools and these 2 were missing some features here and there.<\/p>\n<p>So here comes a small portable dhcp server including a tftp and a http server.<\/p>\n<p>This is freeware (and will always be), should be opensource and the unique here idea is to share and contribute.<\/p>\n<p>-dhcp daemon supports an alternative filename based on the user-class thus enabling chainloading (gpxe->pxelinux, ipxe->script, etc), and also support settings dhcp options (which can then be used by your boot loader)<br \/>\n-tftp daemon supports tsize and blksize commands.<br \/>\n-http daemon support head, range (mandatory for ipxe sanboot options) and over 2gb iso.<br \/>\n-new in version 1.0.0.7 : BINL (RIS &#038; WDS) support<br \/>\n-new in version 1.0.0.10 : DNS daemon<\/p>\n<p>The root home of tftp and http is the folder where you main pxe loader sits.<br \/>\nI put all my iso files in a sub folder called images.<br \/>\nI put all my wim files in a sub folder called sources.<br \/>\nI put all my other loaders, in case I want to chain load, in next to my main loader (bootmgr, pxelinux, gpxe, grldr, etc)<\/p>\n<p>In the attached screenshot, i load ipxe then chainloads a script (menu.ipxe).<br \/>\nIn the script 3 different methods : the classic memdisk, a newer approach with sanboot and a new kid on the block wimboot.<\/p>\n<p>More info about these loading methods here :<br \/>\n<a href=\"http:\/\/www.syslinux.org\/wiki\/index.php\/MEMDISK\" target=\"_blank\">http:\/\/www.syslinux.org\/wiki\/index.php\/MEMDISK<\/a><br \/>\n<a href=\"http:\/\/ipxe.org\/cmd\/sanboot\" target=\"_blank\">http:\/\/ipxe.org\/cmd\/sanboot<\/a><br \/>\n<a href=\"http:\/\/ipxe.org\/wimboot\" target=\"_blank\">http:\/\/ipxe.org\/wimboot<\/a><\/p>\n<p>Side note about ipxe+sanboot+http : I am big fan.<br \/>\nI have always been looking for a quick and efficient boot from lan methods and this is one is great : executes as it read and faster than memdisk since no preloading of the ISO is required.<br \/>\niPXE reaches 50\/60 MBits\/secs on my lan.<\/p>\n<p>\u00ab\u00a0Voila\u00a0\u00bb.<\/p>\n<p>Download : <a href=\"http:\/\/reboot.pro\/files\/file\/303-tiny-pxe-server\/\" target=\"_blank\">http:\/\/reboot.pro\/files\/file\/303-tiny-pxe-server\/<\/a><\/p>\n<p>Erwan<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have been playing with pxe booting for a while, first starting with pxelinux, then gpxe and lately with ipxe. I am mostly a windows user and as an IT often needs a quick (=no install) and portable (=run from USB) dhcp server including a tftp server and a http server offering me then pxe <a href='https:\/\/labalec.fr\/erwan\/?p=321' class='excerpt-more'>[&#8230;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,5,45],"tags":[],"class_list":["post-321","post","type-post","status-publish","format-standard","hentry","category-boot","category-network","category-pxe","category-16-id","category-5-id","category-45-id","post-seq-1","post-parity-odd","meta-position-corners","fix"],"_links":{"self":[{"href":"https:\/\/labalec.fr\/erwan\/index.php?rest_route=\/wp\/v2\/posts\/321","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/labalec.fr\/erwan\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/labalec.fr\/erwan\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/labalec.fr\/erwan\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/labalec.fr\/erwan\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=321"}],"version-history":[{"count":2,"href":"https:\/\/labalec.fr\/erwan\/index.php?rest_route=\/wp\/v2\/posts\/321\/revisions"}],"predecessor-version":[{"id":356,"href":"https:\/\/labalec.fr\/erwan\/index.php?rest_route=\/wp\/v2\/posts\/321\/revisions\/356"}],"wp:attachment":[{"href":"https:\/\/labalec.fr\/erwan\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/labalec.fr\/erwan\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/labalec.fr\/erwan\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}