101.1 Determine and configure hardware settings

Nerd Cafe

This involves working with:

  • BIOS/UEFI

  • Boot process

  • Hardware devices (PCI, USB, CPU info, etc.)

  • Tools like lspci, lsusb, dmesg, lsmod, modprobe, etc.

Step 1: Understand the Role of BIOS/UEFI

BIOS (Basic Input/Output System) or UEFI (Unified Extensible Firmware Interface) initializes hardware before the OS starts.

Tasks:

  • Configure boot device order

  • Enable/disable onboard devices

  • Manage virtualization support

  • Check CPU features like Hyper-Threading, VT-x, etc.

You must access BIOS/UEFI before the OS boots (usually by pressing Del, F2, or Esc at boot time).

Step 2: View Hardware Information from Within CentOS

2.1 Check CPU Info

[root@nerd-cafe ~]# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 58
model name      : Intel(R) Core(TM) i7-3632QM CPU @ 2.20GHz
stepping        : 9
microcode       : 0x21
cpu MHz         : 2195.019
cache size      : 6144 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm ssbd rsb_ctxsw ibrs ibpb stibp fsgsbase tsc_adjust smep arat md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
bogomips        : 4390.03
clflush size    : 64
cache_alignment : 64
address sizes   : 45 bits physical, 48 bits virtual
power management:

[root@nerd-cafe ~]#

2.2 View Memory Info

[root@nerd-cafe ~]# cat /proc/meminfo
MemTotal:         995460 kB
MemFree:          424448 kB
MemAvailable:     432864 kB
Buffers:            2108 kB
Cached:           149548 kB
SwapCached:            0 kB
Active:           311924 kB
Inactive:         129364 kB
Active(anon):     290100 kB
Inactive(anon):    25256 kB
Active(file):      21824 kB
Inactive(file):   104108 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:        839676 kB
SwapFree:         839676 kB
Dirty:                 8 kB
Writeback:             0 kB
AnonPages:        289664 kB
Mapped:            58644 kB
Shmem:             25724 kB
Slab:              57496 kB
SReclaimable:      20364 kB
SUnreclaim:        37132 kB
KernelStack:        4048 kB
PageTables:         9304 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     1337404 kB
Committed_AS:     968220 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      180460 kB
VmallocChunk:   34359310332 kB
Percpu:            33280 kB
HardwareCorrupted:     0 kB
AnonHugePages:    206848 kB
CmaTotal:              0 kB
CmaFree:               0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       73600 kB
DirectMap2M:      974848 kB
[root@nerd-cafe ~]#

2.3 Check Disk Drives

[root@nerd-cafe ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0    8G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0    7G  0 part
  ├─centos-root 253:0    0  6.2G  0 lvm  /
  └─centos-swap 253:1    0  820M  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom
[root@nerd-cafe ~]#

or use:

[root@nerd-cafe ~]# fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000ec008

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    16777215     7339008   8e  Linux LVM

Disk /dev/mapper/centos-root: 6652 MB, 6652166144 bytes, 12992512 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/centos-swap: 859 MB, 859832320 bytes, 1679360 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

[root@nerd-cafe ~]#

2.4 View PCI Devices (e.g. network cards, GPUs)

[root@nerd-cafe ~]# lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:07.7 System peripheral: VMware Virtual Machine Communication Interface (rev 10)
00:0f.0 VGA compatible controller: VMware SVGA II Adapter
00:10.0 SCSI storage controller: Broadcom / LSI 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)
00:11.0 PCI bridge: VMware PCI bridge (rev 02)
00:15.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.7 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.7 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.7 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.7 PCI bridge: VMware PCI Express Root Port (rev 01)
02:00.0 USB controller: VMware USB1.1 UHCI Controller
02:01.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)
02:02.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)
02:04.0 USB controller: VMware USB2 EHCI Controller
[root@nerd-cafe ~]#

You can install pciutils if lspci is not found:

[root@nerd-cafe ~]# sudo yum install pciutils

2.5 View USB Devices

