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

How to do things, solutions, recipes, tutorials
Message
Author
c7jaff
Posts: 13
Joined: Mon 07 Feb 2011, 19:29

#16 Post by c7jaff »

Yes, it helps, thanks. You're welcome gcmartin.
...But, today, there has not been any save-session feature provided to this service. We need that AND I believe that someone will address that in this facility's future.

JamesBond has attempted to "inspire" us on how to do this, but, participation and maybe understanding is lacking on an approach to do this.
Count me in for testing if that helps as long as my netboot systems are still running. I have 3 of them now but they don't work at the same time. I finally got the persistent NFS boot to work as outlined in the DisklessUbuntuHowto on the 3rd try. The first 2 times I used the alternative method and Ub 10.10, the final time I used the non-alt method and Ub 11.04 and that worked. It saves data back to the server. It takes a long time to boot, but not as long with a gigabit network system. I think the main dir it uses on the server: /nfsroot/<clientusername> is several GB's. 4.55 GB? I don't know how much of that it needs to send over PXE but any puppy has got to be smaller. This may not be the greatest argument for investing time in enabling a persistent puppy PXE boot but I like puppy's small size and capabilities and think it would be ideal for such a project.

For that NFS boot, provided the server is already setup and working, some boot settings are changed on the client machine's OS (in initramfs.conf), a tool to create a new initrd.img is run, and then the client OS is copied back to the server over NFS. The client OS is then removed from the client machine and that machine is rebooted and success! It's basically an NFS remote install intended for PXE booting. Maybe a similar approach would work with puppy?

At the moment if this could somehow work, I personally wouldn't care if it wouldn't accommodate multiple puppy distros or multiple puppy users.

These posts mention persistency - pupsave. I can already PXE boot puppy and save back to a USB drive. I'd like to eliminate the USB drive. sshfs or cifs is mentioned over nfs due to separating accts. I'll keep returning to the posts:

http://www.murga-linux.com/puppy/viewto ... 2&start=15
http://www.murga-linux.com/puppy/viewtopic.php?t=65232

Also, a comment from 'Oliver' here https://help.ubuntu.com/community/DisklessUbuntuHowto may suggest that the LTSP framework could enable replacement OS install if removing the Ubuntu install from the LTSP dir and replacing it - unless my interpretation is wrong. I just don't see how that would tie into the accts on that server if replacing that package with something like puppy though. Maybe he's only talking about Ubuntu desktop.

ShellyCat
Posts: 39
Joined: Fri 13 May 2011, 05:38
Location: USA

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

#17 Post by ShellyCat »

