What Doesn't Work
Dell have started being nice and releasing more Linux friendly ways of installing bios updates, but sadly, for models like mine, there is no support.Using Windows7/Vista 64bit
It just will never work. Not even with administrator privileges. That WinPhlash thing just Doesn't Work™Using The biosdisk technique
Doesn't work, because the winphlash executable that you have to use will not run in the FreeDOS boot environment. It's a Win32 GUI app.Using the remote boot update method
There is no hdr file produced by Dell to work with this bios yet, and there is no way to produce one.Windows XP Portable Edition( BartPE )
In my case, the "bootable media" just hung for 8 hours and wouldn't boot.Working Solution: phlash16.exe
Legacy dos apps save the day!.While this method worked for me, its not official, nor supported, and you are on your own if it breaks, just like I was. However, you have my good intentions and the testimony of others that it works for some of us.
Checklist
From here on, I'm going to be using very gentoo-specific terms, but they should be portable to other Linux distributions.
Install nessecary tools
You'll need libsmbios to see what you have, and biosdisk to generate a bootfloppy which we can inject our tools into. Wine will also be required to extract the ROM file from the Winphlash self-extractor.
$ sudo emerge -uvatDN libsmbios $ sudo emerge -uvatDN biosdisk $ sudo emerge -uvatDN wine $ sudo emerge -uvatDN unzip
Check your Bios and System
While this technique may work for other Dells, I have not myself tested it and thus, cannot recommend it. If you use my pre-generated boot-floppy , you will WANT to have the same BIOS SystemID and Version as I currently have.$ sudo smbios-sys-info-lite Libsmbios: 2.2.19 System ID: 0x0273 # MATCH Service Tag: XXXXXXX Express Service Code: XXXXXXXXXXX Aset Tag: X Product Name: Vostro1510 BIOS Version: A10 # MATCH Vendor: Dell Inc. Is Dell: 1
Get Dell Bios updates in WinPhlash form
I must remind you, this solution works ONLY for WinPhlash based bios updates. If your bios update installer tool does NOT use WinPhlash, you should not continue.- Visit support.dell.com
- Find your notebook model,
- Find the bios driver for that model
- Download the Bios Update
Get a copy of Phlash16.exe
I can't gurantee that this link will always work, so Google for it if my link dies. But in the mean time, you can get a copy of winphlash16 with one of intels bios flashes. You won't need everything in the archive, but it has what we need. So, download the 3C91.zip bios package for Quanta* QTW3A945PM1Preparation
Unpack your Dell BIOS
Unfortunately, Dell bundle this as a self-extracting achive, a weirdly formatted one at that, which contains the winphlash and the BIOS.ROM file you need. So we need to run this with Wine to get it out.$ wine ~/Downloads/V151015.exeIt will do its thing, run and so forth, tell it to start extracting, and then winphlash will run. It will then throw an error, but it doesn't matter, its done the job we wanted it to.
Grab the BIOS.ROM from your wine dir
This will be in a directory such as C:\WINDOWS\TEMP\WINPHLASH, but relative to your wine directory. In my case, its ~/.wine/drive_c/windows/temp/WINPHLASH/BIOS.ROM$ cp ~/.wine/drive_c/windows/temp/WINPHLASH/BIOS.ROM /tmp/
Unzip phlash16.exe from the Zip
$ cd /tmp/ $ mkdir phlash $ cd phlash $ unzip ~/Downloads/3C91.zip phlash16.exe
Build the MemDisk
We can now build an in-memory FreeDOS boot diskette and stash it into Grub.conf so we can boot into our bios updater on our next boot.Mount /boot
$ sudo mount /boot
Generate a BiosDisk
Note I don't really "get" how biosdisk works inside, so we're passing it here an executable thats reasonably large, and known not to work =).
We're going to fix that later.
$ sudo biosdisk install ~kent/Downoads/V151015.exeThat should have built you a nice boot floppy config and setup grub in nice ways.
Manually hack the generated BiosDisk
Now for the part that does all the sexy good work. That boot floppy image is a mountable filesystem image we can read and write to.$ mkdir /tmp/vfat/ $ sudo mount /boot/V151015.img /tmp/vfat/ $ cd /tmp/vfat $ sudo rm /tmp/vfat/V151015.exe $ sudo cp /tmp/phlash/phlash16.exe ./ $ sudo cp /tmp/BIOS.ROM ./
Now here, we could make this automatically flash the bios on boot, but I'm going to suggest against that, because I don't want to run it accidentally at some later stage before I get rid of it again, and interrupt it, bricking my box =).
So instead, I've set it up to give me a command shell, and I manually execute the flash command.
$ sudo vim -c "set fileformat=dos" autoexec.bat
command.com
This is the flash instruction. You really want the /S
option, unless you enjoy deafening beeping at 3am.
The /EXIT
option is supposed to STOP exiting and auto-rebooting, but it does this anyway, for reasons that I don't understand, and quite frankly am slighly afraid of.
$ sudo vim -c "set fileformat=dos" flash.bat
phlash16.exe /S /EXIT BIOS.ROMNow to check we have DOS line endings.
$ grep '' autoexec.bat flash.bat | cat --show-all autoexec.bat:command.com^M$ autoexec.bat:^M$ flash.bat:phlash16.exe /S /EXIT BIOS.ROM^M$ flash.bat:^M$And now we can unmount it, and be ready to fly.
$ cd / $ sudo umount /tmp/vfat
IMPORTANT PRE-FLIGHT BRIEFING
You are about to fly into dangerous territory, where enemy combatants like "power failure" can mean certain death
Please read all following instructions and be familiar with them BEFORE attempting to continue
- When you reboot, you will see the bios flash option in grub
- Select this
- A few seconds later, you will be given the A:\ prompt of FreeDOS
- You will double check you are on an uninterruptable power supply system, and batteries are working
- You will be running mains power
- type
flash.bat
and press yourENTER
key - A bios flash utility will load, and progress to flash your bios
- YOU WILL BE PATIENT AND NOT INTERRUPT IT
- Upon completion of flashing, the computer may suddenly and unexpectedly reboot with NO warning, and this may surprise you and make you think your computer has crashed! DONT PANIC, wait it should quickly return to normal booting.
- During this boot, you should observe the code "A15" in the bios booting sequence instead of "A10" =).
- Boot back into linux, and proceed to remove the flash installer from the boot menu =)
- SUCCESS!
Experimenters Advice
If you have elected to try see what other flags phlash16.exe has, you're probably not going to find any of them useful. I have noticed something weird, and that is, at least in the biosdisk boot enviroment, the /BU option does not work. Using it causes phlash16.exe to reboot as soon as it hits the backup phase, making you panic and thinking you killed it. I have not played with the other flags, but they didn't appear to be of use to me =).Proceed! AND GOOD LUCK MY FELLOW COUNTRYMAN!
yes, you may now go and try the above.POST-OP cleanup
Once you have successfully flashed your bios, you may then clean the biosdisk entry out of grub:$ biosdisk uninstall ~kent/Downloads/V1510A15.exeAnd then it should be gone from
menu.lst
PREMADE BIOSDISKS
For your convenience, I have made a pre-built copy of the biosimage, my grub configuration, and the memdisk kernel:
Dell Bios Phlash Vostro1510 A10 -> A15 on humyo.com
They worked for me, and might work for you too.
The grub configuration is given for your understanding. The top section is all you need to add, but it probably won't work like that verbatim.