source: trunk/mindi/get-modules.pl @ 3213

Last change on this file since 3213 was 3213, checked in by bruno, 5 years ago
  • Add a get-modules.pl script to mindi (TBD further)
  • Property svn:executable set to *
File size: 1.1 KB
Line 
1#!/usr/bin/perl -w
2
3use strict;
4use POSIX "uname";
5use Data::Dumper;
6
7my ($sysname, $nodename, $release, $version, $machine ) = uname();
8my $ver = "";
9my $module = ""; 
10my %modlist;
11my $void = "";
12my $allmodules = "";
13
14
15if (not (defined $ARGV[0])) {
16        $ver = $release;
17} else {
18        $ver = $ARGV[0];
19}
20open(LSMOD, "/sbin/lsmod |") or die "Unable to launch lsmod";
21open(DEPMOD, "/sbin/depmod -n $ver |") or die "Unable to launch depmod";
22
23while (<DEPMOD>) {
24    ($module, $modlist{$module}) = split(/:/);
25    chomp($modlist{$module});
26    last if ($module =~ /^#/);
27    #print "Analyzing $module\n";
28}
29print Dumper(%modlist)."\n";
30while (<LSMOD>) {
31    next if (/^Module/);
32    ($module, $void) = split(/ /);
33    #print "Analyzing $module\n";
34    $module = `/sbin/modinfo -n $module`;
35    chomp($module);
36    my ($void,$lib,$modulep,$kernelv,$modpath) = split(/\//,$module,5);
37    print "modpath: $modpath\n";
38    $allmodules .= $modlist{$modpath};
39}
40close(LSMOD);
41close(DEPMOD);
42$allmodules =~ s/\n/ /g;
43$allmodules =~ s/  */ /g;
44$allmodules =~ s/ [0-9A-z\/]*\// /g;
45$allmodules =~ s/\.ko.xz//g;
46print "all modules: $allmodules\n";
Note: See TracBrowser for help on using the repository browser.