Visit Jeremy's Blog.
Go Back > Forums > Linux Forums > Linux - News > Syndicated Linux News
User Name
Syndicated Linux News This forum is for the discussion of Syndicated Linux News stories.


  Search this Thread
Old 05-09-2009, 04:51 AM   #1
LXer NewsBot
Registered: Dec 2005
Posts: 107,546

Rep: Reputation: 117Reputation: 117
LXer: Flashrom brings seamless BIOS flashing to Linux PCs

Published at LXer: released an almost-final 0.90 version of open source BIOS flashing firmware it says was nine years in the making. Flashrom offers Linux and UNIX users a BIOS flashing mechanism they can call their own, with support for 150 flash-chip families and 75 chipsets, says. By its very nature, BIOS firmware is operating system-independent, since it loads before a computer's OS in order to identify, test, and initialize the device's processor, memory, graphics card, and peripherals. But, updating a BIOS to incorporate bug fixes and other improvements requires booting a computer into an operating system, then using the latter to run BIOS flashing software.

Old 06-04-2009, 04:50 PM   #2
Registered: Feb 2004
Location: SFBayArea, CA
Distribution: Debian-based, Slackware 10x+
Posts: 162

Rep: Reputation: 17
Another Inelegant Way to Flash BIOS's

There comes to mind at least one admittedly inelegant way for flashing BIOS's using Linux and other utilities, besides this 'Alternate to Universal BIOS Flash programmer for Linux, BSD and more'.

This particular lowest-common denominator method relies upon the fact that every motherboard BIOS in the last fifteen or more years retains support for recognizing at least the old and original IDE hard drive standard (a.k.a. ATA-1, Parallel-ATA).
Also, many if not most of these selfsame BIOS manufacturers have retained the ability to use a DOS disk for flashing their BIOS's, as opposed to the sole need for a specific 32-bit Windows version to carry out this task.

