5-steps - Netboot a Puppy over the LAN with NO Media (PXE)

How to do things, solutions, recipes, tutorials
Message
Author
User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#76 Post by rcrsn51 »

OK. Just to be clear, "commenting" means to add the # and "uncommenting" means to remove it.

pindrop
Posts: 3
Joined: Mon 16 Jan 2012, 17:36

#77 Post by pindrop »

Wow great project - this looks like a lot of hard work thanks so much for this contribution. I have not tried it out yet but would like to implement it at work. I had a few questions though:

1) Would it be possible to make the pxe boot default entry be to boot from the pxe client's local hard drive? (We have a bunch of corp servers that many are probably set to pxe boot (this was never an issue because we've never had a pxe server on this corp network), and I'd rather not have them boot into puppy on any reboots... rather than change the boot order on all these Dell servers, I'd like to just have the pxe boot menu boot the client's local hard drive as default). I would imagine this could be accomplished with a simple addition to the default file?

The next 2 questions I haven't researched yet and are likely outside the bounds of your project, and more related to getting the properly customized puppy iso that I need to use; but perhaps someone might have some input.

2) OK, so most of our desktop computers that this would be applicable for are identical with the same NICs, so has anyone ever made a puppy that will auto-dhcp? I always remember having to run the network setup after puppy loads, is there anyway to bypass that and just have puppy auto-sense the correct driver and get a dhcp lease? This would lead to the next question....

3) Once I have an auto-dhcp-lease after pxe-booted into puppy, I'd like to connect to our Windows domain! hehe... preferably, also (this may not be possible I know because you are already logged into puppy as root), I'd like some sort of authentication gui to come up so the user can login with their AD credentials... Anyway I don't think this would even work correctly... I'd imagine I'd have to completely remaster a puppy so that the machine connects to the domain, and then instead of root logging into X, the AD user should log into X... don't really have any idea how to do this part, so any suggestions would be much appreciated.... Thanks!

gcmartin

Assisting user question on PXE with Corporate walls

#78 Post by gcmartin »

pindrop wrote:Wow ...
1) Would it be possible to make the pxe boot default entry be to boot from the pxe client's local hard drive? (We have a bunch of corp servers that many are probably set to pxe boot (this was never an issue because we've never had a pxe server on this corp network), and I'd rather not have them boot into puppy on any reboots... rather than change the boot order on all these Dell servers, I'd like to just have the pxe boot menu boot the client's local hard drive as default). I would imagine this could be accomplished with a simple addition to the default file?

The next 2 questions I haven't researched yet and are likely outside the bounds of your project, and more related to getting the properly customized puppy iso that I need to use; but perhaps someone might have some input.

2) OK, so most of our desktop computers that this would be applicable for are identical with the same NICs, so has anyone ever made a puppy that will auto-dhcp? I always remember having to run the network setup after puppy loads, is there anyway to bypass that and just have puppy auto-sense the correct driver and get a dhcp lease? This would lead to the next question....

3) Once I have an auto-dhcp-lease after pxe-booted into puppy, I'd like to connect to our Windows domain! hehe... preferably, also (this may not be possible I know because you are already logged into puppy as root), I'd like some sort of authentication gui to come up so the user can login with their AD credentials... Anyway I don't think this would even work correctly... I'd imagine I'd have to completely remaster a puppy so that the machine connects to the domain, and then instead of root logging into X, the AD user should log into X... don't really have any idea how to do this part, so any suggestions would be much appreciated.... Thanks!
Introduction
Netbooting is a subsystem that is added to One PC on your LAN. That PC inserts itself on your LAN so that other PCs who use ther PXE will have an OS to boot. Once booted, they will connect and run from services that your LAN provides....NOT FROM THE Netboot server they booted from! There should be one AND ONLY ONE, Netboot server on a single LAN at any given time. The Netboot Guide in this thread should take you about 15 minues (Guessing), including its reading, to be operational.
PXE is a funciton of your PC bios and its startup "HOT" keys. The PC is told in which order it is to "look" fo r boot materials. PXE (your LAN-Network card). It just one of the devices you can select.

