Tuesday, July 10, 2007

finding out the BIOS version in Linux

Here's another little tidbit of useless information that you will no longer need to keep in your heads because I will have told you and all you will have to do is visit http://www.google.com and search for "finding BIOS version in Linux" and this lovely little article will appear magically before you.
:)

Initially, I thought the best way to find out your BIOS version would be to look in /var/log/dmesg and run this command:
root_testserver root > grep BIOS /var/log/dmesg
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009f400 (usable)
BIOS-e820: 000000000009f400 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000009fffa000 (usable)
BIOS-e820: 000000009fffa000 - 00000000a0000000 (ACPI data)
BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
BIOS-e820: 00000000fee00000 - 00000000fee10000 (reserved)
BIOS-e820: 00000000ffc00000 - 0000000100000000 (reserved)
mtrr: probably your BIOS does not setup all CPUs
PCI: PCI BIOS revision 2.10 entry at 0xf0094, last bus=9
PCI: Device 00:00 not found by BIOS
PCI: Device 00:01 not found by BIOS
PCI: Device 00:02 not found by BIOS
PCI: Device 00:78 not found by BIOS
PCI: Device 00:7b not found by BIOS
PCI: Device 00:80 not found by BIOS
PCI: Device 00:82 not found by BIOS
PCI: Device 00:88 not found by BIOS
PCI: Device 00:8a not found by BIOS
apm: BIOS not found.
ide0: BM-DMA at 0x2000-0x2007, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0x2008-0x200f, BIOS settings: hdc:pio, hdd:pio


The important line in the output should look something like this:
PCI: PCI BIOS revision 2.10 entry at 0xf0094, last bus=9

or, eliminating some extraneous information, you can use the enhanced command:
root_testserver root > grep BIOS /var/log/dmesg grep evision

However! As I looked through the online documentation of my Compaq DL380, I saw that the BIOS version is NOT PCI BIOS revision 2.10, but actually an HP specific BIOS named P52! I asked my friendly neighborhood Unix admin and he turned me onto the "dmidecode" command.

Check it:
root_testserver root > dmidecode more
# dmidecode 2.2
SMBIOS 2.3 present.
54 structures occupying 1477 bytes.
Table at 0x000EC000.
Handle 0x0000
DMI type 0, 20 bytes.
BIOS Information
Vendor: HP
Version: P52
Release Date: 04/14/2005
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 4096 kB
Characteristics:
PCI is supported
PNP is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
Boot from CD is supported
Selectable boot is supported
5.25"/360 KB floppy services are supported (int 13h)
5.25"/1.2 MB floppy services are supported (int 13h)
3.5"/720 KB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
BIOS boot specification is supported

That's all folks! May all your BIOS dreams come true!

Oh..here's a related article on how to determine the version of your operating system in Linux or SunOS:
http://www.techanswerguy.com/2007/06/how-to-get-operating-system-version-in.html

No comments:

Feel free to drop me a line or ask me a question.