source: MondoRescue/branches/3.2/mindi/get-modules.pl@ 3241

Last change on this file since 3241 was 3213, checked in by Bruno Cornec, 10 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.