[root@nerd-cafe ~]# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
[root@nerd-cafe ~]#

Install usbutils if needed:

[root@nerd-cafe ~]# sudo yum install usbutils

Step 3: Kernel Messages and dmesg

3.1 View Boot Hardware Messages

[root@nerd-cafe ~]# dmesg | less

Useful filters:

[root@nerd-cafe ~]# dmesg | grep -i usb
[    0.442446] ACPI: bus type USB registered
[    0.442463] usbcore: registered new interface driver usbfs
[    0.442471] usbcore: registered new interface driver hub
[    0.442545] usbcore: registered new device driver usb
[    0.885826] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.886259] ehci-pci 0000:02:04.0: new USB bus registered, assigned bus number 1
[    0.893015] ehci-pci 0000:02:04.0: USB 2.0 started, EHCI 1.00
[    0.893120] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 3.10
[    0.893122] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.893124] usb usb1: Product: EHCI Host Controller
[    0.893126] usb usb1: Manufacturer: Linux 3.10.0-1160.102.1.el7.x86_64 ehci_hcd
[    0.893128] usb usb1: SerialNumber: 0000:02:04.0
[    0.893244] hub 1-0:1.0: USB hub found
[    0.893469] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.893497] uhci_hcd: USB Universal Host Controller Interface driver
[    0.893936] uhci_hcd 0000:02:00.0: new USB bus registered, assigned bus number 2
[    0.894385] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 3.10
[    0.894387] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.894389] usb usb2: Product: UHCI Host Controller
[    0.894391] usb usb2: Manufacturer: Linux 3.10.0-1160.102.1.el7.x86_64 uhci_hcd
[    0.894392] usb usb2: SerialNumber: 0000:02:00.0
[    0.894490] hub 2-0:1.0: USB hub found
[    0.894742] usbcore: registered new interface driver usbserial_generic
[    0.894749] usbserial: USB Serial support registered for generic
[    0.901352] usbcore: registered new interface driver usbhid
[    0.901353] usbhid: USB HID core driver
[    1.205798] usb 2-1: new full-speed USB device number 2 using uhci_hcd
[    1.345738] usb 2-1: New USB device found, idVendor=0e0f, idProduct=0003, bcdDevice= 1.03
[    1.345743] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    1.345746] usb 2-1: Product: VMware Virtual USB Mouse
[    1.345748] usb 2-1: Manufacturer: VMware
[    1.357301] input: VMware VMware Virtual USB Mouse as /devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-1/2-1:1.0/input/input4
[    1.357431] hid-generic 0003:0E0F:0003.0001: input,hidraw0: USB HID v1.10 Mouse [VMware VMware Virtual USB Mouse] on usb-0000:02:00.0-1/input0
[    1.469771] usb 2-2: new full-speed USB device number 3 using uhci_hcd
[    1.610598] usb 2-2: New USB device found, idVendor=0e0f, idProduct=0002, bcdDevice= 1.00
[    1.610602] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    1.610604] usb 2-2: Product: VMware Virtual USB Hub
[    1.610606] usb 2-2: Manufacturer: VMware, Inc.
[    1.618097] hub 2-2:1.0: USB hub found
[root@nerd-cafe ~]#

or:

[root@nerd-cafe ~]# dmesg | grep -i eth
[    2.556039] e1000 0000:02:01.0 eth0: (PCI:66MHz:32-bit) 00:0c:29:48:46:e1
[    2.556047] e1000 0000:02:01.0 eth0: Intel(R) PRO/1000 Network Connection
[    2.957370] e1000 0000:02:02.0 eth1: (PCI:66MHz:32-bit) 00:0c:29:48:46:eb
[    2.957376] e1000 0000:02:02.0 eth1: Intel(R) PRO/1000 Network Connection
[root@nerd-cafe ~]#

This shows how hardware was detected and initialized during boot.

Step 4: Kernel Modules (Drivers)

Linux uses kernel modules to load drivers dynamically.

4.1 List Loaded Kernel Modules

