summaryrefslogtreecommitdiffstats
path: root/kernel/README
blob: 33a777fd25e3f71fa5f07df2fb6a0c64dffbb1d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Updating the module list contained in list_modules.pm is regrettably a
largely manual task. To find what has changed in the latest kernel, run

  ./check_module_list.pl /path/to/kernel-desktop-<version>.rpm

This will extract information about the available kernel modules from the
RPM file and print a report to stdout. The report is in two parts.

The first part filters the list of kernel modules to find drivers we are
interested in (pci/usb/firewire/pcmcia/dmi/acpi/hid/serio/mdio) and prints
a single line for each such module. If the module is already listed in
list_modules.pm, the line is prefixed by "#". The remainder of the line 
contains the module path (relative to the root of the kernel source tree)
the module file name (excluding the .ko.xz suffix), and either the category
the module is listed under in list_modules.pm or, if the module is not already
listed, the module description.

The second part lists each module that is already listed in list_modules.pm
and prints a single line for each such module. If the module is one of the
drivers listed in the first part of the report, the line is prefixed by "#".
If the module is a built-in module, the line is prefixed by "=". If the
module is not in the list of kernel modules obtained from the RPM, the line
is prefixed by "!".

The upshot of this is that any lines prefixed by "#" can be ignored. Lines
prefixed by "!" represent modules listed in list_modules.pm that no longer
exist in the kernel (either because they've been renamed or because they are
obsolete). In the first part of the report, lines with no prefix represent
driver modules that could potentially be added to list_modules.pm, but this
will require some judgement on the part of the user. In the second part of
the report, lines with no prefix represent non-driver modules. These will
be modules that are included in the installer stage 1 image, but there is
no obvious way to check which ones are really needed.

The output from check_module_list.pl after updating list_modules.pm should
be saved in check_module_list.rpt for reference when next updating.

After updating the module lists in list_modules.pm, running

  perl -I. modules.pm check <kernel-version>

will check whether there are any modules listed in pcitable.gz pr usbtable.gz
in /usr/share/ldetect-lst that are not also listed in list_modules.pm. The
specified kernel version needs to be installed on the system for this to work.
If <kernel-version> is omitted, the currently running kernel version will be
used. 'make check' will run this.