Beyond PXE, cloud PXE --- SOLVED

Under development: PCMCIA, wireless, etc.
Message
Author
User avatar
drspastic
Posts: 90
Joined: Fri 29 Aug 2008, 09:03
Location: ruse, bulgaria

still though....

#16 Post by drspastic »

the netbootme.usb image seems to boot on any old tosh and works well. but no puppy on the menu still.
can a few more of us lobby the guys on the netbootme forum to get some puplets added to the menu as standard. they have tinycore, and the very slick slitaz, but we just miss the dog.

c7jaff
Posts: 13
Joined: Mon 07 Feb 2011, 19:29

#17 Post by c7jaff »

This worked for me. It was much easier than PXE and I could do it in a sitting and booted to CD.

It only worked on the PC I made it with though. I used the rom o matic and chose ISO which I burned to CD. I then put the 2 needed files for each OS on my web site. The pup files were run through mknetboot.sh. I grabbed the tinycore files as they were and they loaded the quickest. netboot.me has a good iso for that. I also used the following code (for puppy 511) in the last rom o matic text area as mentioned in previous posts:

#!gpxe
dhcp net0
kernel http://mysite/vmlinuz
initrd http://mysite/initrd.gz
boot

It works but takes 60-90 minutes for my largest puppy file to load into RAM. The "initrd.gz" is 177 MB and that's probably why...but I still don't know what the bottleneck is. Is it a limitation of my bios or gpxe? Does anyone know? I have a 100 Mbps network. Downloading or copying that file only takes less than a minute in Windows or Linux when not using gpxe.

The tinycore files are these sizes and only take a couple of minutes to load:

tinycore.gz (8.9 MB)
bzImage (1.9 MB)

gcmartin

#18 Post by gcmartin »

c7jaff wrote:This worked for me. It was much easier than PXE and I could do it in a sitting and booted to CD.

It only worked on the PC I made it with though. I used the rom o matic and chose ISO which I burned to CD. I then put the 2 needed files for each OS on my web site. The pup files were run through mknetboot.sh. I grabbed the tinycore files as they were and they loaded the quickest. netboot.me has a good iso for that. I also used the following code (for puppy 511) in the last rom o matic text area as mentioned in previous posts:

#!gpxe
dhcp net0
kernel http://mysite/vmlinuz
initrd http://mysite/initrd.gz
boot

It works but takes 60-90 minutes for my largest puppy file to load into RAM. The "initrd.gz" is 177 MB and that's probably why...but I still don't know what the bottleneck is. Is it a limitation of my bios or gpxe? Does anyone know? I have a 100 Mbps network. Downloading or copying that file only takes less than a minute in Windows or Linux when not using gpxe.

The tinycore files are these sizes and only take a couple of minutes to load:

tinycore.gz (8.9 MB)
bzImage (1.9 MB)
@c7jaff, what you've done looks great. Its, yet another, way for any of us to setup a facility for a local PC to boot using PXE technology.

If I can contrast your method with the current Netboot method, current Netboot does NOT require anything on the local PC for it to boot, whereas, your method requires a "minimal starter on that local PC for it to boot.

Your question
I notice you saying 60-90 minutes...you mean 60-90 seconds, right? Even with the largest OSs I have worked with, it doesn't take much longer than booting from a CDROM (worst case 1-3 minutes with progress showing on the local PC's screen). So, I am assuming you do mean seconds, RIGHT?

If I understand your question, its asking WHY is netbooting technology so slow in comparison to say, "copying a file from one place on the network to another"? I don't know the answer to that, but it is an interesting question.

I have been using netboot technology for about 15 years, on various platforms, and I have alway told everyone that "When you come to work, turn on your PC, and go get your coffee. When you get back, your PC will be ready for work." Seems to still apply, for me, no matter Puppy/Linux/Microsoft/AIX/etc.

THANKS for showing us your structure for "support and booting" from a webpage.

Hope this helps

c7jaff
Posts: 13
Joined: Mon 07 Feb 2011, 19:29

#19 Post by c7jaff »

You're welcome and your post was helpful.