[root@nerd-cafe ~]# lsmod
Module                  Size  Used by
ip6t_rpfilter          12595  1
ip6t_REJECT            12625  2
nf_reject_ipv6         13717  1 ip6t_REJECT
ipt_REJECT             12541  2
nf_reject_ipv4         13373  1 ipt_REJECT
xt_conntrack           12760  13
ebtable_nat            12807  1
ebtable_broute         12731  1
bridge                155432  1 ebtable_broute
stp                    12976  1 bridge
llc                    14552  2 stp,bridge
ip6table_nat           12864  1
nf_conntrack_ipv6      18935  8
nf_defrag_ipv6         35104  1 nf_conntrack_ipv6
nf_nat_ipv6            14131  1 ip6table_nat
ip6table_mangle        12700  1
ip6table_security      12710  1
ip6table_raw           12683  1
iptable_nat            12875  1
nf_conntrack_ipv4      19149  7
nf_defrag_ipv4         12729  1 nf_conntrack_ipv4
nf_nat_ipv4            14115  1 iptable_nat
nf_nat                 26583  2 nf_nat_ipv4,nf_nat_ipv6
iptable_mangle         12695  1
iptable_security       12705  1
iptable_raw            12678  1
nf_conntrack          143411  6 nf_nat,nf_nat_ipv4,nf_nat_ipv6,xt_conntrack,nf_conntrack_ipv4,nf_conntrack_ipv6
ip_set                 45799  0
ebtable_filter         12827  1
ebtables               35009  3 ebtable_broute,ebtable_nat,ebtable_filter
ip6table_filter        12815  1
ip6_tables             26912  5 ip6table_filter,ip6table_mangle,ip6table_security,ip6table_nat,ip6table_raw
iptable_filter         12810  1
iosf_mbi               15582  0
crc32_pclmul           13133  0
ppdev                  17671  0
ghash_clmulni_intel    13273  0
aesni_intel           189456  0
lrw                    13286  1 aesni_intel
gf128mul               15139  1 lrw
glue_helper            13990  1 aesni_intel
ablk_helper            13597  1 aesni_intel
cryptd                 21190  3 ghash_clmulni_intel,aesni_intel,ablk_helper
vmw_balloon            18094  0
pcspkr                 12718  0
joydev                 17389  0
sg                     40719  0
vmw_vmci               67168  0
i2c_piix4              22401  0
parport_pc             28205  0
parport                46395  2 ppdev,parport_pc
ip_tables              27126  5 iptable_security,iptable_filter,iptable_mangle,iptable_nat,iptable_raw
xfs                  1014152  2
libcrc32c              12644  3 xfs,nf_nat,nf_conntrack
sr_mod                 22416  0
cdrom                  46696  1 sr_mod
ata_generic            12923  0
pata_acpi              13053  0
vmwgfx                296089  1
sd_mod                 46281  3
crc_t10dif             12912  1 sd_mod
drm_kms_helper        186531  1 vmwgfx
crct10dif_generic      12647  0
syscopyarea            12529  1 drm_kms_helper
sysfillrect            12701  1 drm_kms_helper
sysimgblt              12640  1 drm_kms_helper
fb_sys_fops            12703  1 drm_kms_helper
ttm                   100769  1 vmwgfx
crct10dif_pclmul       14307  1
crct10dif_common       12595  3 crct10dif_pclmul,crct10dif_generic,crc_t10dif
crc32c_intel           22094  1
drm                   468454  4 ttm,drm_kms_helper,vmwgfx
ata_piix               35052  0
nfit                   59735  0
mptspi                 22673  2
serio_raw              13434  0
libata                247190  3 pata_acpi,ata_generic,ata_piix
scsi_transport_spi     30732  1 mptspi
libnvdimm             163620  1 nfit
e1000                 137624  0
mptscsih               40150  1 mptspi
mptbase               106036  2 mptspi,mptscsih
drm_panel_orientation_quirks    17180  1 drm
dm_mirror              22326  0
dm_region_hash         20813  1 dm_mirror
dm_log                 18411  2 dm_region_hash,dm_mirror
dm_mod                128595  8 dm_log,dm_mirror
[root@nerd-cafe ~]#

