How to get the BIOS (Basic Input Output System) information and other information in Linux/Unix such as

	1.Hardware
2.CPU information
3.Drivers installed in Linux machine.

For every operation/work in Linux there will be one command, this is true most of the time (all you need is to find that command). How to get BIOS info without rebooting the system? The command for this is dmidecode(DMI table decoder). Some times BIOS is called as DMI too. Just execute the command, It will just dump a lots and a lots of information about the system hardware. dmidecode not only give BIOS info it will give all the hardware detail present in the machine.

Syntax for dmidecode command

	dmidecode options

Learn dmidecode with examples

Example 1: Display all the hardware, firmware, BIOS info

	#dmidecode

clipped output:

	# dmidecode 2.11
SMBIOS 2.7 present.
32 structures occupying 1539 bytes.
Table at 0x000E6760. Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Hewlett-Packard
Version: F.22
Release Date: 07/27/2011
ROM Size: 2560 kB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
EDD is supported
Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
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)
3.5"/2.88 MB floppy services are supported (int 13h)
8042 keyboard services are supported (int 9h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
BIOS boot specification is supported
Targeted content distribution is supported
UEFI is supported
BIOS Revision: 15.34
Firmware Revision: 23.55

Note: We have to run this command as root user.

Note : In RHEL4 there are no options for dmidecode command.

Example 2: In our above example it's very much difficult to see different hardware information as all hardware information is dumped. dmidecode supports displaying hardware details of a specific device in the machine. We can information for particular category such as only BIOS or only hardware or only RAM details or just only CPU info we have to specify the type(–tyep or -t option), here are the types list for your reference.

DMI TYPES

The SMBIOS specification defines the following DMI types:

	Type Information
0 BIOS
1 System
2 Base Board
3 Chassis 4 Processor
5 Memory Controller
6 Memory Module
7 Cache
8 Port Connector
9 System Sa lots
10 On Board Devices
11 OEM Strings
12 System Configuration Options
13 BIOS Language
14 Group Associations
15 System Event Log
16 Physical Memory Array
17 Memory Device
18 32-bit Memory Error
19 Memory Array Mapped Address
20 Memory Device Mapped Address
21 Built-in Pointing Device
22 Portable Battery
23 System Reset
24 Hardware Security
25 System Power Controls
26 Voltage Probe
27 Cooling Device
28 Temperature Probe
29 Electrical Current Probe
30 Out-of-band Remote Access
31 Boot Integrity Services
32 System Boot
33 64-bit Memory Error
34 Management Device
35 Management Device Component
36 Management Device Threshold Data
37 Memory Channel
38 IPMI Device
39 Power Supply

To display Total Memory info

	dmidecode -t 17

or

	dmidecode --type 17

Output:

	# dmidecode 2.11
SMBIOS 2.7 present. Handle 0x0010, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x000F
Error Information Handle: 0x0011
Total Width: 64 bit's
Data Width: 64 bit's
Size: 4096 MB
Form Factor: SODIMM
Set: None
Locator: DIMM0
Bank Locator: BANK 0
Type: DDR3
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Kingston
Serial Number: 4B29A74B
Asset Tag: 0123456789
Part Number: 99U5428-046.A00LF
Rank: Unknown
Configured Clock Speed: 1333 MHz Handle 0x0013, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x000F
Error Information Handle: 0x0014
Total Width: 64 bit's
Data Width: 64 bit's
Size: 4096 MB
Form Factor: SODIMM
Set: None
Locator: DIMM1
Bank Locator: BANK 2
Type: DDR3
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Kingston
Serial Number: 4729BF4B
Asset Tag: 0123456789
Part Number: 99U5428-046.A00LF
Rank: Unknown
Configured Clock Speed: 1333 MHz


To display only BIOS info

	#dmidecode –t 0

Output:

	# dmidecode 2.11
SMBIOS 2.7 present. Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Hewlett-Packard
Version: F.22
Release Date: 07/27/2011
ROM Size: 2560 kB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
EDD is supported
Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
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)
3.5"/2.88 MB floppy services are supported (int 13h)
8042 keyboard services are supported (int 9h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
BIOS boot specification is supported
Targeted content distribution is supported
UEFI is supported
BIOS Revision: 15.34
Firmware Revision: 23.55

To display CPU info

	#dmidecode -t 4

Output:

	# dmidecode 2.11
SMBIOS 2.7 present. Handle 0x001A, DMI type 4, 42 bytes
Processor Information
Socket Designation: CPU1
Type: Central Processor
Family: Core i3
Manufacturer: Intel(R) Corporation
ID: A7 06 02 00 FF FB EB BF
Signature: Type 0, Family 6, Model 42, Stepping 7
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Core(TM) i3-2330M CPU @ 2.20GHz
Voltage: 0.0 V
External Clock: 1333 MHz
Max Speed: 4000 MHz
Current Speed: 2200 MHz
Status: Populated, Enabled
Upgrade: Other
L1 Cache Handle: 0x001C
L2 Cache Handle: 0x001D
L3 Cache Handle: 0x001E
Serial Number: Not Specified
Asset Tag: FFFF
Part Number: Not Specified
Core Count: 2
Core Enabled: 2
Thread Count: 4
Characteristics:
64-bit capable

Example 3: Display a hardware information using specific keyword. dmidecode support this future which will come in handy if we forget the type number. Below are set of keywords supported by dmidecode tool.

dmidecode Keyword Types

	bios 0, 13
system 1, 12, 15, 23, 32
baseboard 2, 10
chassis 3
processor 4
memory 5, 6, 16, 17
cache 7
connector 8
sa lot 9

Suppose we want to see system details

	dmidecode -t system

Output:

	# dmidecode 2.11
SMBIOS 2.7 present. Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: Hewlett-Packard
Product Name: HP 430 Notebook PC
Version: 058A100000004C10002600000
Serial Number: 5CB1332JGF
UUID: 04AC4D6A-1847-92B2-3789-9E369A99060F
Wake-up Type: Power Switch
SKU Number: A2N30PA#AKL
Family: 103C_5336AN G=N L=SMB B=HP S=430 Handle 0x000D, DMI type 32, 20 bytes
System Boot Information
Status: No errors detected

Some other useful commands to get system info are

To get CPU info

	#cat /etc/cpuinfo

To get Hardware info

	#lshal

or

	#lshw

To get PCI info

	#lspci

To get USB info

	#lsusb

We will see these stuff in near future.

The following two tabs change content below.
Mr Surendra Anne is from Vijayawada, Andhra Pradesh, India. He is a Linux/Open source supporter who believes in Hard work, A down to earth person, Likes to share knowledge with others, Loves dogs, Likes photography. He works as Devops Engineer with Taggle systems, an IOT automatic water metering company, Sydney . You can contact him at surendra (@) linuxnix dot com.