Find BIOS vendor/version/date and Machine serial/model?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
junkoi
Member
Member
Posts: 63
Joined: Wed Jan 23, 2008 8:55 pm

Find BIOS vendor/version/date and Machine serial/model?

Post by junkoi »

I am writing a small kernel for x86, in which I want to find out some system information:

- BIOS information, such as vendor/date/version: Is it available somewhere in BIOS memory? Or is there any BIOS interrupt returning that information?

- Machine model/serial: I want to show that for example this machine is "Fujitsu Lifebook S2210". Same question: can I get it from somewhere in BIOS memory, or Bios interrupts?

Lots of thanks.
J
User avatar
t0xic
Member
Member
Posts: 216
Joined: Sat May 05, 2007 3:16 pm
Location: VA
Contact:

Post by t0xic »

The BIOS Date is located at 0xFFFF:0x0005 (0x000FFFF5). It is in the mm/dd/yy format. I have tested this on bochs and a laptop and it works =)

linky

--Michael
User avatar
Jef
Member
Member
Posts: 112
Joined: Tue Jan 08, 2008 7:25 am
Location: Greece
Contact:

Post by Jef »

some other bios informations are not at the same address for all bios.
Keep coding...
...the sky is the limit

AsteriOS project: http://www.mindfields.gr/main/index.php ... &Itemid=27
jal
Member
Member
Posts: 1385
Joined: Wed Oct 31, 2007 9:09 am

Re: Find BIOS vendor/version/date and Machine serial/model?

Post by jal »

junkoi wrote:I am writing a small kernel for x86, in which I want to find out some system information:

- BIOS information, such as vendor/date/version: Is it available somewhere in BIOS memory? Or is there any BIOS interrupt returning that information?

- Machine model/serial: I want to show that for example this machine is "Fujitsu Lifebook S2210". Same question: can I get it from somewhere in BIOS memory, or Bios interrupts?
From the FAQ of Ralf Brown's interrupt list:
Ralf Brown wrote:Q1: Is there an interrupt to get the BIOS serial number as shown on the power-up screen?

A: (Ralf Brown)
There is no general way to get the serial number. In most cases, you
need to know the proper offset in the BIOS image for that particular
make, model, and revision of the BIOS (and that offset may not even
be present in the real-mode image loaded into shadow RAM!).

Further, with a flashable BIOS, it is quite likely that every single
machine that has been updated with a downloadable upgrade from the
Web will have identical serial numbers, assuming they weren't already
identical as shipped from the factory with the original BIOS version.
Because of this, the BIOS serial number is essentially useless for
any identification purposes."
Here's some code that may help you finding strings in the BIOS, but not the serial number per se.


JAL
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: Find BIOS vendor/version/date and Machine serial/model?

Post by Brendan »

Hi,
junkoi wrote:I am writing a small kernel for x86, in which I want to find out some system information:

- BIOS information, such as vendor/date/version: Is it available somewhere in BIOS memory? Or is there any BIOS interrupt returning that information?

- Machine model/serial: I want to show that for example this machine is "Fujitsu Lifebook S2210". Same question: can I get it from somewhere in BIOS memory, or Bios interrupts?
You want the DMI and/or SMBIOS specification/s from the Distributed Management Task Force. That will give you most of what you want...


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
junkoi
Member
Member
Posts: 63
Joined: Wed Jan 23, 2008 8:55 pm

Re: Find BIOS vendor/version/date and Machine serial/model?

Post by junkoi »

Brendan wrote:Hi,
junkoi wrote:I am writing a small kernel for x86, in which I want to find out some system information:

- BIOS information, such as vendor/date/version: Is it available somewhere in BIOS memory? Or is there any BIOS interrupt returning that information?

- Machine model/serial: I want to show that for example this machine is "Fujitsu Lifebook S2210". Same question: can I get it from somewhere in BIOS memory, or Bios interrupts?
You want the DMI and/or SMBIOS specification/s from the Distributed Management Task Force. That will give you most of what you want...
This is what I am looking for. Thank you a lot!!!

J
Post Reply