4.2 Load a Kernel Module

[root@nerd-cafe ~]# sudo modprobe <module_name>

Example: To load the e1000e network driver:

[root@nerd-cafe ~]# sudo modprobe e1000e

4.3 Unload a Kernel Module

[root@nerd-cafe ~]# sudo modprobe -r <module_name>

4.4 Check Module Info

[root@nerd-cafe ~]# modinfo e1000e
filename:       /lib/modules/3.10.0-1160.102.1.el7.x86_64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko.xz
version:        3.2.6-k
license:        GPL v2
description:    Intel(R) PRO/1000 Network Driver
author:         Intel Corporation, <[email protected]>
retpoline:      Y
rhelversion:    7.9
srcversion:     098ECE9B1EBA1A3C30EA7ED
alias:          pci:v00008086d000015E2sv*sd*bc*sc*i*
...
alias:          pci:v00008086d0000105Esv*sd*bc*sc*i*
depends:        ptp
intree:         Y
vermagic:       3.10.0-1160.102.1.el7.x86_64 SMP mod_unload modversions
signer:         CentOS Linux kernel signing key
sig_key:        56:7C:0A:85:06:C7:C3:00:F0:66:03:5C:EA:63:E5:BA:FD:E2:3F:DA
sig_hashalgo:   sha256
parm:           debug:Debug level (0=none,...,16=all) (int)
parm:           copybreak:Maximum size of packet that is copied to a new buffer on receive (uint)
parm:           TxIntDelay:Transmit Interrupt Delay (array of int)
parm:           TxAbsIntDelay:Transmit Absolute Interrupt Delay (array of int)
parm:           RxIntDelay:Receive Interrupt Delay (array of int)
parm:           RxAbsIntDelay:Receive Absolute Interrupt Delay (array of int)
parm:           InterruptThrottleRate:Interrupt Throttling Rate (array of int)
parm:           IntMode:Interrupt Mode (array of int)
parm:           SmartPowerDownEnable:Enable PHY smart power down (array of int)
parm:           KumeranLockLoss:Enable Kumeran lock loss workaround (array of int)
parm:           WriteProtectNVM:Write-protect NVM [WARNING: disabling this can lead to corrupted NVM] (array of int)
parm:           CrcStripping:Enable CRC Stripping, disable if your BMC needs the CRC (array of int)
[root@nerd-cafe ~]#

Step 5: Configure Modules to Load at Boot

Edit /etc/modules-load.d/ or use /etc/modprobe.d/

Example: Auto-load loop module on boot

[root@nerd-cafe ~]# echo loop | sudo tee /etc/modules-load.d/loop.conf
loop
[root@nerd-cafe ~]#

Step 6: Check and Configure IRQs and DMA (optional for most modern systems)

View interrupt requests (IRQs):

