Skip to main content


Showing posts from January 6, 2009

Grokking Linux Modules

A lot of the functionality of Linux is contained in the kernel modules. These small pieces of software link the Linux kernel to your hardware, but it's not all that easy to get information about them if you are having trouble with a particular module.

The command lsmod will list all currently loaded modules.

The command modinfo will list general information about a particular module.

The command get_module will list specific information about a particular module as loaded in your kernel.

My system was generating an error message about the shpchp module. To see what other modules might be associated with it:

# lsmod | grep shpchp
shpchp 33556 0
pci_hotplug 29476 1 shpchp

To get the general information about the module:

# modinfo shpchp
filename: /lib/modules/
license: GPL
description: Standard Hot Plug PCI Controller Driver
author: Dan Zink , Greg Kroah-Hartman , Dely S…

Trusted Platform Module

TPM, or Trusted Platform Module can be used to authenticate computer hardware or protect encrypted disks. A HOWTO can be found here. The Wikipedia entry is here.

TPM is supported only on devices that have TPM hardware support and is typically enabled in the BIOS. A guide to actually using TPM is included in the references. 

It's mentioned here only because I was curious about it.I stumbled upon this while looking at the parameters for the libata module. It has an option named allow_tpm which, when enabled (it's disabled by default) permits the use of the TPM modules and functions. It can be enabled with an entry in /etc/modprobe.conf as:

option libata allow_tpm=1

Do you have TPM support in your Linux kernel? If so, the modules will be listed with the command:

# ls -la /lib/modules/`uname -r`/kernel/drivers/char/tpm

If you are using TPM to secure your hard drive, it makes sense to use a bootloader that can access it. That bootloader would be TrustedGRUB, a modification of GRUB t…