I will try to cover your requests, out of order of your questions.
Your qustion #2
When ANY computer PXE boots, its final step is to disconnect from the PXE server at which case it is on its own. Most Puppies will automatically request an IP address from the LAN. If you DO NOT HAVE A DHCP server on your LAN, that Puppy PC will need someone to provide an IP for it to use.

Your qustion #3
If you are using LightHosue64 the SAMBA which you need is built-in and is current. If you use SLACKO or use PUPPY528, use SAMBA 3.61 found in the PPM.

Your qustion #1
There should be ONE AND ONLY ONE Netboot server on any LAN at any time for obvious reasons.

Hope this helps

pindrop
Posts: 3
Joined: Mon 16 Jan 2012, 17:36

Re: Assisting user question on PXE with Corporate walls

#79 Post by pindrop »

gcmartin wrote:Your qustion #1
There should be ONE AND ONLY ONE Netboot server on any LAN at any time for obvious reasons.

Hope this helps
Thanks for those answers. Regarding question 1, I believe you misunderstood what I was asking, or I did not communicate it well. I understand of course that there is only to be one netboot server. My question is related to the boot menu (the one that the netboot server pushes to the pxe client) that the computer that is pxe booting into puppy will see. In said menu, I would want the default entry to be to boot from that computer's local hard drive, IE, NOT to boot into puppy from the netboot server. The reason for this is that we have many many corporate servers where the first boot method is network/pxe, and I would NOT want these corp servers to boot into the pxe-booted puppy when they reboot. Hopefully this is clearer... I think it can be done by just making the default boot entry in the pxelinux.cfg default file to be "localboot 0" or similar.

MagicZaurus
Posts: 107
Joined: Mon 05 Jan 2009, 17:35

Blocking certain PXE clients

#80 Post by MagicZaurus »

From what I remember from the DNSMASQ documentation you are able to filter to which request from which PXE clients to do netbooting the TFTP server replies. If you know the MAC addresses of your corporate servers you can filter them out and not even reply to them.

Your suggestion to have a default entry to boot from the local disk should also be possible. It should work with this in your pxelinux.cfg

Code: Select all

timeout 120
default local
prompt 1

LABEL local
        DISPLAY boot.txt
        localboot 0

LABEL Puppy
...
...

gcmartin

Re: Assisting user question on PXE with Corporate walls

#81 Post by gcmartin »

pindrop wrote:
gcmartin wrote:Your qustion #1
There should be ONE AND ONLY ONE Netboot server on any LAN at any time for obvious reasons.

Hope this helps
Thanks for those answers. Regarding question 1, I believe you misunderstood what I was asking, ...
The Guide that is referenced in the 1st post has a section on Multi-boot.

I am to assume you read the Guide and are asking about the section of the Guide which addresses Multi-Boot and the menu of boot options it gives you after you have setup the Netboot server. In that you ran MultiPUP to create an ISO that has multiple Puppy+nonPuppy Boot distros available for selection.

I'll have to review that section and step thru it again. But, correct me if I'm wrong:
  • Doesn't the menu the PXE PC is getting have the option to boot from your PC's HDD (hard-drive)?
Maybe I'm wrong, but I thought I remembered this to be the case with its menu.

I have to review this again....if you haven't already.

If indeed that is missing, then you will need to use "ISOmaster" to edit the GRUB4DOS config file for the menu in MultiPUP's ISO so that you can choose the HDD's OS. @MagicZaurus offers an entry that may meet your needs in his immediately prior post. Once you have completed the MultiPUP ISO preparation, then you still need to complete the Guide's instructions where you have mkmulti.sh take the MultiPUP ISO and prep it for PCs to NETBOOT from

Hope this helps

gcmartin

#82 Post by gcmartin »

My prior post addresses your request for a Menu selection item.

You are aware that if you simply hit escape when your PC tries to PXE that it will skip PXE. Right?

