{"id":1469,"date":"2015-07-25T01:56:35","date_gmt":"2015-07-25T00:56:35","guid":{"rendered":"https:\/\/stevepedwards.today\/DebianAdmin\/?p=1469"},"modified":"2022-09-17T13:06:15","modified_gmt":"2022-09-17T12:06:15","slug":"mint-as-a-pxe-server-for-partedmagic-and-multi-oss","status":"publish","type":"post","link":"https:\/\/stevepedwards.today\/DebianAdmin\/mint-as-a-pxe-server-for-partedmagic-and-multi-oss\/","title":{"rendered":"Mint as a PXE Server for PartedMagic and Multi OSs"},"content":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_1469\" class=\"pvc_stats all  \" data-element-id=\"1469\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p>Getting a PXE server going in Linux has never been that easy, as there were\/are so many options for doing it for the uninitiated. It still took me a big recap and head scratching after a few years since doing it, and now things aren't much easier, even if there are some recent, better How To's around but even these are cobbled together from other efforts with nobody seeming to find or define PXE implmentation structures - an RFC for pxe, if you like - that tells you what exactly is required and why.<\/p>\n<p>Hence, PXE often means confusion: maybe using NFS server lines when not needed depending on what you have or want etc. in trial and error jigsaw puzzle - like below!<\/p>\n<p>Just getting your head around the correct \"tftproot\" filesystem structure and relating it to the pxelinux.cfg\/default file allowed menu structure; allowed headings, keywords, commas, spaces or getting forward slashes in the right places, all with the correct LABEL, KERNEL, INITRD, and APPEND options is taxing.<\/p>\n<p>Here's some other Ubuntu site links and clues on all these various options and a historical process overview for different flavours and older Win technology to understand what happens:<\/p>\n<p><a href=\"https:\/\/help.ubuntu.com\/community\/Installation\/LocalNet#Pile_of_PXE_related_links\" target=\"_blank\" rel=\"noopener\">https:\/\/help.ubuntu.com\/community\/Installation\/LocalNet#Pile_of_PXE_related_links<\/a><\/p>\n<p><a href=\"https:\/\/marc.herbert.free.fr\/linux\/win2linstall.html\" target=\"_blank\" rel=\"noopener\">https:\/\/marc.herbert.free.fr\/linux\/win2linstall.html<\/a><\/p>\n<p>Fortunately for this Post, Mint and Parted Magic contain \"most\" of the required lines and server functionality between them, to make it a bit easier to see what happens, if DNSMASQ is used also, following the tutorial at:<\/p>\n<p><a href=\"https:\/\/www.tecmint.com\/configure-pxe-server-to-install-windows-on-centos\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.tecmint.com\/configure-pxe-server-to-install-windows-on-centos\/<\/a>\u00a0 \u00a0(Just bloody found this!! Part1 Menu format for WinPE)<\/p>\n<p><a href=\"https:\/\/www.tecmint.com\/install-pxe-network-boot-server-in-centos-7\/\">https:\/\/www.tecmint.com\/install-pxe-network-boot-server-in-centos-7\/<\/a><\/p>\n<p>and amending the install commands for Mint.<\/p>\n<p>First, the DHCP and TFTP server is configured using the techmint.com link above.<\/p>\n<p>This basically involves:<\/p>\n<p><span style=\"color: #0070c0;\">apt-get install dnsmasq<br \/>\n<\/span><\/p>\n<p><span style=\"color: #0070c0;\">apt-get install syslinux<br \/>\n<\/span><\/p>\n<p>then copying the syslinux content to your tftptroot, and configuring dnsmasq as per tecmint above.<\/p>\n<p>For me, as my router hands out 192.168.1.2-10 range addresses, I want to know what IPs come from the router or dnsmasq, and whether I have left dnsmasq turned on by mistake when using the network normally. So, just for a PXE boot session, I use different IP number ranges for ID.<\/p>\n<p>I found it easier to connect between Mint, router and PXE host by setting a static IP of 192.168.1.10 for the Mint dnsmasq server and conf file, and ensure the router binds it permanently in future using the VIGOR Bind to MAC function:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/07\/072515_0056_MintasaPXES1.png\" alt=\"\" \/><\/p>\n<p>I also connect the pxe host and Mint dnsmasq server via a separate switch just for this PXE load operation, when dnsmasq is handing out its own DHCP IPs so the host knows where its DHCP IP came from and not have two DHCP servers fighting each other.<\/p>\n<p>Set the key options for your network as per the link above in<\/p>\n<p><span style=\"color: #0070c0;\">vi \/etc\/dnsmasq.conf<br \/>\n<\/span><\/p>\n<p>For me, reading much of this large file's comments, I used:<\/p>\n<p><span style=\"color: red;\"># Uncomment this to enable the integrated DHCP server, you need<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"># to supply the range of addresses available for lease and optionally<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"># a lease time. If you have more than one network, you will need to<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"># repeat this for each network on which you want to supply DHCP<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"># service.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"><strong>dhcp-range=192.168.1.50,192.168.1.55,12h<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"># Magic number - needed before anything else is recognised<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"><strong>dhcp-option-force=208,f1:00:74:7e<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong>dhcp-boot=pxelinux.0<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"># Loads &lt;tftp-root&gt;\/pxelinux.0 from dnsmasq TFTP server.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"><strong>pxe-service=x86PC, \"Gets pxelinux.0 at tftp server\", pxelinux<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"># Enable dnsmasq's built-in TFTP server<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"><strong>enable-tftp<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"># Set the root directory for files available via FTP.<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"><strong>tftp-root=tftpboot\/<br \/>\n<\/strong><\/span><\/p>\n<p>The <span style=\"color: red;\">tftp-root=tftpboot\/ <\/span>format works for me, so no slash before it for the Mint root directory \"\/\" where the tftpboot folder resides, may be key, depending how you set your PXE server IP address elsewhere in the conf file, e.g. 192.168.1.10\/ etc. Similar directory references appear in the PXE default file structures, seen later, where a leading slash is left out as the \/tftproot\/ folder is not written explicitly, just the sub-folders of it in the Default file.<span style=\"color: red;\"><br \/>\n<\/span><\/p>\n<p>If dnsmasq fails with something like:<\/p>\n<p><span style=\"color: #ff0000;\">dnsmasq: failed to create listening socket for port 53: Address already in use failed!<\/span><\/p>\n<p>then add the current IP address of your eth0, say 192.168.1.13, but not in the \"ethx\" form (didn't work for me), to the dnsmasq conf file e.g.:<\/p>\n<p><span style=\"color: #ff0000;\">listen-address=192.168.1.13<\/span><\/p>\n<p>and in<\/p>\n<p><span style=\"color: #0000ff;\">vi \/etc\/NetworkManager\/NetworkManager.conf<\/span><\/p>\n<p>uncomment:<\/p>\n<p><span style=\"color: #ff0000;\">[main]<\/span><br \/>\n<span style=\"color: #ff0000;\">plugins=ifupdown,keyfile,ofono<\/span><br \/>\n<strong><span style=\"color: #ff0000;\">#dns=dnsmasq<\/span><\/strong><\/p>\n<p>Once the dsnmasq.conf file is set and service restarted, check the dnsmasq server is working on the correct ports using nmap.<\/p>\n<p>TFTP and DHCP use UDP not TCP packets, so you need the right nmap switches to see the services - T for TCP and U for UDP:<\/p>\n<p>DellMint stevee # <span style=\"color: #0070c0;\">nmap -sU 127.0.0.1<\/span><\/p>\n<p><span style=\"color: red;\">Starting Nmap 6.40 ( https:\/\/nmap.org ) at 2015-07-24 16:19 BST<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">Nmap scan report for localhost (127.0.0.1)<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">Host is up (0.000012s latency).<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">Not shown: 992 closed ports<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">PORT STATE SERVICE<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">53\/udp open domain<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"><strong>67\/udp open|filtered dhcps<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong>68\/udp open|filtered dhcpc<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"><strong>69\/udp open|filtered tftp<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\">137\/udp open netbios-ns<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">138\/udp open|filtered netbios-dgm<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">631\/udp open|filtered ipp<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">5353\/udp open|filtered zeroconf<br \/>\n<\/span><\/p>\n<p>Unlike Samba, you may need to restart dnsmasq after any conf file and tftproot directory changes with:<\/p>\n<p><span style=\"color: #0070c0;\">service dnsmasq restart<br \/>\n<\/span><\/p>\n<p>DHCPS, DHCPC and TFTP are running, so now you need to build the tftproot folder structure for the OSs you want to deliver.<\/p>\n<p>I bought PartedMagic as a really good recovery tool package (despite the REALLY shitty attitude of the sales person (owner? Some arrogant prick anyway...) - to match my own shitty email fair enough - whom I complained to, regarding the fact the ISO does not work: seems not to expand the squashfs at boot when burned to CD:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/07\/072515_0056_MintasaPXES4.jpg\" alt=\"\" \/><\/p>\n<p>So, they must not have tested it properly before release. I tried 5 x different 500 MB downloads for corruption, different mirror, different CDs, Apps and PCs to burn so check it was not me being stupid, before my email. (I HATE that!! Test your bloody product first, or give clear instructions if more action is required - anybody\/everybody!)<\/p>\n<p>That's \"programmer arrogance\" for you in my view\/experience - releasing untested code into the wild - consequently I got no tech support or further reply, but worked it out for myself later. Did me loads of favours in the long run.<\/p>\n<p>But, I'm not telling you what the issue is or how to get round it, so YOU can write to them yourself, as they won't talk to me. They probably fixed it now that I sent them screenshots with my mega whinge.<\/p>\n<p>To be fair - it is a great \"<em><strong>package\"<\/strong> <\/em>and I would have been be happy to endorse it, but it seems someone messed up with the structure of the current ISO release for a CD burn, and the particular sales staff member is just a dick for the \"terrorist\" comment.<\/p>\n<p>If he's the boss too, then that's worse...<\/p>\n<p>Anyway, I had also downloaded the PXE boot package - which does work - despite errors in the pxe Default file terms. This was discovered when compared to the techmint example below:<\/p>\n<p><em><strong>default menu.c32<\/strong><\/em><\/p>\n<p><em><strong>prompt 0<\/strong><\/em><\/p>\n<p><em><strong>timeout 300<\/strong><\/em><\/p>\n<p><em><strong>ONTIMEOUT local<\/strong><\/em><\/p>\n<p><em><strong>menu title # PXE Boot Menu #<\/strong><\/em><\/p>\n<p><em><strong>label 1<\/strong><\/em><\/p>\n<p><em><strong>menu label ((^1) Install CentOS 7 x64 with Local Repo<\/strong><\/em><\/p>\n<p><em><strong>kernel centos7\/vmlinuz<\/strong><\/em><\/p>\n<p><em><strong>append initrd=centos7\/initrd.img method=ftp:\/\/192.168.1.20\/pub devfs=nomount<\/strong><\/em><\/p>\n<p><em><strong>label 2<\/strong><\/em><\/p>\n<p><em><strong>menu label ((^2) Install CentOS 7 x64 with https:\/\/mirror.centos.org Repo<\/strong><\/em><\/p>\n<p><em><strong>kernel centos7\/vmlinuz<\/strong><\/em><\/p>\n<p><em><strong>append initrd=centos7\/initrd.img method=https:\/\/mirror.centos.org\/centos\/7\/os\/x86_64\/ devfs=nomount ip=dhcp<\/strong><\/em><\/p>\n<p><em><strong>label 3<\/strong><\/em><\/p>\n<p><em><strong>menu label ((^3) Install CentOS 7 x64 with Local Repo using VNC<\/strong><\/em><\/p>\n<p><em><strong>kernel centos7\/vmlinuz<\/strong><\/em><\/p>\n<p><em><strong>append initrd=centos7\/initrd.img method=ftp:\/\/192.168.1.20\/pub devfs=nomount inst.vnc inst.vncpassword=password<\/strong><\/em><\/p>\n<p><em><strong>label 4<\/strong><\/em><\/p>\n<p><em><strong>menu label ((^4) Boot from local drive<\/strong><\/em><\/p>\n<p>The Default stanza file from pmagic read:<\/p>\n<p><span style=\"color: #0070c0;\">vi pmagic\/stanza.txt<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">DEFAULT pmagic32<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">LABEL pmagic32<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">LINUX pmagic\/bzImage<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">INITRD pmagic\/initrd.img,pmagic\/fu.img,pmagic\/m32.img,pmagic\/files.cgz<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">APPEND edd=on vga=normal<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">LABEL pmagic64<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">LINUX pmagic\/bzImage64<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">INITRD pmagic\/initrd.img,pmagic\/fu.img,pmagic\/m64.img,pmagic\/files.cgz<\/span><\/p>\n<p><span style=\"color: red;\">APPEND edd=on vga=normal<br \/>\n<\/span><\/p>\n<p>Comparing the two, I realised why I could not PXE boot pmagic just from its own files, as I got returns from the host PC about \"unrecognised item\" or some such.<\/p>\n<p>The reasons were that the PXE implementation only allows certain terms such as \"KERNEL\" - not \"LINUX\" - in a Default file, which are shown correctly in the techmint example. Fortunately, the file structure lines for the required files and a previously unknown option - edd - are correct in the pmagic example. \"LINUX\" IS a valid term for that menu option to specify a linux image - which this is - it just did not work here, and KERNEL does. Lack of testing again?<\/p>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Preboot_Execution_Environment\">https:\/\/en.wikipedia.org\/wiki\/Preboot_Execution_Environment<\/a><\/p>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Unified_Extensible_Firmware_Interface\">https:\/\/en.wikipedia.org\/wiki\/Unified_Extensible_Firmware_Interface<\/a><\/p>\n<p>Some menu format examples here:<\/p>\n<p><a href=\"https:\/\/wiki.centos.org\/HowTos\/PXE\/PXE_Setup\/Menus\">https:\/\/wiki.centos.org\/HowTos\/PXE\/PXE_Setup\/Menus<\/a><\/p>\n<p>Note there are no NFS or server IP addresses required, as you see in some forum examples for NFS etc.<\/p>\n<p>If the host gets a DHCP address from the server, it knows where to get the files from due to dnsmaq.conf.<\/p>\n<p>So, making a correct Default file from the two examples above, for my tftpboot folder, that holds the pmagic content, I have so far a half built working menu for when I hope to add the other Mint 32\/64 Distros also (yeah, right!), but for now I only want labels 1 and 2 working to boot pmagic 32 or 64 bit versions, to show this file and my tftpboot structure for pmagic works:<\/p>\n<p><span style=\"color: red;\">default menu.c32<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">prompt 0<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">timeout 300<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">ONTIMEOUT local<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">menu title # PXE Boot Menu #<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">label 1<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">MENU label ((^1) Install pmagic32<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">KERNEL pmagic\/bzImage<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">#kernel centos7\/vmlinuz<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">INITRD pmagic\/initrd.img,pmagic\/fu.img,pmagic\/m32.img,pmagic\/files.cgz<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">APPEND edd=on vga=normal<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">#append initrd=centos7\/initrd.img method=ftp:\/\/192.168.1.20\/pub devfs=nomount<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">label 2<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">menu label ((^2) Install pmagic64<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">kernel pmagic\/bzImage64<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">INITRD pmagic\/initrd.img,pmagic\/fu.img,pmagic\/m64.img,pmagic\/files.cgz<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">label 3<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">menu label 9(^3) Install mint32<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">kernel mint\/casper\/vmlinuz<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">append initrd=centos7\/initrd.img method=ftp:\/\/192.168.1.20\/pub devfs=nomount inst.vnc inst.vncpassword=password<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">label 4<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">menu label 9(^3) Install mint64<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">kernel mint64\/casper\/vmlinuz<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">append initrd=\/initrd.img method=ftp:\/\/192.168.1.20\/pub devfs=nomount inst.vnc inst.vncpassword=password<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">label\u00a05<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">menu label ((^5) Boot from local drive<br \/>\n<\/span><\/p>\n<p><span style=\"color: #ff0000;\">localboot 0<\/span><\/p>\n<p>As you see, this works:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/07\/072515_0056_MintasaPXES5.jpg\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/07\/072515_0056_MintasaPXES6.jpg\" alt=\"\" \/><\/p>\n<p>All files from the pmagic folder are seen and accessible due to all permissions in \/tftpboot being made 755, changed from their unpacked tar defaults, which may cause \"file not found\" type errors at pxeboot, that I got for <strong>files.cgz<\/strong> - needs to be executable to unpack it, for \"others\" also it seems, from just rw, which makes sense as no user is defined at boot for a PXE host, I guess?:<\/p>\n<p>stevee@MintPC100 ~ $ <span style=\"color: #0070c0;\">ls -als Downloads\/pmagic\/<\/span><\/p>\n<p><span style=\"color: red;\">total 469536<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 4 drwxr-xr-x 2 root root 4096 Jul 24 17:37 .<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 4 drwxr-xr-x 4 stevee stevee 4096 Jul 24 16:47 ..<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 3268 -r--r--r-- 1 root root 3342656 Jun 30 14:45 bzImage<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 3496 -r--r--r-- 1 root root 3578848 Jun 30 15:52 bzImage64<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"><strong>373668 -rw-r--r-- 1 root root 382633814 Jul 7 15:02 files.cgz<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: red;\"> 39380 -r--r--r-- 1 root root 40323053 Jul 7 14:45 fu.img<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 3144 -r--r--r-- 1 root root 3218067 Jul 7 14:45 initrd.img<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 22696 -r--r--r-- 1 root root 23238584 Jul 7 14:45 m32.img<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 23872 -r--r--r-- 1 root root 24444563 Jul 7 14:45 m64.img<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 4 -rw-r--r-- 1 root root 286 Jul 7 15:02 stanza.txt<br \/>\n<\/span><\/p>\n<p>MintPC100 Downloads # <span style=\"color: #0070c0;\">ls -als \/tftpboot\/pmagic\/<\/span><\/p>\n<p><span style=\"color: red;\">total 1446036<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 4 drwxr-xr-x 3 root root 4096 Jul 24 15:55 .<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 4 drwxr-xr-x 10 root root 4096 Jul 24 13:09 ..<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 3268 -rwxr-xr-x 1 root root 3342656 Jul 24 15:55 bzImage<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 3496 -rwxr-xr-x 1 root root 3578848 Jul 24 15:55 bzImage64<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"><strong><span style=\"color: #ff0000;\">373668 -rwxr-xr-x 1 root root 382633814 Jul 24 13:09 files.cgz<\/span><\/strong><br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 39380 -rwxr-xr-x 1 root root 40323053 Jul 24 15:55 fu.img<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 3144 -rwxr-xr-x 1 root root 3218067 Jul 24 15:55 initrd.img<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 22696 -rwxr-xr-x 1 root root 23238584 Jul 24 15:55 m32.img<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 23872 -rwxr-xr-x 1 root root 24444563 Jul 24 15:55 m64.img<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">506884 -rwxr-xr-x 1 root root 519045120 Jul 24 13:09 pmagic_2015_07_07.iso<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">469612 -rwxr-xr-x 1 root root 480878134 Jul 24 15:56 pmagic_pxe_2015_07_07.tar.gz<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 4 drwxr-xr-x 3 root root 4096 Jul 24 13:09 pmodules<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\"> 4 -rwxr-xr-x 1 root root 286 Jul 24 13:09 stanza.txt<br \/>\n<\/span><\/p>\n<p>The folder structure for the tftproot\/ after adding all the files from syslinux as per the tecmint link (not really sure all of it is required actually, unless to make the menu format for vga work properly?) is:<\/p>\n<p>stevee@DellMint ~ $ <span style=\"color: #0070c0;\">ls \/tftpboot\/<\/span><\/p>\n<p><span style=\"color: red;\">altmbr.bin elf.c32 isohdpfx.bin mbr_f.bin reboot.c32<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">altmbr_c.bin ethersel.c32 isohdpfx_c.bin memdisk rosh.c32<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">altmbr_f.bin gfxboot.c32 isohdpfx_f.bin memdump.com sanboot.c32<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">boot.txt gptmbr.bin isohdppx.bin meminfo.c32 sdi.c32<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">cat.c32 gptmbr_c.bin isohdppx_c.bin menu.c32 sysdump.c32<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">chain.c32 gptmbr_f.bin isohdppx_f.bin <\/span><span style=\"color: #0070c0;\">mint<\/span><span style=\"color: red;\"><br \/>\n<\/span><span style=\"color: #0070c0;\">ubuntu<\/span><span style=\"color: red;\"><br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">cmd.c32 gpxecmd.c32 isolinux.bin <\/span><span style=\"color: #0070c0;\">mint64<\/span><span style=\"color: red;\"> ver.com<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">com32 gpxelinux.0 isolinux-debug.bin pcitest.c32 vesainfo.c32<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">config.c32 gpxelinuxk.0 kbdmap.c32 <\/span><span style=\"color: #0070c0;\">pmagic<\/span><span style=\"color: red;\"> vesamenu.c32<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">cpuid.c32 hdt.c32 linux.c32 pmload.c32 vpdtest.c32<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">cpuidtest.c32 host.c32 ls.c32 poweroff.com whichsys.c32<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">diag ifcpu64.c32 lua.c32 pwd.c32 xp<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">disk.c32 ifcpu.c32 mboot.c32 pxechain.com zzjson.c32<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">dmitest.c32 ifplop.c32 mbr.bin pxelinux.0<br \/>\n<\/span><\/p>\n<p><span style=\"color: red;\">dosutil int18.com mbr_c.bin pxelinux.cfg<br \/>\n<\/span><\/p>\n<p>So, in summary, it's just a case of unpacking all the files from the pmagic PXE.tar.gzip from their sales site ($9 bargain), copying the pmagic folder to your tftproot folder you chose and set in dnsmasq.conf, getting your dnsmasq server working for DHCP and TFTP, copying all the syslinux content to your tftproot, creating a pxelinux.cfg\/default text file with the correct menu terms, and checking they relate to where the files actually reside in your tftproot file structure.<\/p>\n<p>All being well it should take about 4 mins from boot menu to loaded desktop across a 100MB network.<\/p>\n<p>Now you can try adding the contents of other Distro .ISO files to your tftproot folders (ubuntu worked well years back, but some others like Asterix PBX did not, as I did not know enough - and still don't! - or the ISO file systems are too complex\/obscure to work out what is required where), and amending the menu options in the pxelinux.cfg\/default text file.<\/p>\n<p>25\/7\/15<\/p>\n<p>Here is a menu section that \"seemed to work \" for a full hard drive install for Ubuntu 64 netboot installer gzip from here:<\/p>\n<p><a href=\"https:\/\/archive.ubuntu.com\/ubuntu\/dists\/vivid\/main\/installer-amd64\/current\/images\/netboot\/\" target=\"_blank\" rel=\"noopener\">https:\/\/archive.ubuntu.com\/ubuntu\/dists\/vivid\/main\/installer-amd64\/current\/images\/netboot\/<\/a><\/p>\n<p><a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/07\/DSC_0026.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1482\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/07\/DSC_0026.jpeg\" alt=\"DSC_0026.jpg\" width=\"816\" height=\"459\" \/><\/a><\/p>\n<p><a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/07\/DSC_0025.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1481\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/07\/DSC_0025.jpeg\" alt=\"DSC_0025.jpg\" width=\"816\" height=\"459\" \/><\/a><\/p>\n<p>but then the completed installation does not boot properly and hangs at a black screen? That is not a PXE issue though, I don't think (corruption?), as\u00a0I got the i386 netboot gzip after, and wrote another menu, and this time the install worked.<\/p>\n<p>The menu sections for these Ubuntu and pmagic loads, are developed\u00a0from my (tecmint) example above, which I got working by trial and error, again combining clues from formats of the other examples, and can be numbered how you like, but the <strong>format terms<\/strong>, in bold - <strong>including the commas<\/strong> - are:<\/p>\n<p><strong><span style=\"color: #ff0000;\">default menu.c32<\/span><\/strong><br \/>\n<strong><span style=\"color: #ff0000;\">prompt 0<\/span><\/strong><br \/>\n<strong><span style=\"color: #ff0000;\">timeout 300<\/span><\/strong><br \/>\n<strong><span style=\"color: #ff0000;\">ONTIMEOUT local<\/span><\/strong><\/p>\n<p><strong><span style=\"color: #ff0000;\">menu title # PXE Boot Menu #<\/span><\/strong><\/p>\n<p><strong><span style=\"color: #ff0000;\">label 1<\/span><\/strong><br \/>\n<span style=\"color: #ff0000;\"><strong>menu label ((^1)<\/strong> Install pmagic32<\/span><br \/>\n<span style=\"color: #ff0000;\"><strong>kernel<\/strong> pmagic\/<strong>bzImage<\/strong><\/span><br \/>\n<span style=\"color: #ff0000;\"><strong>INITRD<\/strong> pmagic\/<strong>initrd.img,<\/strong>pmagic\/<strong>fu.img,<\/strong>pmagic\/<strong>m32.img,<\/strong>pmagic\/<strong>files.cgz<\/strong><\/span><br \/>\n<span style=\"color: #ff0000;\"><strong>APPEND<\/strong> edd=on vga=normal<\/span><\/p>\n<p><strong><span style=\"color: #ff0000;\">label 2<\/span><\/strong><br \/>\n<span style=\"color: #ff0000;\"><strong>menu label ((^2)<\/strong> Install pmagic64<\/span><br \/>\n<span style=\"color: #ff0000;\"><strong>kernel<\/strong> pmagic\/bzImage64<\/span><br \/>\n<span style=\"color: #ff0000;\"><strong>INITRD<\/strong> pmagic\/<strong>initrd.img,<\/strong>pmagic\/<strong>fu.img,<\/strong>pmagic\/<strong>m64.img,<\/strong>pmagic\/<strong>files.cgz<\/strong><\/span><br \/>\n<span style=\"color: #ff0000;\"><strong>APPEND<\/strong> edd=on vga=normal<\/span><\/p>\n<p><strong><span style=\"color: #ff0000;\">label 5<\/span><\/strong><br \/>\n<span style=\"color: #ff0000;\"><strong>menu<\/strong> <strong>label 9(^5)<\/strong> Install ubuntu64<\/span><br \/>\n<span style=\"color: #ff0000;\"><strong>kernel<\/strong> ubuntu-installer64\/amd64\/<strong>linux<\/strong><\/span><br \/>\n<span style=\"color: #ff0000;\"><strong>append<\/strong> initrd=ubuntu-installer64\/amd64\/<strong>initrd.gz<\/strong><\/span><br \/>\n<span style=\"color: #ff0000;\"><strong>include<\/strong> ubuntu-installer64\/amd64\/boot-screens\/<strong>menu.cfg,<\/strong>ubuntu-installer64\/amd64\/boot-screens\/<strong>vesamenu.c32<\/strong><\/span><\/p>\n<p><strong><span style=\"color: #ff0000;\">label 6<\/span><\/strong><br \/>\n<span style=\"color: #ff0000;\"><strong>menu label ((^6)<\/strong> Install ubuntu i386<\/span><br \/>\n<span style=\"color: #ff0000;\"><strong>kernel<\/strong> ubuntu-installer\/i386\/<strong>linux<\/strong><\/span><br \/>\n<span style=\"color: #ff0000;\"><strong>append<\/strong> initrd=ubuntu-installer\/i386\/<strong>initrd.gz<\/strong><\/span><br \/>\n<span style=\"color: #ff0000;\"><strong>include<\/strong> ubuntu-installer\/i386\/boot-screens\/<strong>menu.cfg,<\/strong>ubuntu-installer\/i386\/boot-screens\/<strong>vesamenu.c32<\/strong><\/span><\/p>\n<p><strong><span style=\"color: #ff0000;\">label local<\/span><\/strong><br \/>\n<span style=\"color: #ff0000;\"><strong>menu label (^local<\/strong>) Boot from local drive<\/span><br \/>\n<strong><span style=\"color: #ff0000;\">localboot 0<\/span><\/strong><\/p>\n<p>Remember to<\/p>\n<p><span style=\"color: #0000ff;\">chmod 755 -R<\/span>\u00a0<span style=\"color: #0000ff;\">&lt;\/tftproot\/&gt;<\/span><\/p>\n<p>directory, or PXE won't have permissions to load the files!<\/p>\n<p>Mint is not working yet.<\/p>\n<p>To see how the menus relate to the tftpboot structure:<\/p>\n<p>DellMint stevee # <span style=\"color: #0000ff;\">tree \/tftpboot\/pmagic\/<\/span><br \/>\n\/tftpboot\/pmagic\/<br \/>\n\/dev\/sda1 bzImage<br \/>\n\/dev\/sda1 bzImage64<br \/>\n\/dev\/sda1 files.cgz<br \/>\n\/dev\/sda1 fu.img<br \/>\n\/dev\/sda1 initrd.img<br \/>\n\/dev\/sda1 m32.img<br \/>\n\/dev\/sda1 m64.img<br \/>\n\/dev\/sda1 pmagic_2015_07_07.iso<br \/>\n\/dev\/sda1 pmodules<br \/>\n\u00a0\u00a0 \/dev\/sda1 PMAGIC_2015_07_07.SQFS<br \/>\n\u00a0\u00a0 \/dev\/sda1 scripts<br \/>\n\/dev\/sda1 stanza.txt<\/p>\n<p>DellMint stevee # <span style=\"color: #0000ff;\">tree \/tftpboot\/ubuntu-installer<\/span><br \/>\n\/tftpboot\/ubuntu-installer<br \/>\n\/dev\/sda1 i386<br \/>\n\/dev\/sda1 boot-screens<br \/>\n\u00a0\u00a0 \/dev\/sda1 adtxt.cfg<br \/>\n\u00a0\u00a0 \/dev\/sda1 exithelp.cfg<br \/>\n\u00a0\u00a0 \/dev\/sda1 f10.txt<br \/>\n\u00a0\u00a0 \/dev\/sda1 f1.txt<br \/>\n\u00a0\u00a0 \/dev\/sda1 f2.txt<br \/>\n\u00a0\u00a0 \/dev\/sda1 f3.txt<br \/>\n\u00a0\u00a0 \/dev\/sda1 f4.txt<br \/>\n\u00a0\u00a0 \/dev\/sda1 f5.txt<br \/>\n\u00a0\u00a0 \/dev\/sda1 f6.txt<br \/>\n\u00a0\u00a0 \/dev\/sda1 f7.txt<br \/>\n\u00a0\u00a0 \/dev\/sda1 f8.txt<br \/>\n\u00a0\u00a0 \/dev\/sda1 f9.txt<br \/>\n\u00a0\u00a0 \/dev\/sda1 menu.cfg<br \/>\n\u00a0\u00a0 \/dev\/sda1 prompt.cfg<br \/>\n\u00a0\u00a0 \/dev\/sda1 rqtxt.cfg<br \/>\n\u00a0\u00a0 \/dev\/sda1 splash.png<br \/>\n\u00a0\u00a0 \/dev\/sda1 stdmenu.cfg<br \/>\n\u00a0\u00a0 \/dev\/sda1 syslinux.cfg<br \/>\n\u00a0\u00a0 \/dev\/sda1 txt.cfg<br \/>\n\u00a0\u00a0 \/dev\/sda1 vesamenu.c32<br \/>\n\/dev\/sda1 initrd.gz<br \/>\n\/dev\/sda1 linux<br \/>\n\/dev\/sda1 pxelinux.0<br \/>\n\/dev\/sda1 pxelinux.cfg<br \/>\n\/dev\/sda1 default -&gt; ..\/boot-screens\/syslinux.cfg<\/p>\n<p>DellMint stevee # <span style=\"color: #0000ff;\">tree -d \/tftpboot\/mint\/<\/span><br \/>\n\/tftpboot\/mint\/<br \/>\n\/dev\/sda1 boot<br \/>\n\u00a0\u00a0 \/dev\/sda1 grub<br \/>\n\u00a0\u00a0 \/dev\/sda1 x86_64-efi<br \/>\n\/dev\/sda1 casper<br \/>\n\/dev\/sda1 dists<br \/>\n\u00a0\u00a0 \/dev\/sda1 trusty<br \/>\n\u00a0\u00a0 \/dev\/sda1 contrib<br \/>\n\/dev\/sda1 binary-amd64<br \/>\n\u00a0\u00a0 \u00a0\u00a0 \/dev\/sda1 binary-i386<br \/>\n\u00a0\u00a0 \/dev\/sda1 main<br \/>\n\/dev\/sda1 binary-amd64<br \/>\n\u00a0\u00a0 \u00a0\u00a0 \/dev\/sda1 binary-i386<br \/>\n\u00a0\u00a0 \/dev\/sda1 non-free<br \/>\n\u00a0\u00a0 \/dev\/sda1 binary-amd64<br \/>\n\u00a0\u00a0 \/dev\/sda1 binary-i386<br \/>\n\/dev\/sda1 EFI<br \/>\n\u00a0\u00a0 \/dev\/sda1 BOOT<br \/>\n\/dev\/sda1 isolinux<br \/>\n\/dev\/sda1 pool<br \/>\n\u00a0\u00a0 \/dev\/sda1 contrib<br \/>\n\u00a0\u00a0 \u00a0\u00a0 \/dev\/sda1 b<br \/>\n\u00a0\u00a0 \u00a0\u00a0 \/dev\/sda1 b43-fwcutter<br \/>\n\u00a0\u00a0 \/dev\/sda1 main<br \/>\n\/dev\/sda1 b<br \/>\n\u00a0\u00a0 \/dev\/sda1 bcmwl<br \/>\n\u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \/dev\/sda1 bogl<br \/>\n\/dev\/sda1 e<br \/>\n\u00a0\u00a0 \/dev\/sda1 efibootmgr<br \/>\n\u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \/dev\/sda1 eglibc<br \/>\n\/dev\/sda1 g<br \/>\n\u00a0\u00a0 \/dev\/sda1 grub2<br \/>\n\u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \/dev\/sda1 grub2-signed<br \/>\n\/dev\/sda1 l<br \/>\n\u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \/dev\/sda1 linux-wlan-ng<br \/>\n\/dev\/sda1 m<br \/>\n\u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \/dev\/sda1 mouseemu<br \/>\n\/dev\/sda1 n<br \/>\n\u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \/dev\/sda1 ncurses<br \/>\n\/dev\/sda1 s<br \/>\n\u00a0\u00a0 \/dev\/sda1 setserial<br \/>\n\u00a0\u00a0 \/dev\/sda1 shim<br \/>\n\u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \/dev\/sda1 shim-signed<br \/>\n\/dev\/sda1 t<br \/>\n\u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \/dev\/sda1 tasksel<br \/>\n\/dev\/sda1 u<br \/>\n\u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \/dev\/sda1 ubiquity<br \/>\n\u00a0\u00a0 \u00a0\u00a0 \/dev\/sda1 w<br \/>\n\/dev\/sda1 wvdial<br \/>\n\u00a0\u00a0 \u00a0\u00a0 \/dev\/sda1 wvstreams<br \/>\n\u00a0\u00a0 \/dev\/sda1 non-free<br \/>\n\u00a0\u00a0 \/dev\/sda1 s<br \/>\n\u00a0\u00a0 \/dev\/sda1 sl-modem<br \/>\n\/dev\/sda1 preseed<\/p>\n<p>DellMint stevee # <span style=\"color: #0000ff;\">tree \/tftpboot\/mint\/casper\/<\/span><br \/>\n\/tftpboot\/mint\/casper\/<br \/>\n\/dev\/sda1 filesystem.manifest<br \/>\n\/dev\/sda1 filesystem.manifest-remove<br \/>\n\/dev\/sda1 filesystem.size<br \/>\n\/dev\/sda1 filesystem.squashfs<br \/>\n\/dev\/sda1 initrd.lz<br \/>\n\/dev\/sda1 memtest<br \/>\n\/dev\/sda1 vmlinuz<\/p>\n<p>31\/7\/15<\/p>\n<p>It may be a problem to run dnsmasq at boot up on a network due to conflicts with the \"real\" DCHP server, which then means any hosts not getting the \"real\" server options may not get DNS and a gateway etc. so be unable to access the web etc. If this happens to a Windows host, you have to shut off dnsmasq, then disable and re-enable the Win hosts network connection so it gets another DHCP address from the \"real\" server. So how do you stop dnsmasq - or any other linux service like samba or apache2 - from running at boot?<\/p>\n<p>Renaming the script links in \/etc\/rcX\/ no longer works as there is a controlling service which ignores this file. so try:<\/p>\n<pre><span style=\"color: #0000ff;\">update-rc.d -f apache2 remove &amp;&amp; <\/span><span style=\"color: #0000ff;\">update-rc.d -f dnsmasq remove\r\n\r\n<span style=\"color: #ffffff;\">MintPC100 stevee #<\/span> update-rc.d -f apache2 remove &amp;&amp; update-rc.d -f dnsmasq remove\r\n<span style=\"color: #ff0000;\"> Removing any system startup links for \/etc\/init.d\/apache2 ...<\/span>\r\n<span style=\"color: #ff0000;\"> \/etc\/rc0.d\/K09apache2<\/span>\r\n<span style=\"color: #ff0000;\"> \/etc\/rc1.d\/K09apache2<\/span>\r\n<span style=\"color: #ff0000;\"> \/etc\/rc2.d\/S91apache2<\/span>\r\n<span style=\"color: #ff0000;\"> \/etc\/rc3.d\/S91apache2<\/span>\r\n<span style=\"color: #ff0000;\"> \/etc\/rc4.d\/S91apache2<\/span>\r\n<span style=\"color: #ff0000;\"> \/etc\/rc5.d\/S91apache2<\/span>\r\n<span style=\"color: #ff0000;\"> \/etc\/rc6.d\/K09apache2<\/span>\r\n<span style=\"color: #ff0000;\"> Removing any system startup links for \/etc\/init.d\/dnsmasq ...<\/span>\r\n<span style=\"color: #ff0000;\"> \/etc\/rc0.d\/K85dnsmasq<\/span>\r\n<span style=\"color: #ff0000;\"> \/etc\/rc1.d\/K85dnsmasq<\/span>\r\n<span style=\"color: #ff0000;\"> \/etc\/rc2.d\/S15dnsmasq<\/span>\r\n<span style=\"color: #ff0000;\"> \/etc\/rc3.d\/S15dnsmasq<\/span>\r\n<span style=\"color: #ff0000;\"> \/etc\/rc4.d\/S15dnsmasq<\/span>\r\n<span style=\"color: #ff0000;\"> \/etc\/rc5.d\/S15dnsmasq<\/span>\r\n<span style=\"color: #ff0000;\"> \/etc\/rc6.d\/K85dnsmasq<\/span>\r\n<\/span><\/pre>\n<p>Check if it is stopped using nmap before and after to see if the ports used by that service are open e.g. TCP 80 \u00a0for apache2, or UDP 67 for dnsmasq:<\/p>\n<p>stevee@MintPC100 ~ $ <span style=\"color: #0000ff;\">nmap -sT 127.0.0.1<\/span><\/p>\n<p><span style=\"color: #ff0000;\">Starting Nmap 6.40 ( https:\/\/nmap.org ) at 2015-07-31 12:55 BST<\/span><br \/>\n<span style=\"color: #ff0000;\">Nmap scan report for localhost (127.0.0.1)<\/span><br \/>\n<span style=\"color: #ff0000;\">Host is up (0.00089s latency).<\/span><br \/>\n<span style=\"color: #ff0000;\">Not shown: 994 closed ports<\/span><br \/>\n<span style=\"color: #ff0000;\">PORT STATE SERVICE<\/span><br \/>\n<span style=\"color: #ff0000;\">22\/tcp open ssh<\/span><br \/>\n<span style=\"color: #ff0000;\">53\/tcp open domain<\/span><br \/>\n<strong><span style=\"color: #ff0000;\">80\/tcp open http<\/span><\/strong><br \/>\n<span style=\"color: #ff0000;\">139\/tcp open netbios-ssn<\/span><br \/>\n<span style=\"color: #ff0000;\">445\/tcp open microsoft-ds<\/span><br \/>\n<span style=\"color: #ff0000;\">631\/tcp open ipp<\/span><\/p>\n<p>MintPC100 stevee # <span style=\"color: #0000ff;\">nmap -sU 127.0.0.1<\/span><\/p>\n<p><span style=\"color: #ff0000;\">Starting Nmap 6.40 ( https:\/\/nmap.org ) at 2015-07-31 12:58 BST<\/span><br \/>\n<span style=\"color: #ff0000;\">Nmap scan report for localhost (127.0.0.1)<\/span><br \/>\n<span style=\"color: #ff0000;\">Host is up (0.0038s latency).<\/span><br \/>\n<span style=\"color: #ff0000;\">Not shown: 992 closed ports<\/span><br \/>\n<span style=\"color: #ff0000;\">PORT STATE SERVICE<\/span><br \/>\n<span style=\"color: #ff0000;\">53\/udp open domain<\/span><br \/>\n<strong><span style=\"color: #ff0000;\">67\/udp open|filtered dhcps<\/span><\/strong><br \/>\n<strong><span style=\"color: #ff0000;\">68\/udp open|filtered dhcpc<\/span><\/strong><br \/>\n<strong><span style=\"color: #ff0000;\">69\/udp open|filtered tftp<\/span><\/strong><br \/>\n<span style=\"color: #ff0000;\">137\/udp open netbios-ns<\/span><br \/>\n<span style=\"color: #ff0000;\">138\/udp open|filtered netbios-dgm<\/span><br \/>\n<span style=\"color: #ff0000;\">631\/udp open|filtered ipp<\/span><br \/>\n<span style=\"color: #ff0000;\">5353\/udp open|filtered zeroconf<\/span><\/p>\n<p>Or you can check for running process:<\/p>\n<p>MintPC100 stevee #<span style=\"color: #0000ff;\"> ps ax | grep apache2<\/span><br \/>\n<span style=\"color: #ff0000;\">2301 ? Ss 0:00 \/usr\/sbin\/apache2 -k start<\/span><br \/>\n<span style=\"color: #ff0000;\"> 2302 ? Sl 0:00 \/usr\/sbin\/apache2 -k start<\/span><br \/>\n<span style=\"color: #ff0000;\"> 2303 ? Sl 0:00 \/usr\/sbin\/apache2 -k start<\/span><br \/>\n2840 pts\/4 S+ 0:00 grep --colour=auto apache2<br \/>\nMintPC100 stevee # <span style=\"color: #0000ff;\">ps ax | grep dnsmasq<\/span><br \/>\n<span style=\"color: #ff0000;\">1416 ? S 0:00 \/usr\/sbin\/dnsmasq -x \/var\/run\/dnsmasq\/dnsmasq.pid -u<\/span><br \/>\n<span style=\"color: #ff0000;\">dnsmasq -r \/var\/run\/dnsmasq\/resolv.conf -7 \/etc\/dnsmasq.d,.dpkg-dist,.dpkg-old,.<\/span><br \/>\n<span style=\"color: #ff0000;\">dpkg-new<\/span><br \/>\n2842 pts\/4 S+ 0:00 grep --colour=auto dnsmasq<\/p>\n<p><span style=\"color: #0000ff;\">reboot<\/span><\/p>\n<p>Check after reboot with nmap or ps again. Now, only the grep command is showing, not the services.<\/p>\n<p>MintPC100 stevee # <span style=\"color: #0000ff;\">ps ax | grep dnsmasq<\/span><br \/>\n<span style=\"color: #ff0000;\">2433 pts\/2 S+ 0:00 grep --colour=auto dnsmasq<\/span><br \/>\nMintPC100 stevee # <span style=\"color: #0000ff;\">ps ax | grep apache2<\/span><br \/>\n<span style=\"color: #ff0000;\">2435 pts\/2 S+ 0:00 grep --colour=auto apache2<\/span><\/p>\n<p>Only the DHCP client is showing, not the dnsmasq service:<\/p>\n<p>MintPC100 stevee #<span style=\"color: #0000ff;\"> nmap -sU 127.0.0.1<\/span><\/p>\n<p><span style=\"color: #ff0000;\">Starting Nmap 6.40 ( https:\/\/nmap.org ) at 2015-07-31 13:10 BST<\/span><br \/>\n<span style=\"color: #ff0000;\">Nmap scan report for localhost (127.0.0.1)<\/span><br \/>\n<span style=\"color: #ff0000;\">Host is up (0.000016s latency).<\/span><br \/>\n<span style=\"color: #ff0000;\">Not shown: 995 closed ports<\/span><br \/>\n<span style=\"color: #ff0000;\">PORT STATE SERVICE<\/span><br \/>\n<span style=\"color: #ff0000;\">68\/udp open|filtered dhcpc<\/span><br \/>\n<span style=\"color: #ff0000;\">137\/udp open netbios-ns<\/span><br \/>\n<span style=\"color: #ff0000;\">138\/udp open|filtered netbios-dgm<\/span><br \/>\n<span style=\"color: #ff0000;\">631\/udp open|filtered ipp<\/span><br \/>\n<span style=\"color: #ff0000;\">5353\/udp open|filtered zeroconf<\/span><\/p>\n<p>No HTTP 80 either:<\/p>\n<p>MintPC100 stevee # <span style=\"color: #0000ff;\">nmap -sT 127.0.0.1<\/span><br \/>\n<span style=\"color: #ff0000;\">Starting Nmap 6.40 ( https:\/\/nmap.org ) at 2015-07-31 13:12 BST<\/span><br \/>\n<span style=\"color: #ff0000;\">Nmap scan report for localhost (127.0.0.1)<\/span><br \/>\n<span style=\"color: #ff0000;\">Host is up (0.00077s latency).<\/span><br \/>\n<span style=\"color: #ff0000;\">Not shown: 996 closed ports<\/span><br \/>\n<span style=\"color: #ff0000;\">PORT STATE SERVICE<\/span><br \/>\n<span style=\"color: #ff0000;\">22\/tcp open ssh<\/span><br \/>\n<span style=\"color: #ff0000;\">139\/tcp open netbios-ssn<\/span><br \/>\n<span style=\"color: #ff0000;\">445\/tcp open microsoft-ds<\/span><br \/>\n<span style=\"color: #ff0000;\">631\/tcp open ipp<\/span><\/p>\n<p>Start the services manually when you want:<\/p>\n<p>MintPC100 stevee # <span style=\"color: #0000ff;\">service apache2 start<\/span><br \/>\n<span style=\"color: #ff0000;\">* Starting web server apache2 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message<\/span><\/p>\n<p>Again, remove that apache2 ServerName warning by setting a webserver host name:<\/p>\n<p>MintPC100 stevee # <span style=\"color: #0000ff;\">vi \/etc\/apache2\/apache2.conf<\/span><\/p>\n<p><span style=\"color: #ff0000;\"># Global configuration<\/span><br \/>\n<span style=\"color: #ff0000;\">#<\/span><br \/>\n<span style=\"color: #ff0000;\">ServerName MintPC100<\/span><br \/>\nMintPC100 stevee # <span style=\"color: #0000ff;\">service apache2 restart<\/span><br \/>\n<span style=\"color: #ff0000;\">* Restarting web server apache2<\/span><\/p>\n<p><a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/07\/ServerName.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1538\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2015\/07\/ServerName.jpg\" alt=\"ServerName.jpg\" width=\"683\" height=\"384\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_1469\" class=\"pvc_stats all  \" data-element-id=\"1469\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p>Getting a PXE server going in Linux has never been that easy, as there were\/are so many options for doing it for the uninitiated. It still took me a big recap and head scratching after a few years since doing it, and now things aren't much easier, even if there are some recent, better How <a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/mint-as-a-pxe-server-for-partedmagic-and-multi-oss\/\" class=\"more-link\">...<span class=\"screen-reader-text\">\u00a0 Mint as a PXE Server for PartedMagic and Multi OSs<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1469","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"a3_pvc":{"activated":true,"total_views":3,"today_views":0},"_links":{"self":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts\/1469","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/comments?post=1469"}],"version-history":[{"count":2,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts\/1469\/revisions"}],"predecessor-version":[{"id":8915,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts\/1469\/revisions\/8915"}],"wp:attachment":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/media?parent=1469"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/categories?post=1469"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/tags?post=1469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}