Hi! This is my first time trying PXE. The BIOS on my laptop is screwed up and I cannot boot from CD or USB (no floppy, but I'm sure results would be the same). Priority is recovering personal files from "Documents" partition on the hard drive. For PXE, I am following Procedure 1 (Basic) in this document:

[quote="gcmartin"]Here’s how you do it for both 32bit and 64bit Puppies and FATDOG:
Open this document;Swing down to “implementation Basic
Puppy Distro: [url=http://openlab.jp/puppylinux/download/quickset_puppy/]pup-431JPqs3 "Quickset Puppy Linux (Japanese/English bilingual)"[/url]
Previous distros: Slackware (preferred), Fedora Core 6 (in school), Ubutntu (not much)

gcmartin

#18 Post by gcmartin »

@ShellyCat
No, your server and PC positioning does NOT have any impact on the service that Netboot delivers. So, you have a correct LAN arrangement for your PC to be able to reach the Netboot server.

I going to guess that if you have inadvertently started a firewall, this may be the thing that is NOT allowing your Netboot server to be contacted by your PC. Turn off you Puppy F/W. Beside, your Linksys router does a very effective job of firewalling your complete LAN. If it will make you feel more compfortable after you get your Netboot PC booting, you can appeal to this community for configuring your F/W back on so that it doesn't get in the way.

Once you have run the
  • mknetboot.sh script and
  • started your Netboot server (in Diagnostic mode; it should have asked you on netboot server start)
any PC, including those with "bad" MB NIC support will have messages showing on both the server Netboot status window as well as your PC console.

Questions
  1. Which PUP are you running your Neboot server on?
  2. And which PUP ISO did you feed the mknetboot.sh script with?
More Info
On the netboot (PXE) PC that will be trying to boot, when powered-on, you will see immediately after BIOS start:
An announcement of invoking PXE (sometimes, with the PXE version number)
a PXE Bootrom version announcement
a "CLIENT MAC ADDRESS" announcement
DHCP start up where your PC is trying to find your Netboot server

And on your netboot server, you will see it servicing that PC in its Netboot status window.

Code: Select all

dnsmasq: started, version 2.55 DNS disabled
dnsmasq: compile time options: IPv6 GNU-getopt no-DBus no-I18N DHCP TFTP
dnsmasq-dhcp: DHCP, IP range 192.168.143.110 -- 192.168.143.200, lease time 1h
dnsmasq-tftp: TFTP root is /root/tftpboot 
dnsmasq-dhcp: DHCPDISCOVER(eth1) 00:e0:4c:bf:28:a6 
dnsmasq-dhcp: DHCPOFFER(eth1) 192.168.143.150 00:e0:4c:bf:28:a6 
dnsmasq-dhcp: DHCPREQUEST(eth1) 192.168.143.150 00:e0:4c:bf:28:a6 
dnsmasq-dhcp: DHCPACK(eth1) 192.168.143.150 00:e0:4c:bf:28:a6 
dnsmasq-tftp: sent /root/tftpboot/pxelinux.0 to 192.168.143.150
   o
   o
   o
   o
Hope this helps
Attachments
Start netboot server like this after running mknetboot.sh script.png
After running mknetboot.sh, start your Netboot server in Debug mode
(128.44 KiB) Downloaded 2760 times
Netboot server status window.png
After running &quot;mknetboot.sh&quot; and starting the netboot server in Debug mode
(17.24 KiB) Downloaded 2725 times

ShellyCat
Posts: 39
Joined: Fri 13 May 2011, 05:38
Location: USA

#19 Post by ShellyCat »

I was able to do my first PXE boot! Now Puppy and Pburn are happily burning my files to DVD!

Thank you so much for your help, gcmartin. The other PXE solutions look pretty scary! However, I have some questions for the future, if you don't mind. Also, some errors on the PXE server which may be normal or not: can you tell me?

netboot-server (PXE server) output, not verbatim!

Code: Select all

DHCP ip range 192.168.1.100-192.168.1.200 lease 1 hr
eth0 00:a0:d1:63:46:8d
offered 192.168.1.172
requested 192.168.1.172
error 0 TFTP Aborted received from 192.168.1.172
failed sending /root/tftpboot/pxelinux.0 to 192.168.1.172
sent /root/tftpboot/pxelinux.cfg/default to 192.168.1.172
(ditto for vmlinuz and for initrd.gz)
FYI, PXE server and image being served are both Quickset. I'm using Puppy live to back up documents before I do anything else! (Like testing hard drive, then flashing BIOS from hard disk but using PXE to do it...fun, no?)
gcmartin wrote:No, your server and PC positioning does NOT have any impact on the service that Netboot delivers. So, you have a correct LAN arrangement for your PC to be able to reach the Netboot server.
Thank you. I was more worried about possible conflicts between the router's DHCP and Puppy PXE server's. Other solutions implied as much. Does your program check automatically? Or is it still possible to have DHCP conflicts?
gcmartin wrote:I going to guess that if you have inadvertently started a firewall, this may be the thing that is NOT allowing your Netboot server to be contacted by your PC.
Apparently, it was just lack of re-starting Netboot-Server. It was already running. (Turned on by "mknetboot.sh" I presume?) So apparently Quickset Puppy does not turn on a Firewall by default, thank goodness.
gcmartin wrote:Beside, your Linksys router does a very effective job of firewalling your complete LAN.
Very common misconception.

They will tell you at Best Buy that a home switch/router has a firewall, when all it has is Network Address Translation. (Best Buy salespeople are technically clueless, and when I bought my Linksys device 10-11 years ago, so was I.) NAT has nothing to do with firewalls. Try using one with Windows XP and no firewall -- you'll get a trojan in minutes!
Puppy Distro: [url=http://openlab.jp/puppylinux/download/quickset_puppy/]pup-431JPqs3 "Quickset Puppy Linux (Japanese/English bilingual)"[/url]
Previous distros: Slackware (preferred), Fedora Core 6 (in school), Ubutntu (not much)

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

#20 Post by c7jaff »

Info to share on 3rd persistent diskless Netboot success:

In addition to getting Ubuntu to work with LTSP and a persistent NFS net boot, I also got Tinycore 3.5.1 and 3.7.1 to work with a persistent NFS Netboot (http://wiki.tinycorelinux.net/wiki:netbooting). It was so much easier than the Ubuntu NFS install. For Tinycore, all you need is the PXE default code (2 blocks provided) below once the server is setup...and also place 2 files (bzImage & tinycore.gz) in their own /tftproot sub dir. I used the same server that worked with the first NFS Netboot. It saves all your work, apps, and even the shell history into a /tce/ NFS sub dir. In the attachment you can see the default settings on the desktop when shutting down. These save session data back to the server.

Things to note here are: nfsmount= and tce=

label tc371
menu label tc371
kernel tc371/bzImage
append initrd=tc371/tinycore.gz nfsmount=192.168.x.x2:/nfsroot/tc371 tce=nfs/tce
# bzImage & tinycore.gz live on /tftproot/tc371,
# tce dir where files are saved to reside on /nfsroot/tc371/tce

label tc351-use
menu label tc351-use
kernel tc351/bzImage
append initrd=tc351/tinycore.gz nfsmount=192.168.x.x1:/nfsroot/tc351 tce=nfs/tce
# bzImage & tinycore.gz live on /tftproot/tc351,
# tce dir where files are saved to reside on /nfsroot/tc351/tce

This OS was finicky though. Many directions I followed didn't work as written but I eventually got this going. Applications are called extentions. Firefox didn't work for me but Opera did. The total OS was less than 10 MB but once I added Opera, Gedit, and a few utils, the total space used was well over 30 MB. I tried about 5 versions of the OS but v 3.5.1 and v 3.7.1 were the best for me. v 3.5.1 was probably the most stable. The Netboot only worked in persistent mode on half of my PCs. For some reason NFS mounting didn't work on all of them. Of course, I'd love to do the same with Puppy somehow. If this does happen with Puppy, I envision it being done in a similar way.
Attachments
tc-nfs-save2.png
Screen pic of default session save options from desktop
(26.6 KiB) Downloaded 2599 times

gcmartin

#21 Post by gcmartin »

ShellyCat wrote: ... I have some questions for the future, if you don't mind. Also, some errors on the PXE server which may be normal or not: can you tell me? ...

Code: Select all

DHCP ip range 192.168.1.100-192.168.1.200 lease 1 hr
eth0 00:a0:d1:63:46:8d
offered 192.168.1.172
requested 192.168.1.172
error 0 TFTP Aborted received from 192.168.1.172
failed sending /root/tftpboot/pxelinux.0 to 192.168.1.172
sent /root/tftpboot/pxelinux.cfg/default to 192.168.1.172
(ditto for vmlinuz and for initrd.gz)
.
This indicates that your PC is NOT able to receive/process past the startup file. Appears that you PC is being served by your server, but your PC is stopping for some reason. I have seen this and most often times this is due to a firmware upgrade needed for the MB or the NIC on the MB. Contact the PC manufacturer for that fix.

In the meantime, try another PC or laptop.
ShellyCat wrote: ... Other solutions implied as much. Does your program check automatically?
I don't believe JamesBond built that in. I think he just picked a range and ran with it. There are some other more technical details that would be topic for another thread about the PXE protocols.
ShellyCat wrote: Or is it still possible to have DHCP conflicts?
NO! As I mentioned that is a topic for a different thread. Has to do with LAN protocols.
ShellyCat wrote: ... Very common misconception. ,,,
You mentioned that Firewall are essential on PCs but, yet, you haven't been running one on your PUP. Don't mean to burst any bubbles, but your PUP isn't infected with trojan, now is it? So, maybe you've just learn a little for investigation on your part about why M$ does and PUPs don't. (On this F/W topic, let's NOT discuss that here . PXE and Netbooting has little to nothing to do with Firewalls. I ONLY mentioned it because, sometimes, F/Ws can introduce issues and I wanted to rule those issues out in helping you.)

In short, IFF you have a PXE PC that is functioning properly, that PC will boot over your LAN without you ever doing anything other than telling it to use its Network for booting.
Hope this helps

gcmartin

#22 Post by gcmartin »

WOW @c7jaff

Seems you have gotten the Netboot "bug". Good for you and for us, as you are showing us a different way we hadn't approached. Maybe good idea to start a separate thread on your accomplishments.

As I understand it, you have built a Ubuntu server that is running LTSP supporting PXE clients that get a multimedia desktop running on the Ubuntu server. This an excellent way of providing PC users their own Login with PC services to handle everything they need as if everything they were doing is on their local PC that they are sitting at.

This is called a "Terminal Server". Ubuntu+LTSP does a fabulous job of doing this for simultaneous PCs and users over your LAN. They are use the server and happily do not know they are running on the same PC.

In addition to your Terminal Server, you are also using your Ubuntu Terminal Server which has a Netboot feature. That Netboot feature you are using to allow your PXE PCs to boot other OSs (Tinycore), as well. This is so that some PXE PCs can run its own standalone OS coming from the Netboot server, versus running on the Ubuntu Terminal Server. Once those PCs boot, they will disconnect from the server as they are truly standalone without any need for the server to operate. Whereas the other PXE PCs are dependent on getting their desktop services on the Ubuntu server once they login.

Did I understand you correctly?

This is an outstanding effort. Its not just a Netboot server, its also a Terminal server. Your centralized system is what the rest of us to consider "to die for". And I, for one, am interested in what steps you took to get to this.

Very Good! I'll be looking forward to your Thread which brings all of this together.

Thanks.

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

#23 Post by c7jaff »

Does a thread on persistent Netboot clients exist? If not, I can start one.

That's mostly correct except that it's not so centralized. I couldn't get PXE clients to boot from the LTSP server without disabling DHCP if I recall correctly. There was a specific LTPS setting in the setup and I know I disabled it and then PXE booting worked. I've listed my 5 systems with the hopes that it explains this better.

I've had a lot of possible DHCP and dnsmasq conflicts. Some are/were incorrect DHCP settings. Many are remnants from failed attempts. Sometimes dnsmasq doesn't want to shut down. As a solution I have setup a separate router on a closed system for testing and that stopped the problems that I haven't determined the cause of. VM's help too when I run out of hardware.

It's also getting tougher to keep track of the Netboot systems and their features. System 2 was copied, modified, and made into System 3 so now both exist. These are what I have but they can't run at the same time:

System 1:
Samba Server, TFTP, and DNSMasq all on DD-WRT router --> supports several diskless clients, incl Puppy, DOS 6.22 and Ploplinux. Ploplinux uses the Samba login (all are read-only OS's).

System 2:
Ubuntu LTSP Server --> supports diskless Ubuntu LTSP clients/logins which are persistent.

System 3:
Ubuntu PXE Server with NFS share --> supports diskless read-only clients: Puppy, Ubuntu live, etc. Also supports: Ubuntu NFS install which is persistent and Tinycore which is also persistent.

System 4:
More of a firmware and not really a system: read-only gPXE cloud/http booting Puppy and Tinycore

System 5:
Puppy PXE Server (Netboot-Server pet & dnsmasq) --> supports diskless read-only clients: Puppy, Tinycore, etc.

gcmartin

#24 Post by gcmartin »

c7jaff wrote:Does a thread on persistent Netboot clients exist? ... etc.
Thanks for sharing your usage.

I PM'd you. Check your PM

ShellyCat
Posts: 39
Joined: Fri 13 May 2011, 05:38
Location: USA

#25 Post by ShellyCat »

gcmartin wrote:
ShellyCat wrote: ... I have some questions for the future, if you don't mind. Also, some errors on the PXE server which may be normal or not: can you tell me? ...

Code: Select all

DHCP ip range 192.168.1.100-192.168.1.200 lease 1 hr
eth0 00:a0:d1:63:46:8d
offered 192.168.1.172
requested 192.168.1.172
error 0 TFTP Aborted received from 192.168.1.172
failed sending /root/tftpboot/pxelinux.0 to 192.168.1.172
sent /root/tftpboot/pxelinux.cfg/default to 192.168.1.172
(ditto for vmlinuz and for initrd.gz)
.
This indicates that your PC is NOT able to receive/process past the startup file. Appears that you PC is being served by your server, but your PC is stopping for some reason. I have seen this and most often times this is due to a firmware upgrade needed for the MB or the NIC on the MB. Contact the PC manufacturer for that fix.
Thanks. I suppose the only reason Puppy worked over PXE is how it is contained in just a couple of files.

On another note, I cannot surf the web with the currently running Puppy on the PXE client...Puppy doesn't recognize my NIC, even though the NIC worked to download Puppy from the PXE server!

I was just going to try using PXE to serve up Slackware now, but you have swayed me to hold off until I try a BIOS upgrade on the client first (to see if I get the same errors). Otherwise, I might end up with a Slackware install that will never complete because it is only able to download the "setup" program!

I already backed up my data and wiped the install partition on the client. Puppy is still running there...I did not shut down the computer once I got it booted with PXE'd Puppy.

Thank you for the very-easy PXE setup! It's great work!

I need to redo my PXE server here because I started a clean Puppy while trying different ways to install Firefox....

...then I'll try doing the BIOS upgrade via PXE...

...after I wipe the rest of the client hard drive in case the laptop gets fried and I need to dispose of it.
Puppy Distro: [url=http://openlab.jp/puppylinux/download/quickset_puppy/]pup-431JPqs3 "Quickset Puppy Linux (Japanese/English bilingual)"[/url]
Previous distros: Slackware (preferred), Fedora Core 6 (in school), Ubutntu (not much)

gcmartin

#26 Post by gcmartin »

Hi @ShellyCat.

Is it true that you were able to get at least one PC on your LAN to startup from the PXE server? Let us know.
ShellyCat wrote: ... On another note, I cannot surf the web with the currently running Puppy on the PXE client...Puppy doesn't recognize my NIC, even though the NIC worked to download Puppy from the PXE server!....
Sounds like the system did NOT figure out your NIC.
  1. Did you try the "Connect" icon on your desktop? If so, open a terminal/console and post the output of "ip address".
  2. Which Puppy distro's ISO did you PXE out to the client? Maybe I can have a look to try to help.
ShellyCat wrote: ... I was just going to try using PXE to serve up Slackware now, but you have swayed me to hold off until I try a BIOS upgrade on the client first (to see if I get the same errors). Otherwise, I might end up with a Slackware install that will never complete because it is only able to download the "setup" program!....
I cannot help with Slackware, as I've never used it. It might be best to do the following:
  1. Go here, and work with that thread to generate a MultiPUP ISO that boots your Slackware version.
  2. Once you have your MultiPUP ISO, look in the Netboot document at Implementation #3. It shows the script in Netboot that will let you PXE a MultiPUP ISO out to PCs on your LAN. Any PC that starts via PXE will get a GRUB4DOS menu allowing you to select the distro you want to boot.
Simple.
ShellyCat wrote: ... I already backed up my data and wiped the install partition on the client. Puppy is still running there...I did not shut down the computer once I got it booted with PXE'd Puppy.....
ShellyCat wrote: ... I need to redo my PXE server here because I started a clean Puppy while trying different ways to install Firefox....
I have been running my PXE server on a LiveCD system since the beginning. I have never installed Puppy on any PC...ever...since starting in 2007. I continue to enjoy successful sustained operations without any problems. My point of view for my selection of Puppy Linux is that I can operate the system from Live media AND my HDD (permanent media) is for my "data needs only"
ShellyCat wrote: ... ...then I'll try doing the BIOS upgrade via PXE...

...after I wipe the rest of the client hard drive in case the laptop gets fried and I need to dispose of it.
@ShellyCAT, I know you don't really mean this. I'm at a loss for what technology exist to do a BIOS upgrade from any PXE. I have no awareness of this ability???

Hope this helps.

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

#27 Post by Aitch »

Here's one example of bios update via PXE...it may need changing to suit your hardware, but the principle is there

http://kahrn.com/blog/2008/02/flashing-a-bios-via-pxe/

Aitch :)

ShellyCat
Posts: 39
Joined: Fri 13 May 2011, 05:38
Location: USA

@gcmartin

#28 Post by ShellyCat »

Hello, again! Thank you for trying to help me troubleshoot, gcmartin. I haven't had time to check back until now.
gcmartin wrote:Hi @ShellyCat.

Is it true that you were able to get at least one PC on your LAN to startup from the PXE server? Let us know.
Thankfully, I did not have a problem PXE-ing, I just wondered if those server errors might cause a problem before doing more with PXE. (I imagine there was no problem with Puppy because it's only 2 files.)
gcmartin wrote:
ShellyCat wrote: ... On another note, I cannot surf the web with the currently running Puppy on the PXE client...Puppy doesn't recognize my NIC, even though the NIC worked to download Puppy from the PXE server!....
Sounds like the system did NOT figure out your NIC.
  1. Did you try the "Connect" icon on your desktop? If so, open a terminal/console and post the output of "ip address".
  2. Which Puppy distro's ISO did you PXE out to the client? Maybe I can have a look to try to help.
"Configure" won't work because it's telling me no NIC module was loaded. I tried auto-probe, and that didn't work either. Even "ifconfig eth0" told me no network device was found. I'll put this matter off until after the BIOS update.

F.Y.I. I am PXE-ing the same Puppy as the server, Quickset Puppy Linux 4.3.1.

It has been my experience (even more with Linux than Windows) that drivers sometimes don't load from a live or install CD, but yet they get installed and loaded during a normal boot from hard disk! My "working theory" is that either imperfect hardware detection or timing out too early (or both) is the culprit. Of course, ocassionally it's a CD-read error (in which case a reboot usually solves it unless you have an old CD drive easily confused by minor errors). If the problem is solved with a full HDD install of Puppy (which I suppose I should test, just for kicks), then I'll investigate what was loaded for drivers.
gcmartin wrote:
ShellyCat wrote: ... I was just going to try using PXE to serve up Slackware now, but you have swayed me to hold off until I try a BIOS upgrade on the client first (to see if I get the same errors). Otherwise, I might end up with a Slackware install that will never complete because it is only able to download the "setup" program!....
I cannot help with Slackware, as I've never used it. It might be best to do the following:
  1. Go here, and work with that thread to generate a MultiPUP ISO that boots your Slackware version.
  2. Once you have your MultiPUP ISO, look in the Netboot document at Implementation #3. It shows the script in Netboot that will let you PXE a MultiPUP ISO out to PCs on your LAN. Any PC that starts via PXE will get a GRUB4DOS menu allowing you to select the distro you want to boot.
Simple.
Thank you for those links! I'll try a BIOS upgrade first to see if I still get those errors on the PXE server on a sucessful PXE again. If they still happen, perhaps I'll go ahead with MultiPup-ISO anyway and see what happens. Plus several members here or in LinuxQuestions (can't remember which) had my original Toshiba problem (won't boot from anything but the hard drive), and one said he thinks Toshibas develop BIOS problems with this symptom. So I need to try a BIOS update over PXE, regardless.
gcmartin wrote:I have been running my PXE server on a LiveCD system since the beginning. I have never installed Puppy on any PC...ever...since starting in 2007. I continue to enjoy successful sustained operations without any problems. My point of view for my selection of Puppy Linux is that I can operate the system from Live media AND my HDD (permanent media) is for my "data needs only".
This is what convinced my to try Puppy, and I'm so glad I did! (I've been a die-hard Slacker for several years.) I already figured out how to create my own "manual restore points":
  1. Reboot Puppy, running completely from RAM.
  2. Rename the current save file to describe important system changes you want to keep.
  3. Copy the save file and rename it to the new things you want to do.
  4. Reboot, use the new save file, and do your next system project.
  5. If things fail and you don't know what you did wrong, delete it, and when you reboot, Puppy will be "restored" to the old one!
Very cool! Probably other people have done this but it's a revelation to me!
gcmartin wrote:@ShellyCAT, I know you don't really mean this. I'm at a loss for what technology exist to do a BIOS upgrade from any PXE. I have no awareness of this ability???
Something I saw on these forums. Hopefully I bookmarked it. I'll be looking into it momentarily. Oh...I see Aitch posted a link, too. Thank you, Aitch
Puppy Distro: [url=http://openlab.jp/puppylinux/download/quickset_puppy/]pup-431JPqs3 "Quickset Puppy Linux (Japanese/English bilingual)"[/url]
Previous distros: Slackware (preferred), Fedora Core 6 (in school), Ubutntu (not much)

ShellyCat
Posts: 39
Joined: Fri 13 May 2011, 05:38
Location: USA

BIOS flash over PXE

#29 Post by ShellyCat »

Sorry gcmartin, it was on LinuxQuestions.org that I heard of flashing BIOS over PXE.

Here are 3 useful links (one given by Aitch): I'd be curious to know if anyone else has tried these methods. I'm going to try Terry Burton's. It looks simple. The user on LQ never went so far as to actually flash the BIOS, and kharn's uses TFTpd32 which I won't be using, so would require changes.

I found a BIOS update for Toshiba M115-S3094, which, as it turns out, should solve a problem where the battery doesn't charge, which I just learned to live with since I use my laptop so long, even at school, I need to plug it in and use my mouse, anyway. There's nothing said about not booting from anything but the hard disk or about fixing PXE errors, but we'll see what happens.
Puppy Distro: [url=http://openlab.jp/puppylinux/download/quickset_puppy/]pup-431JPqs3 "Quickset Puppy Linux (Japanese/English bilingual)"[/url]
Previous distros: Slackware (preferred), Fedora Core 6 (in school), Ubutntu (not much)

gcmartin

Would you consider trying a different Puppy as a test

#30 Post by gcmartin »

Hi @ShellyCat.

If i understand you correctly, you're saying your PXE PC boots to a desktop that you are able to use. But, for some odd reason, it does NOT find your LAN adapter after successful Netbooting.

I was wondering the possible merit in trying another Puppy. I have booted PUP525, and all of the "Cold" PUPs from Pemasu on 32bit PCs without problems. I have also Netboot'ed latest WARY as well.

let us know if any other one you select works properly, while you wait on your BIOS upgrade.

Hope this helps.

ShellyCat
Posts: 39
Joined: Fri 13 May 2011, 05:38
Location: USA

BIOS update over PXE (using 5-step netboot)

#31 Post by ShellyCat »

Hi gcmartin,

The laptop netboots successfully, but the PXE server shows errors (still running in "debug" mode, by the way). In addition, Quickset Puppy does not detect the NIC properly or load a driver.

I'm going to try the BIOS first. I have a laptop that won't boot from anything but PXE or hard disk (BIOS issue?), a battery that won't charge (BIOS upgrade is supposed to fix it), and maybe a BIOS issue with the network card and PXE, too.

Toshiba has a 3rd BIOS update method, a bootable CD ISO! I'll see about serving that over PXE with the 5-step method and let you know how it goes!

Then I will see about the NIC not getting detected; first, see if a HDD install of Puppy can detect the NIC and load the driver, then, try those other Puppies.
Puppy Distro: [url=http://openlab.jp/puppylinux/download/quickset_puppy/]pup-431JPqs3 "Quickset Puppy Linux (Japanese/English bilingual)"[/url]
Previous distros: Slackware (preferred), Fedora Core 6 (in school), Ubutntu (not much)

ShellyCat
Posts: 39
Joined: Fri 13 May 2011, 05:38
Location: USA

Must use floppy disk image?

#32 Post by ShellyCat »

It appears extending this PXE method only involves making one big ISO out of Puppy Linux files...and they would have to be Puppy?

So it's back to the floppy disk image for BIOS update. Well, I'm a little confused as to what files are what. Please excuse me for my ignorance. Here's what unzipped from the Toshiba download:

Code: Select all

2243d190.exe       guiProg         launcher.exe   pl190.rom       tlg00.gif
dot_clear.gif      index.html      launcher.ini   readme.txt      tlg01.bmp
dskProg            isocdrom.txt    pl10190.exe    sm115v190.iso
sm115v190.iso is the CD image. 2243d190.exe is the diskette image (which I have not extracted yet). There are 2 doc files (obviously ending with ".txt"). [EDIT: this part of the doc was wrong!]pl10190.exe is described in README.TXT as "Windows-installed BIOS package"...[/EDIT]

[EDIT: I think this part is correct.]Another spot in the text file says that pl10190.exe is the Windows-based installer. This actually makes sense![/EDIT]

BTW, I am following adapting Terry Burton's procedure for 5-step PXE with Puppy server, because it seems the most straightforward:

http://blog.terryburton.co.uk/2007/08/pxe-boot-freedos-with-memdisk-to-flash.html
Last edited by ShellyCat on Tue 12 Jul 2011, 15:59, edited 1 time in total.
Puppy Distro: [url=http://openlab.jp/puppylinux/download/quickset_puppy/]pup-431JPqs3 "Quickset Puppy Linux (Japanese/English bilingual)"[/url]
Previous distros: Slackware (preferred), Fedora Core 6 (in school), Ubutntu (not much)

ShellyCat
Posts: 39
Joined: Fri 13 May 2011, 05:38
Location: USA

UPDATE TO ABOVE

#33 Post by ShellyCat »

It came to me later while trying to sleep, I think I remember something about ".rom" files being the actual BIOS...so I searched for pl190.rom.

From this mailing-list thread, this seems correct:
http://www.bios-mods.com/forum/printthread.php?tid=1079

I will report back how the BIOS update over PXE goes!
Puppy Distro: [url=http://openlab.jp/puppylinux/download/quickset_puppy/]pup-431JPqs3 "Quickset Puppy Linux (Japanese/English bilingual)"[/url]
Previous distros: Slackware (preferred), Fedora Core 6 (in school), Ubutntu (not much)

ShellyCat
Posts: 39
Joined: Fri 13 May 2011, 05:38
Location: USA

#34 Post by ShellyCat »

Dealing with the floppy disk ".exe" took quite a hassle.
First, "unzip" will not extract it.
Second, "peazip" extracts it to just a single ".ima" image file. (I've never even seen that before.)

You have to use WinZip (or possibly some other Windows-only utility). (I couldn't see any way to do this without a Windows machine...maybe someone knows?) As for the option of the Windows-based installer, I would not be able to use that with "fdboot.img" (I think) because the README says it can only be used with Windows NT 4 and up...not even ME, so surely not DOS?

So I relented and installed WinZip (trial) on my slow-as-a-crawl Dell and extracted the floppy archive there...don't laugh, that took a while.

However, there's a bunch of files, how would I PXE it? I considered trying to make an ".img" image (like "fdboot.img") to see if it would work right, assuming I could even make one. But since I'm fairly certain which 2 files are the BIOS installer and the ROM BIOS, I just loop-mounted "fdboot.img" as per Terry Burton's blog and added the two files to that. (And if I'm wrong, the BIOS won't get flashed, anyway.)

The next step is to configure the pxe "default" (configuration) file to use "MEMDISK" (extracted from SYSLINUX download) as the kernel and "fdboot.img" in the append option.


I'm working early tomorrow and won't be able to perform the BIOS over PXE until late afternoon, but I will report back. If everything works out, I will make a HOW-TO for this specific BIOS.

If anyone has an idea how to make an error-free ".img" image from the extracted files intended for floppy -- without using Windows -- please let me know. (Or, how to extract the files from an ".exe" without using Windows...Peazip just made an ".ima" image, which didn't help.) It would be nice if I could document a complete, Linux-only method!
Puppy Distro: [url=http://openlab.jp/puppylinux/download/quickset_puppy/]pup-431JPqs3 "Quickset Puppy Linux (Japanese/English bilingual)"[/url]
Previous distros: Slackware (preferred), Fedora Core 6 (in school), Ubutntu (not much)

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

#35 Post by Aitch »

Hi ShellyCat

Code: Select all

$ dd if=filename of=/dev/fd0 
e.g

unzip bootmec.exe ## that makes a file called bootmec.IMA

Put the image on the floppy with the command:

Code: Select all

dd if=bootmec.IMA of=/dev/fd0
Should be what you need

Aitch :)

Post Reply