How can I check what hardware I have? (With BIOS version etc.)
Linux Hardware – Getting Information on a Machine’s Hardware
hardwarelinuxsystem-information
Related Solutions
For CPU-Z I can't really say (/proc/cpuinfo
doesn't give core speed, multiplier etc...).
For hardware monitoring the sensors
command (part of the lm_sensors
package) should work; it doesn't have a GUI per se, however.
Finally, the stresslinux
distro has many stress-testing utilities.
stresslinux makes use of some utitlities available on the net like: stress, cpuburn, hddtemp, lm_sensors ...
stresslinux is dedicated to users who want to test their system(s) entirely on high load and monitoring the health.
Stresslinux is for people (system builders, overclockers) who want to test their hardware under high load and monitor stability and thermal environment.
What I want is something that checks all hardware actually supported by the kernel in use without taking into consideration if I am using that hardware or not.
If you have the .config
file the kernel was built with, you can download the source and run make menuconfig
, which will give you an idea of A) what hardware it is possible to configure a kernel for (but see NOTE), and B) what hardware your kernel is actually configured for.
So to do this:
- Download the source. Your distro may have a package, or you can get them from kernel.org; find your version with
uname -r
. - Find the
.config
used for your kernel. If you got the source via your distro, it will hopefully be included; you may also be able to find it somewhere in /boot. Even better: often now distro kernels are built with the/proc/config.gz
feature. If it exists, copy that out, ungzip it, rename the file.config
and copy it into the top level of the kernel source tree. - Run
make menuconfig
from inside the top level of the source tree. You will need the ncurses development package installed (ncurses-dev
orncurses-devel
) and you need to be root.
You can't do anything bad while using menuconfig beyond change the contents of the .config
file, which won't matter (just don't confuse yourself with it later).
NOTE: You can't actually see all the possible hardware configurations at the same time, since different options may appear in one place based on what has been selected some other place. Kernel configuration is a bit of a labyrinth. However, you will definitely see everything that is actually selected (M
means it is a module, *
means it is built in).
Best Answer
If your system supports a procfs, you can get much information of your running system. Its an interface to the kernels data structures, so it will also contain information about your hardware. For example to get details about the used CPU you could
cat /proc/cpuinfo
For more information you should see the man proc.More hardware information can be obtained through the kernel ring buffer logmessages with
dmesg
. For example this will give you a short summary of recently attached hardware and how it is integreated in the system.These are some basic "interfaces" you will have on every distribution to obtain some hardware information.
Other 'small' tools to gather hardware information are:
Depending on your distribution you will also have access to one of these two tools to gather a detailed overview of your hardware configuration:
The "gate" to your hardware is thorugh the "Desktop Management Interface" (-> DMI). This framework will expose your system information to your software and is used by lshw for example. A tool to interact directly with the DMI is dmidecode and availible on the most distributions as package. It will come with
biosdecode
which shows you also the complete availbile BIOS informations.