High-level discovery tools
As well as these tools, which are specific to a certain bus or device type, there are also tools that can help you discover all hardware present in a system.
dmidecode
On x86 systems, you can use a program named dmidecode
to retrieve and view information from the firmware (BIOS/UEFI) via the Desktop Management Interface (hence its name). That interface is also known as SMBIOS. Since it’s specific to the x86 PC firmware standards, it will not work on machines with other architectures such as ARM or MIPS, but on x86 laptops, workstations, and servers, it can help you discover information that cannot be obtained in any other way, such as the number of RAM slots.
One disadvantage is that you need root
privileges to run it. Another thing to take note of is that it produces a lot of output. There is no way to reproduce a complete output in the book because it would take many pages, but for reference, here’s what the beginning of its output...