It takes 60-90 minutes! I missed out moving the mouse the last few times the screensaver was to kick in so I don't know for sure. I was thrilled anyway when it worked. It may be by default accessing my on board NIC which has failed and only trickling data through. I also have a PCI NIC on the PC which works great but is probably not the default. The PCI NIC is what's used once I boot up and it gives me no problems. I think the latter has come up as anything from eth2 to eth6 on various Linux OS's. Haven't figured out why yet. That problem probably prevented me from getting my NFS persistent boot to work which finally worked using another server. I'll work on trying this gPXE HTTP boot with another PC.

BTW - to boot the same puppy files (using failed on board NIC PC as server & a laptop as client) via PXE it only takes 5 minutes or less.

What's the "current Netboot" method? Is it PXE using DHCP and TFTP? If not, what's the distinction?

gcmartin

#20 Post by gcmartin »

c7jaff wrote: ... What's the "current Netboot" method? Is it PXE using DHCP and TFTP? If not, what's the distinction?
Current method is simple. It is also described in the document we made for you in this thread.

Anyway, you can use ANY PC that has a LAN card as your PXE server.

For the machine you will boot:
  • To keep its use simple, it is REQUIRED to have a PC with its NIC on the MB.
  • And,
    • it is also REQUIRED to either use the PC's selection menu for telling it to boot using its NIC as the first device
    • OR you must enter the BIOS of the PC and tell it to boot using its NIC as the first device.
That's it. Its pretty simple.

If you need help with that process or have question on that process, post there and someone will help.

Hope this helps

c7jaff
Posts: 13
Joined: Mon 07 Feb 2011, 19:29

#21 Post by c7jaff »

You're right. It is simple. I got this going quicker than any of my other PXE systems. I just loaded Netboot-Server pet and dnsmasq. I got dnsmasq from jamesbond's Thu 03 Feb 2011, 10:20 post: http://www.murga-linux.com/puppy/viewtopic.php?t=64107 - it wasn't in the Google Docs "PXE - Netbooting using PUPPY Linux". I recommend that anyone who tries PXE should first attempt this current Netboot method using Puppy Linux as the server.

This also seems to boot faster than any other netboot I've done. I took it a step further and placed other Linux OS's in /root/tftpboot/pxelinux.cfg/ by changing the /root/tftpboot/pxelinux.cfg/default file to contain:

include menu.cfg
default vesamenu.c32
prompt 0
timeout 0

Now I have a menu to select multiple OS's. I used some files from another Linux live PXE install. The files I used are:

/root/tftpboot/pxelinux.cfg/menu.cfg (points to stdmenu.cfg and txt.cfg)
/root/tftpboot/pxelinux.cfg/vesamenu.c32
/root/tftpboot/pxelinux.cfg/splash.png (background graphic)
/root/tftpboot/pxelinux.cfg/stdmenu.cfg (fonts and colors)
/root/tftpboot/pxelinux.cfg/syslinux.cfg
/root/tftpboot/pxelinux.cfg/txt.cfg (this has the multiple OS choices)

txt.cfg:

label tinycore2.2
menu label tinycore2.2
kernel tinycore2.2/bzImage
append initrd=tinycore2.2/tinycore.gz

label junk511script
menu label junk511script
kernel junk511script/vmlinuz
append initrd=junk511script/initrd.gz loglevel=7 PDEV1=tmpfs


Going back to the separate 60-90 minute rom o matic gPXE http boot time issue: I also tried it on a PC with a working on-board NIC and it took exactly 90 minutes. It looks like it's the same regardless of the PC. The initrd.gz is 177 MB.

gcmartin

#22 Post by gcmartin »

c7jaff wrote:I recommend that anyone who tries PXE should first attempt this current Netboot method using Puppy Linux as the server.

This also seems to boot faster than any other netboot I've done. I took it a step further and placed other Linux OS's ... .
Glad to see its helped you.

You may have noticed that there is a section of that document that guides in setup for a multi-boot selection automaitically for you as well. That section should reduce all manual efforts to have a LAN PC select which distro you want to boot.

Finally, there is some polishing that has been discussed about advancing this for LAN administrators who run Puppy that want to have PCs on the LAN boot particular distros and to do session saves. There are various approaches that have been tossed around without any clear winner just

Hope tthis additional information helps you meet your requirements
P.S. Thanks for the web-page reference error information you provided

Post Reply