-
Notifications
You must be signed in to change notification settings - Fork 1
Home
David Hill edited this page Jul 29, 2013
·
1 revision
dellflash is an lkm plus flash utility enabling OpenBSD to flash the BIOS of Dell computers. It is released under the ISC license.
The README file contains all the documentation and is reproduced here for convenience.
$dellflash: README,v 1.8 2011/01/10 16:05:31 marco Exp $ THIS TOOL IS FOR USER CONVENIENCE ONLY. IT IS NOT WRITTEN BY DELL AND ALL RESPONSIBILITY LAYS WITH THE USER. IF YOU BRICK YOUR BOX YOU OWN IT. DO NOT BLAME ANYONE BUT YOURSELF. WHEN IN DOUBT DON'T USE IT. REALLY DON'T USE IT. Read these instruction IN FULL before proceeding. Boot the machine into securelevel -1 (set in /etc/rc.securelevel) Ensure that there is a fresh kernel source checked out on the build machine. Change into the dellflash directory and as root run the following commands: make make load flashit/flashit pv1950_2.6.1.hdr reboot In this example it will load the Dell PowerEdge 1950 to BIOS 2.6.1 flash image into memory. Upon reboot the server will flash the BIOS. Remember to set securelevel back to its normal value! There are several ways to obtain the BIOS hdr files. 1. http://linux.dell.com/repo/firmware/bios-hdrs/ this require one to match the BIOS to product ID. For example pcidump -v | grep 1028 0x002c: Subsystem Vendor ID: 1028 Product ID: 024f then find the .hdr directory with 0x024f and download bios.hdr Note: this repository isn't always up to date! 2. Download the .exe BIOS update for windows from support.dell.com and from a windows box run it like: PE1950_BIOS_WIN_2.6.1.exe /s /e=2.6.1 then in the 2.6.1 directory find the .hdr file (might be in a payload directory as well) - or - laptops or desktops sometimes can be run like: E6500A16.EXE /writehdrfile in this example the executable writes E6500A16.hdr - or - install dosbox: pkg_add dosbox run it by simply typing: dosbox mount the directory where you downloaded the .EXE file, for example: mount c /tmp goto new mounted drive by typing: C: then you can run the same command as above: E6500A16.EXE /writehdrfile after the command completes the HDR file is in the directory 3. Download the .BIN BIOS update for linux from support.dell.com and on any machine edit the file in your favorite (NON WINDOWS!!) editor. Find the line that reads: #####Startofpackage#####^M and delete everything, including that line, in front of it. Write the remaining file with a .tgz extension. Untar the tgz file that was generated and go find the .hdr file which again might be in a payload directory.
The following steps illustrate a sample bios upgrade procedure:
$ cd /tmp/ $ ftp http://opensource.conformal.com/snapshots/dellflash/dellflash-0.2.tgz Trying 10.137.0.23... Requesting http://opensource.conformal.com/snapshots/dellflash/dellflash-0.2.tgz 100% |*****************************************************| 4796 00:00 4796 bytes received in 0.00 seconds (2.59 MB/s) $ tar zxvf dellflash-0.2.tgz dellflash-0.2 dellflash-0.2/flashit dellflash-0.2/flashit/Makefile dellflash-0.2/flashit/flashit.c dellflash-0.2/Makefile dellflash-0.2/README dellflash-0.2/module dellflash-0.2/module/Makefile dellflash-0.2/module/biosmod.c dellflash-0.2/module/biosmod.h $ cd dellflash-0.2 $ ls -la total 28 drwxr-xr-x 4 marco wheel 512 Jan 10 10:09 . drwxrwxrwt 9 root wheel 512 Jan 10 10:28 .. -rw-r--r-- 1 marco wheel 149 Nov 17 2009 Makefile -rw-r--r-- 1 marco wheel 2283 Jan 10 10:05 README drwxr-xr-x 2 marco wheel 512 Jan 10 10:09 flashit drwxr-xr-x 2 marco wheel 512 Jan 10 10:09 module $ make ===> module cc -O2 -pipe -fPIC -fno-builtin -D_KERNEL -I/sys -c biosmod.c ===> flashit cc -O2 -pipe -Wall -Werror -c flashit.c cc -o flashit flashit.o $ sudo make load ===> module modload -o biosmod -ebiosmod biosmod.o Module loaded as ID 0 ===> flashit $ sudo ./flashit/flashit /tmp/E6500A24.HDR $ sudo /sbin/rebootIn order to abort the flash process one has to unload the LKM like so:
$ sudo make unload ===> module modunload -n biosmod ===> flashit
- Snapshots
- Mailing lists
- dellflash-commits
- subscribe: email dellflash-commits+subscribe at opensource.conformal.com
- unsubscribe: email dellflash-commits+unsubscribe at opensource.conformal.com
- dellflash-commits