Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Tue 19 Jun 2018, 14:13
All times are UTC - 4
 Forum index » House Training » HOWTO ( Solutions )
Update your BIOS over network via PXE! (server: Puppy Linux)
Moderators: Flash, Ian, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 1 [1 Post]  
Author Message

Joined: 13 May 2011
Posts: 39
Location: USA

PostPosted: Thu 14 Jul 2011, 04:35    Post subject:  Update your BIOS over network via PXE! (server: Puppy Linux)
Subject description: PXE, netboot-server, Toshiba Satellite M115-S3094 BIOS v1.90, fdboot.img, memdisk

Update your BIOS over the network via PXE using Puppy Linux as the server!

WARNING: BIOS upgrades are always dangerous because they modify the Basic Input-Output System that operates your computer's hardware. If anything goes wrong during the update (such as a power interruption), or if there is an error in the update itself, it may render your computer totally useless! You are strongly discouraged from upgrading your BIOS unless it claims to fix a problem you actually have, or you feel the supposed improvements or new functionality are worth the risk of ruining your computer!

I was able to successfully update the BIOS on my Toshiba Satellite M115-S3094 with this method!


After experiencing problems with my laptop that left me unable to boot from traditional media (floppy, usb, CD/DVD), I decided to try booting from the network, via a protocol named PXE (Pre-eXecution boot Environment). Ultimately, I wanted to not only boot an operating system from the network, but find a way to upgrade the laptop's BIOS (also over the network, since I couldn't boot from other media) and see if it fixed the problem.

There are various ways to configure PXE and to upgrade one's BIOS over a network. User gcmartin, with input from other Puppy users, has developed a very simple method to configure PXE on Puppy Linux in a few steps. Meanwhile, two people, Terry Burton and kahrn, have posted instructions to their blogs for upgrading one's BIOS via PXE (similar methods but different tools).

Before using PXE to update your BIOS, I strongly recommend following gcmartin's netboot-server method to get PXE working, in the simplest setup. (Serve up just one operating system with PXE, to test if another computer can obtain it over the network.) In fact, the examples here assume that you have already done so. Then come back here to learn how to back up your working configuration (in case you want to use it again) and serve up a BIOS update instead!

NOTE: I tested this with a Toshiba Satellite M115-S3094 laptop and BIOS upgrade v1.90 dated January 30, 2009 (filename of entire download: sm115v190.exe). This method could apply to any computer with a PXE-capable network card (most modern computers), though you may have to change some details, such as filenames relevant to your particular BIOS upgrade.