[root@nerd-cafe ~]# cat /proc/interrupts
            CPU0
   0:        112   IO-APIC-edge      timer
   1:         42   IO-APIC-edge      i8042
   8:          1   IO-APIC-edge      rtc0
   9:          0   IO-APIC-fasteoi   acpi
  12:        127   IO-APIC-edge      i8042
  14:          0   IO-APIC-edge      ata_piix
  15:       3131   IO-APIC-edge      ata_piix
  16:       4715   IO-APIC-fasteoi   vmwgfx, ens34
  17:      11450   IO-APIC-fasteoi   ioc0
  18:         65   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb2
  19:      25454   IO-APIC-fasteoi   ens33
  24:          0   PCI-MSI-edge      PCIe PME, pciehp
  25:          0   PCI-MSI-edge      PCIe PME, pciehp
  26:          0   PCI-MSI-edge      PCIe PME, pciehp
  27:          0   PCI-MSI-edge      PCIe PME, pciehp
  28:          0   PCI-MSI-edge      PCIe PME, pciehp
  29:          0   PCI-MSI-edge      PCIe PME, pciehp
  30:          0   PCI-MSI-edge      PCIe PME, pciehp
  31:          0   PCI-MSI-edge      PCIe PME, pciehp
  32:          0   PCI-MSI-edge      PCIe PME, pciehp
  33:          0   PCI-MSI-edge      PCIe PME, pciehp
  34:          0   PCI-MSI-edge      PCIe PME, pciehp
  35:          0   PCI-MSI-edge      PCIe PME, pciehp
  36:          0   PCI-MSI-edge      PCIe PME, pciehp
  37:          0   PCI-MSI-edge      PCIe PME, pciehp
  38:          0   PCI-MSI-edge      PCIe PME, pciehp
  39:          0   PCI-MSI-edge      PCIe PME, pciehp
  40:          0   PCI-MSI-edge      PCIe PME, pciehp
  41:          0   PCI-MSI-edge      PCIe PME, pciehp
  42:          0   PCI-MSI-edge      PCIe PME, pciehp
  43:          0   PCI-MSI-edge      PCIe PME, pciehp
  44:          0   PCI-MSI-edge      PCIe PME, pciehp
  45:          0   PCI-MSI-edge      PCIe PME, pciehp
  46:          0   PCI-MSI-edge      PCIe PME, pciehp
  47:          0   PCI-MSI-edge      PCIe PME, pciehp
  48:          0   PCI-MSI-edge      PCIe PME, pciehp
  49:          0   PCI-MSI-edge      PCIe PME, pciehp
  50:          0   PCI-MSI-edge      PCIe PME, pciehp
  51:          0   PCI-MSI-edge      PCIe PME, pciehp
  52:          0   PCI-MSI-edge      PCIe PME, pciehp
  53:          0   PCI-MSI-edge      PCIe PME, pciehp
  54:          0   PCI-MSI-edge      PCIe PME, pciehp
  55:          0   PCI-MSI-edge      PCIe PME, pciehp
  56:          0   PCI-MSI-edge      vmw_vmci
  57:          0   PCI-MSI-edge      vmw_vmci
 NMI:          0   Non-maskable interrupts
 LOC:     132836   Local timer interrupts
 SPU:          0   Spurious interrupts
 PMI:          0   Performance monitoring interrupts
 IWI:       7203   IRQ work interrupts
 RTR:          0   APIC ICR read retries
 RES:          0   Rescheduling interrupts
 CAL:          0   Function call interrupts
 TLB:          0   TLB shootdowns
 TRM:          0   Thermal event interrupts
 THR:          0   Threshold APIC interrupts
 DFR:          0   Deferred Error APIC interrupts
 MCE:          0   Machine check exceptions
 MCP:         12   Machine check polls
 ERR:          0
 MIS:          0
 PIN:          0   Posted-interrupt notification event
 NPI:          0   Nested posted-interrupt event
 PIW:          0   Posted-interrupt wakeup event
[root@nerd-cafe ~]#

Direct memory access (DMA) channels (less relevant on modern systems):

[root@nerd-cafe ~]# cat /proc/dma
 4: cascade
[root@nerd-cafe ~]#

Step 7: Troubleshoot Hardware Detection

  • Check dmesg for errors.

  • Use lspci -v or lsusb -v for detailed info.

  • If a device is not working, identify its driver and ensure the module is loaded.

  • Check logs:

[root@nerd-cafe ~]# sudo journalctl -k

Summary of Important Commands

Command
Description

cat /proc/cpuinfo

View CPU details

cat /proc/meminfo

View memory usage

lsblk

List block storage devices

lspci

List PCI devices

lsusb

List USB devices

dmesg

Kernel and boot messages

lsmod

Show loaded modules

modprobe

Load/unload kernel modules

modinfo

View module info

journalctl -k

Kernel log messages

Keywords

BIOS, UEFI, CPU info, memory info, lsblk, fdisk, lspci, lsusb, dmesg, kernel modules, lsmod, modprobe, modinfo, CentOS, IRQ, DMA, journalctl, hardware detection, boot process, hardware configuration, nerd cafe

Last updated