This needs NO menu changes or anything. PXE setup in your BIOS does not LOCK YOU INTO ONLY PXE.

Hope this helps

Master_wrong
Posts: 452
Joined: Thu 20 Mar 2008, 01:48

#83 Post by Master_wrong »

@gcmartin

maybe he want a menu instead of hitting "esc", and i think for that he need to change the bios ? because the bios is loaded before puppy, and there is nothing we can do from puppy to control how client access pxe unless we use disk or cd image to run the pxe instead of bios.
Cluster-Pup v.2-Puppy Beowulf Cluster
[url]http://www.murga-linux.com/puppy/viewtopic.php?p=499199#499199[/url]

slenkar
Posts: 228
Joined: Sat 11 Jul 2009, 01:26

#84 Post by slenkar »

I followed all the steps but for some reason the netboot server doesnt startup, when I start it in debug mode the window dissappears and nothing else happens

User avatar
puppyluvr
Posts: 3470
Joined: Sun 06 Jan 2008, 23:14
Location: Chickasha Oklahoma
Contact:

#85 Post by puppyluvr »

:D Hello,
I never included an entry for "boot from HDD" in MultiPup`s menus because it is redundant.. Take the CD out.. LOL..
PXE booting is an addition to functionality I never anticipated...
However, a simple grub edit, just before building the ISO would suffice..
If GCMartin can help with a grub selection that works, I will make a pet to add it to MultiPup, until I release an updated version...
Close the Windows, and open your eyes, to a whole new world
I am Lead Dog of the
Puppy Linux Users Group on Facebook
Join us!

Puppy since 2.15CE...

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#86 Post by technosaurus »

Well, I guess this thread is dead now.
http://tech.slashdot.org/story/12/08/10 ... -os-patent
apparently USPTO never heard of "prior art"
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#87 Post by Aitch »

What happened to the 'prior art' principle?
...... it wasn't destroyed by the claim of patent, so I hope it can be traced back, and they get sued!

Aitch :)

gcmartin

PUPPY POWER - Boot as many PCs whenever over LAN

#88 Post by gcmartin »

This thread is still active and flourishing. It works. PXE is a standard that is used in all PC chipsets over the past decade and so.

Couple months back, booted a whole switch full of PCs at the same time as a demo of PUPPY POWER!

JamesBond recently built his FATDOG600+ in such a way as it only needs to be loaded in the TFTP and any 64bit PC on the LAN can boot without running the NETBOOT script. (Instructions are pending his next round of fixes-changes to FATDOG600+.)

Hope this helps

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#89 Post by technosaurus »

I was referring to Google patenting our prior art and killing off innovation, not the traditional "dead thread" ... By the uspto measures, puppy could have a patent portfolio that could compete with the best (or worst) of them.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#90 Post by greengeek »

Hi gcmartin - I have been having a lot of problems with PXE booting a variety of PCs and although most of those may be related to specific hardware designs I do feel that there may be an issue with the dnsmasq and/or server3 pet currently on offer.

Specifically, I have a "Penguin computers Green 731" laptop which would consistently fail the PXE load attempt when using the current pets referred to in the google docs (it would hang after searching for the "default", but this was not an issue with location or structure of that file). I found I was able to succeed with a PXE load only when I used the server that jrb had built into PupServer435TNG. TNG version of PupServer found here:
http://www.murga-linux.com/puppy/viewto ... 6&start=44
(However that PXE server version had a bug which did not allow the client PC to surf the web after booting if the PXE server was still on line...)

I have found a way to make the server3 pet work, but I don't fully understand the ramifications of what I have found - except that there may be other people who have stumbled against this issue too. I think maybe some hardware cannot cope with the specified "tftp-prefix" and/or the design/location of the pxelinux.0 file

I have documented this here:
http://www.murga-linux.com/puppy/viewto ... 753#651753

jrb mentions another solution which retains the PupServer435TNG server and involves installing a different version of the dnsmasq pet. I would welcome your opinion if you have time, as I believe I am using the correct pets you have specified and wonder if there may be some benefit in using jrb's server and dnsmasq pet (possibly for all puppies...), or at least working out why the server3 pet creates a pxelinux.0 file that is incompatible with some machines.

EDIT: just confirmed identical behaviour when using Akita8, so not just an issue with PupServer

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#91 Post by greengeek »

Also...if anyone has a suggestion for the best way to view the contents of the pxelinux.0 file (which seems to be ascii) I would be keen to understand the structure of it. Leafpad and Geany don't seem to be the right way (unless I'm using them wrong...)

gcmartin

#92 Post by gcmartin »

Hi @Greengeek. this understanding "may" help your current troubles.

The prime problem I have ever had with the PXE subsystem's use has been the PXE client's microcode not being current/not having correct Intel compliance.

That's my only problem. I have NOT encountered any problem with 2006+ PCs.

That being said, I have NOT encountered a problem with specific distros.

There are 2 movements currently underway and should provide some possible release (although, the changes are more cosmetic versus structural changes.). They "may" have a positive impact for you.

The 2 are a change in the document that is used to be more up to date with the PPM changes that has occurred in Puppy Linux, where DNSMASQ is concerned. And, there is a new Netboot Script under development that will make use of Netbooting a "little" (maybe a lot) more intuitive.

Please give a couple days to see the 2 items hit the forum.

Lastly, if you don't mind and think it useful, I will post my FATSlacko CD's ISO that has a working Netboot subsystem for you to test as a PXE server on your LAN. If you feel it will help, check your PM for instructions. I have been using FATSlacko since its release as a NAS, a Netboot server and a desktop since its community availability. The ONLY thing ever installed-added was the Netboot server because everything else was already present. In fact, I also have employed LightHouse64, similarly. In each's case, I found these 2 distros to deliver very suitable functionality OOTB where Netboot was the only subsystem added and available for use via the desktop.

Let me know if this helps until the arrival of the upgraded Netboot PET and more current instructions updates when using it.

Here to help

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#93 Post by greengeek »

Thanks GC. I am making progress with my PXE trials... and I have a question for anyone who may be able to help me with the set up of the netboot-server-jb.sh script:

I have modified the script so that it runs automatically in debug mode without asking me which mode I want to use, and this is working correctly but I don't know how to tell it to use a "minimised window".

My modification is that I "comment out" some lines at the bottom of the script:

Code: Select all

# how to run it
	run_dnsmasq_debug ;
#MODE=$(Xdialog --title "Netboot Server" --no-tags --menubox "How do you want to start the server?" 0 0 3 "normal" "Normal" "debug" "Debug Mode" 2>&1)
#case "$MODE" in 
#	normal) run_dnsmasq_normal ;;
#	debug) run_dnsmasq_debug ;;
#	*) exit 1 ;;
but I wonder if it is possible to insert an extra parameter further up, in the "function run_dnsmasq_debug section so that it starts with minimised window??

Code: Select all

# run dnsmasq with debug flag set, capture output in a window
function run_dnsmasq_debug() {
	run_dnsmasq -d
	Xdialog --title "Netboot server" --backtitle "Running server in debug mode. Click cancel to quit and stop server." --no-ok --tailbox /tmp/dnsmasq-debug.log 20 100
	kill $DNSMASQ_PID
	return 0
}
I have no actual knowledge of what language this script is using, I am just a cautious tinkerer. I am hoping there is some way the Xdialog window can be opened in a "pre-minimised" state - which sort of goes against the whole purpose of bringing up a dialog window, but maybe there is a way??

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#94 Post by greengeek »

slenkar wrote:I followed all the steps but for some reason the netboot server doesnt startup, when I start it in debug mode the window dissappears and nothing else happens
This sounds like the symptom I get if I start the netboot server without the network cable being plugged in, or when there is some problem with the router / dhcp server not offering an IP address. Could that be the problem you are having?
.

slenkar
Posts: 228
Joined: Sat 11 Jul 2009, 01:26

#95 Post by slenkar »

i got it to work on a different distro thanks

Post Reply