The initial series of steps involve the use of a second computer which has a Desktop Linux distro installed (and other than the one you're trying to flash the BIOS of).
That second computer should have a working Internet connection, a CD-RW or other drive to burn CD's with, and also an extra data-cable-end (master or slave) and power supply for attaching an extra hard drive to.
This extra hard drive should be fairly low-end.
I've successfully used and re-used 1GB and 2GB IDE hard drives for this BIOS-flashing purpose.

1. Go to the Damn Small Linux (DSL) download mirrors site at
Navigate to the /current/dsl-3.x directory and then download the specific Syslinux bootable image dsl-3.4.12-syslinux.iso
Burn this DSL LiveCD bootable image to a CD using the CD-burning application that is available with your second computer's distro.

2. Go to the bootable ISO images webpage
and download the bootable image DOS6.22_bootdisk.iso
Just as for the Syslinux DSL image above, burn this DOS bootable CD-image to a CD using the CD-burning application that is available with your second computer's distro.

* Steps 3 through 9 below only have to be performed once for each extra drive that will be used and re-used.

3. Shut down this second computer, attach the extra low-end hard drive, and re-boot this second computer. Activate the BIOS setup screen for this computer and make certain that this extra drive is properly recognized by the BIOS.

4. Reboot this second computer with the extra hard drive using the DSL Syslinux liveCD you created above. Once the DSL splash image comes up, I like to stay at the command line through entering the cheat-code 'dsl 2'. In any case, the main tasks here are to use the DSL 'fdisk /dev/hd?' to remove all partitions on this extra drive and to then perform a 'shred' on this drive so it starts out with a clean slate; I perform a basic 'shred -n1 -vz /dev/hd?' myself. The ? here is of course the letter assigned to the drive by the primary or secondary hd controller. Following this shredding, one could also perform an additional 'fdisk /dev/hd?' step using the 'o' option to create a new empty DOS partition table on this extra drive. When finished, shut down the computer and remove the DSL CD.

5. Remove all hard drives other than this extra drive, which you'll now want to configure and have recognized by the primary hard drive motherboard's BIOS as the 'Master' drive.
Once this is accomplished and this second sole drive is recognized by the Setup utility, you will reboot this second PC using the DOS boot image CD you created in step 2.
Once the DOS command prompt comes up, you'll now wish to issue an 'FDISK /MBR' command followed by the full use of DOS's FDISK. Create a new partition on this drive (I suggest just making one primary 125MB, 250MB or 500MB DOS partition). Make this the active partition partition though the FDISK option for this, and then allow the computer to reboot.

6. Once this computer is rebooted with this DOS boot CD still in place, you'll wish to FORMAT this drive with the /u /c /s options to make this drive bootable for the eventual BIOS flashing you'll carry out on this. You can optionally copy all the DOS boot CD files to the root directory of this hard drive, e.g., 'COPY A:*.* C:*.*', and then use 'EDIT' on the startup files AUTOEXEC.BAT and CONFIG.SYS to make certain all command references are to 'C:\...' instead of to 'A:\...'.
Reboot this second computer without the DOS boot CD to test that this drive is booting and loading native DOS okay. Then create multiple flash BIOS directories, such as C:\FLASH1 , C:\FLASH2, C:\BIOS1, C:\BIOS2, and similar examples of what you might need.

7. If the computers you wish to flash the BIOS of already have the ability to boot CDs using their BIOS setups, then you may wish to now reboot this second computer using the Syslinux DSL liveCD from step 4. As before, once the DSL splash image comes up, you would stay at the command line through entering the cheat-code 'dsl tohd=/dev/hda1 2'. You would use the Syslinux DSL 'fdisk' to add various other Linux partions hda2, hda3, hda4, such as that of a swap partition and an extra Linux partition for any future troubleshooting and/or installs using DSL or other liveCDs . You can then format these partitions with the standard Linux 'mkswap' and 'mke2fs' commands. This makes good use of all that wasted extra space on a 1 GB+ hard drive.

8. Reboot this second computer using this same Syslinux DSL liveCD and making certain that the extra drive is still configured in the computer just as in step 5 above.
Let DSL boot into its full GUI mode without cheat-codes this time. Bring up a root shell from the DSL desktop right-click menu option. Make sure that networking is active and activated on this computer. From the same root shell, issue a 'mount /dev/hda1 /mnt/hda1'. Start Firefox from the desktop icon or the right-click menu option.
Visit your motherboard manufacturer's website and find the section which allows you download all BIOS Upgrade utilities (especially those using DOS!) Download each file from this page into the proper /mnt/hda1/flashx or /mnt/hda1/biosx folder you created above in step 6. If your download location defaults to your /home/dsl folder, then you would make the root shell window active and then issue a 'cp /home/dsl/<filename> /mnt/hda1/<download-folder-name>'.
If you are flashing BIOS's on different computers, then you would want to visit each of the motherboard manufacturers' BIOS Upgrade pages to repeat similar flash BIOS download steps, substituting the exact download-folder-names in /mnt/hda1/ from those used previously.
Close Firefox, issue a 'sync' at the root shell, and then a 'umount /mnt/hda1'.

9. You now wish to shut down this second computer, remove the extra flashBIOS hard drive from this computer, and then re-do the original drives' setup EXACTLY as they were after step 2. Reboot this second computer to make certain that everything is working just as it was at the beginning of these steps.

* Again, Steps 3 through 9 above only have to be performed once for each extra drive that will be used and re-used.

10. Bring the extra flashBIOS hard drive to the computer to be upgraded, attach it to this computer's power supply (of course!) and its primary master controller. Boot the computer and allow the older current BIOS to recognize this in its Setup screen. Adjust the hard drive's C/H/S and sector-translation settings (Large, LBA) as necessary. power off the computer and then make certain any hardware setting (switches, jumpers) are set so that the BIOS can be upgraded. Boot the computer into DOS, copy the C:\FLASHx or C:\BIOSx files into the root directory as necessary,, and then apply the flash utility just as instructed for using a floppy disk.

11. Additional flash BIOS files needed for upgrades for other computers can now be downloaded and then transported via floppy disks (ancient!) or USB flash drives, depending on what working controllers or ports are available on the older computers to be flashed. The DSL Syslinux liveCD can be used to boot many older computers having CD-ROM drives, and if a CD-boot option is unavailable, then the bootable DSL bootfloppy.img from the above DSL download mirror can be downloaded and used on a floppy disk to recognize the pre-existing DSL Syslinux liveCD image on C:\KNOPPIX.
This floppy boot option would then be similar to step 7 above, but would use this time around the cheat-code 'dsl fromhd=/dev/hda1 2'.
Flash BIOS files from the transported floppy disk or USB flash drive would then be mounted using the Syslinux DSL utility and then transferred onto the /mnt/hda1/<download-folder-name> similar to step 8 above.

Admittedly not so elegant, but the use of a low-end hard drive IS a lowest common denominator for most older computers, and such low-end hard drives CAN be used and re-used for flashing such computers' BIOS's !


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Flashing Your BIOS From The Linux Desktop LXer Syndicated Linux News 1 05-05-2009 05:33 AM
flashing bios? h725 Linux - General 6 03-27-2009 03:35 PM
BIOS flashing tiger.woods Ubuntu 19 02-20-2009 02:35 AM
Flashing a BIOS bruce1271 Linux - Hardware 6 11-07-2008 07:45 AM
Bios flashing of a brick? kalleanka Linux - Hardware 4 04-28-2008 10:31 AM > Forums > Linux Forums > Linux - News > Syndicated Linux News

All times are GMT -5. The time now is 06:34 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration