source: MondoRescue/branches/stable/mindi/mindi-bkphw@ 1312

Last change on this file since 1312 was 1280, checked in by Bruno Cornec, 17 years ago

First try to add HP Hardware support in mindi
Requires perl and dmidecode

File size: 2.2 KB
Line 
1#!/usr/bin/perl -w
2#
3# Backup the hardware configuration on machine supporting it
4# (Bios configuration, Raid configuration, ...)
5#
6use strict;
7use AppConfig;
8
9# Handling Configuration files
10my $mindiconf=YYY
11my $file1 = "$mindiconf/mindi.conf.dist";
12my $file2 = "$mindiconf/mindi.conf";
13my $tool = "";
14my $ret = 0;
15
16my $config = AppConfig->new({
17 # Auto Create variables mentioned in Conf file
18 CREATE => 1,
19 DEBUG => 0,
20 GLOBAL => {
21 # Each conf item has one single parameter
22 ARGCOUNT => AppConfig::ARGCOUNT_ONE
23 }
24 });
25$config->file($file1, $file2);
26
27open(SYSTEM,"dmidecode -s 'system-product-name' |") || die "You need dmidecode for mindi hardware support";
28my $productname = <SYSTEM>;
29close(SYSTEM);
30
31chomp($productname);
32if ($productname =~ /HP /) {
33 print "Detected an HP Hardware. Nice. Continue to support my job :-)";
34 if ($productname =~ / proliant /i) {
35 print "Activating Proliant support for mindi";
36 open(PROLIANT,"$mindiconf/deplist.d/proliant.conf") || die "Unable to open $mindiconf/deplist.d/proliant.conf";
37 while($tool = <PROLIANT>) {
38 next if ($tool =~ /^#/);
39 chomp($tool);
40 if (! (-e $tool) {
41 print "You should install the SmartStart Scripting toolkit tool $tool\nto benefit from mindi's enhanced hardware support\n";
42 print "Get it from http://www.hp.com/servers/sstoolkit\n";
43 } else {
44 print "Found $tool, activating enhanced HP Proliant support in mindi\n";
45 }
46 if ($tool =~ /conrep/) {
47 $ret = system("$tool -s -f".$config->get("mindi_cache_dir")."/conrep.dat");
48 }
49 if ($tool =~ /cpqacuxe/) {
50 $ret = system("$tool -c ".$config->get("mindi_cache_dir")."/cpqacuxe.dat");
51 }
52 if ($tool =~ /hponcfg/) {
53 $ret = system("$tool -w ".$config->get("mindi_cache_dir")."/hponcfg.dat");
54 }
55 if ($ret != 0) {
56 print "$tool returned an error. Hardware support may not be complete\n";
57 }
58 }
59 }
60} else {
61 print "No Hardware support for $productname\n";
62 print "Ask your manufacturer to contribute to the mindi project\n";
63}
Note: See TracBrowser for help on using the repository browser.