This HOWTO begins with a summary of steps and what gets done. We make the files intended for a bootable floppy available over the network via PXE. Some computer manufacturers provide files for performing the BIOS upgrade from a bootable floppy, or from a CD, or from within Windows (or even multiple ways). More explanation for newbies WILL FOLLOW! (It's past my bedtime.) It will include the rationale behind various choices, problems I encountered while learning about BIOS-upgrading over PXE, and a description of important files in the download from Toshiba. If you are new to PXE, I recommend reading it, too!

Summary of Steps
  1. Choose or create a directory (folder) in which to store only the files you will serve via PXE (for example "/root/ISOs"):
    mkdir /root/ISOs

  2. Download FreeDOS ("fdboot.img") to that directory from ibiblio.org: http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdboot.img
  3. Download SYSLINUX somewhere (for example, "/root/downloads") from kernel.org: http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.04.tar.gz
  4. Extract the file "memdisk" from "syslinux-4.04/memdisk" to "/root/ISOs" (with Xarchiver, for example).
  5. Download the Toshiba BIOS update v1.90 somewhere (for example, to "/root/downloads"): http://www.csd.toshiba.com/cgi-bin/tais/support/jsp/modelContent.jsp?ct=DL&os=&category=&moid=1468771&rpn=PSMB0U&modelFilter=M115-S3094&selCategory=2756709&selFamily=1073768663#
  6. Extract all files from the download:
    cd /root/downloads
    unzip sm115v190.exe

    (If you use some other extraction software, make sure it does not create one single new file, such as "sm115v190.ima"!)
  7. Transfer the floppy diskette image ("2243d190.exe") to a computer running Windows 95 or greater. Extract all its files. (Recommended extraction software is WinZip, PKUnzip, or Info-Zip. You can download WinZip from http://download.cnet.com/WinZip/3000-2250_4-10003164.html.) Then transfer the resulting files back to your Puppy machine.
  8. Determine which of these files is the BIOS-flashing program, and which is the actual BIOS update. (For my Toshiba these were "PHLASHER16.EXE" and "PL190.ROM", respectively. Your update may end in ".ROM" or some other extension.)
  9. Loop-mount FreeDOS (for example, to "/mnt/floppy"), add the BIOS-flashing program and the BIOS update to the FreeDOS image, and unmount the image again:
    mount -t vfat -o loop /root/ISOs/fdboot.img /mnt/floppy
    cp -iv PHLASH16.EXE PL190.ROM /mnt/floppy

    ("umount" is the correct command for un-mounting!)
  10. Before changing your PXE configuration, use XArchiver (in "Menu > "Utilities") to create an archive of the directory "/root/tftpboot/pxelinux.cfg" and anything in it.
  11. Delete the contents of "/root/tftpboot/pxelinux.cfg":
    cd /root/tftpboot/pxelinux.cfg
    rm *

  12. While in "/root/tftpboot/pxelinux.cfg", create symbolic links (shortcuts) to "fdboot.img" and "memdisk"
    ln -s /root/ISOs/memdisk memdisk
    ln -s /root/ISOs/fdboot.img fdboot.img

  13. Create a new file in your text editor and save it as "/root/tftpboot/pxelinux.cfg/default" (no file extension).
  14. Add these lines and save:
    default FreeDOS
    label FreeDOS
       kernel memdisk
       append initrd=fdboot.img

  15. Verify that "/root/tftpboot/pxelinux.cfg" contains these files:
    • "memdisk" (shortcut)
    • "fdboot.img" (shortcut)
    • "default" (configuration file)

  16. "fdboot.img" needs to be readable and executable (for simplicity, grant all permissions):
    cd /root/ISOs
    chmod 777 fdboot.img

  17. Start the netboot-server in debug mode. (Quit and restart if it's already running.)
  18. Turn on the client (computer which needs the BIOS upgrade).
  19. Enter CMOS Setup. (On the Toshiba Satellite, it's called "System Utilities"; press "F2" at the splash screen.) Make sure PXE (network boot) is enabled if you haven't already. If an operating system is installed, also make sure that PXE comes before hard disk in the boot order (or else you will need to press "F12" on reboot in order to boot from network instead of hard disk). Also, make sure both computers are connected to the network!
  20. If you changed anything via CMOS Setup, press "F10" to save changes and reboot.
  21. Network boot takes several minutes. After the blinking cursor, PXE process, IP address info, and "Loading memdisk..." and "Loading fdboot.img..." messages, you should get the FreeDOS welcome message and a prompt.
  22. At the "A:\>" command prompt, type the following and press "Enter":

  23. Wait while the program runs and beeps, then after the long beep, wait for the computer to reboot (or press any key to restart when it says so).
  24. If you get a "CMOS checksum bad..." message, don't worry unless it happens a second time. Just press "F1" to load default settings if directed to do so.
  25. Press "F2" to enter Setup and verify that the first page says "BIOS version 1.90" in the center of the screen.
  26. While in Setup, customize boot options if needed. (The boot device order may have got changed if you had to load the default settings.)
  27. If you did get the CMOS checksum error the first time, reboot again and make sure the error has disappeared!
  28. Congratulations! Your BIOS is updated!


Good luck! Please check back!

Puppy Distro: pup-431JPqs3 "Quickset Puppy Linux (Japanese/English bilingual)"
Previous distros: Slackware (preferred), Fedora Core 6 (in school), Ubutntu (not much)
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 1 [1 Post]  
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » House Training » HOWTO ( Solutions )
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum

Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0499s ][ Queries: 12 (0.0040s) ][ GZIP on ]