source: branches/stable/mindi/mindi-bkphw @ 1842

Last change on this file since 1842 was 1842, checked in by bruno, 12 years ago
  • Fix lack of /etc/raidtab at restore rime in the right place
  • Adds support for nls_utf8 and pata_serverworks Patches from Dirk Husung (husung_at_tu-harburg.de)
  • Add efibootmgr to deplist.txt in order to be able to modify EFI menu at restore time on ia64
  • Usage of the new testver param of pb 0.8.12 to deliver 2.2.5 packages in a test dir.
  • Update pbcl files for upcoming delivery of 2.2.5
  • Fix an issue on parted output (K instead of KB) in parted2fdisk at restore time
  • Adds support for alb/aft types of bonding on Intel cards (Mark Pinkerton <Mark.Pinkerton_at_emageon.com>)
  • Escape variables in a perl script like mindi-bkphw
  • Better Proliant support at restore time now.
  • Fix a label bug where the variable label should also be re-initialized at each loop
  • start-nfs should NOT do exit => kernel panix as init exits
  • some other fixes for init on denymods
  • Adds boot options denymods (for udev) and forcemods (if not udev)
  • kqemu is denied. Probably should also be done for kvm stuff
  • Fix again the bug on modules link at root of the initrd. Hopefully for good.
  • Wait more around the USB CD emulated by iLO as it takes up to 5 seconds to come up
  • Attempt to fix udev support for RHEL 5.1
  • Better support for automatic iLO Virtual Media with udev
  • Some VMWare support improvements (however, it seems that VMWare support won't be possible anytime soon)
  • during init at restore time, copy all static evices availble for udev, as some distro implementation are no

t yet supported correctly for udev. Not very elegant, but should solve our current issues

  • Fedora 8 now supported as a build target for pb
  • svn.log removed.
  • dependencies reviewd for rhel_3
  • Attempt to fix the lack of modules loaded at restore time - especially fs device drivers
  • removes bkphw dir before potential creation
  • render mount command more vebose at restore time
  • Should fix #217
  • Increase BOOT_SIZE and EXTRA_SIZE to support features such as HW recovery
  • Handles udev.files files which could be symlinks
  • Improve udev support for distro with compressed modules (mdv e.g.)
  • Fix modules.dep copy
  • /sbin/pam_console_apply is needed by mdv udev conf
  • Adds support for nohw boot option to avoid re-setuping the HW conf
  • Improved support for Proliant on cpqacuxe
  • RstHW should be called after driver initialization
  • For debian/ubuntu mindi dpends on mindi-busybox
  • Update mindi-busybox pbcl for correct debian changelog generation, and up2date infos
  • Should fix #215
  • Fix #214 (Thanks to xdelaruelle)
  • Fix again svn.log not used anymore with new pb version
  • Adaptation of build process to upcoming 0.8.12 version of pb
  • Remove MONOTONIC clock to continue to support 2.4 kernels (RHEL 3 e.g. or ESX)
  • Attempt to solve ia64 BMC access through the serial port
  • parted2fdisk binary no more generated
  • do not require perl modules (strict.pm) at restore time
  • try to avoid modprobe messages at restore time
  • on ia64 now use the perl script parted2fdisk at retore time also
  • Also modprobe modules for udev after decompressing the additional ones
  • replace gzip -v9 by gzip -c9. Fix a bug at least on ia64
  • For all modules supported, create symlinks under the mountpoint and extract dev files as some are not automat ically created at the moment
  • Support /vmfs/volumes for ESX
  • Finally do not use vdf for ESX. Only creates issues.
  • Avoids continuing hw support if no product name found
  • Improves ia64 support for bootable image build
  • Fix a potential problem with ramdisk_blocksize param
  • MAKEDEV should also be included in deplist.txt
  • More fixes for udev support for Debian
  • Do not mount /boot if it's already mounted - avoids ESX hang
  • Fix NICs renumbering on Debian at least
  • Udev startup improvement to support iLO + NFS so modprobing all modules seems required as of now
  • Update to version 1.7.3 of busybox for pb
  • Load USB earlier in order to support KBD such as with iLO
  • Do busybox ldd first in order to create a potential /lib64 link correctly and then use it later in the image
  • Use variable DF in mindi to be able to support the ESX vdf
  • Fix mindi for Debian x86_64 where /lib64 is a link
  • Fix issue at restore time for ext2fs params not reused (Fix from Klaus Ade Johnstad <klaus_at_skolelinux.no>)
  • Do not copy udev files if they do not exist In udev case do not insert modules at all (udev should do it alone) May avoid the issue with rhel4.5 kernel ? To be tested
  • Update dependencies for rpm base build as well
  • And also perl is a debian/ubuntu dep
  • Better debian/ubuntu dependecies requirements (mtools)
  • Fix modes on mindi-bkphw (Thanks Phil Walker phil.walker_at_hp.com)
  • Complete rev [1771] for upper case RESTORE cli with syslinux as well
  • Update mindi-busybox to 1.7.3
  • Use RESTORE consistently across mondo to restore without interaction (report from Takeshi Shoji t.shoji_at_tripodw.jp)

(merge -r1769:1841 $SVN_M/branches/2.2.5)

File size: 3.1 KB
Line 
1#!/usr/bin/perl -w
2#
3# $Id$
4#
5# Backup the hardware configuration on machine supporting it
6# (Bios configuration, Raid configuration, ...)
7#
8use strict;
9use File::Basename;
10
11# Handling Configuration files
12die "No CACHE_DIR parameter" if ((not defined $ARGV[0]) || (! -d $ARGV[0]));
13my $bkpdir = "$ARGV[0]/bkphw";
14die "No CONF_DIR parameter" if ((not defined $ARGV[1]) || (! -d $ARGV[1]));
15my $confdir = "$ARGV[1]";
16
17mkdir $bkpdir,0755 if (! -d $bkpdir) ;
18open(SYSTEM,"/usr/sbin/dmidecode -s 'system-product-name' |") || die "You need /usr/sbin/dmidecode for mindi hardware support";
19my $productname = <SYSTEM>;
20close(SYSTEM);
21
22die "No product name found for Hardware support\n" if (not defined $productname);
23
24chomp($productname);
25if ($productname =~ /proliant/i) {
26    print "Detected a $productname. Nice. Continue to support my job :-)\n";
27    print "Activating Proliant support for mindi\n";
28    open(PROLIANT,"$confdir/proliant.files") || die "Unable to open $confdir/proliant.files";
29    open(TOOLS,"> $bkpdir/../tools.files") || die "Unable to open $bkpdir/../tools.files";
30    open(SCRIPT,"> $bkpdir/../mindi-rsthw") || die "Unable to open $bkpdir/../mindi-rsthw";
31    print SCRIPT  << 'EOF';
32#!/bin/bash
33#
34# This script will restore potentially your HW configuration
35# on your system before partioning occurs
36# You may want to reboot after that step if you think that
37# resetting BIOS parameters to the value restored
38# may have an impact on you restoration process
39#
40# put dynamic libraries at an accessible place
41for l in /usr/local/lib/*; do
42    ln -sf $l /usr/lib
43done
44EOF
45    while($tool = <PROLIANT>) {
46        next if ($tool =~ /^#/);
47        chomp($tool);
48        $tooldir = dirname($tool);
49        if (! (-e $tool)) {
50            print "You should install the SmartStart Scripting toolkit tool $tool\nto benefit from mindi's enhanced hardware support\n";
51            print "Get it from http://www.hp.com/servers/sstoolkit\n";
52            next;
53        } else {
54            print "Found $tool, activating enhanced HP Proliant support in mindi\n";
55            print TOOLS "$tool\n";
56        }
57        if ($tool =~ /\/conrep$/) {
58            $ret = system("cd $tooldir ; $tool -s -f$bkpdir/conrep.dat");
59            print SCRIPT "(cd $tooldir ; $tool -l -f$bkpdir/conrep.dat)\n";
60            print TOOLS "$tool.xml\n";
61        }
62        if ($tool =~ /\/.acuxebin$/) {
63            my $dir=basename($tool);
64            $ret = system("export ACUXE_BIN_INSTALLATION_DIR=$dir ; export IM_CFGFILE_PATH=$dir ; export ACUXE_LOCK_FILES_DIR=$dir/locks ; $tool -c $bkpdir/cpqacuxe.dat");
65            print SCRIPT "export ACUXE_BIN_INSTALLATION_DIR=$dir ; export IM_CFGFILE_PATH=$dir ; export ACUXE_LOCK_FILES_DIR=$dir/locks ; $tool -i $bkpdir/cpqacuxe.dat\n";
66            print TOOLS "$tooldir/bld\n";
67        }
68        if ($tool =~ /\/hponcfg$/) {
69            $ret = system("$tool -w $bkpdir/hponcfg.dat");
70            print SCRIPT "$tool -r $bkpdir/hponcfg.dat\n";
71        }
72        if ($tool =~ /\.scexe$/) {
73            print SCRIPT "$tool\n";
74        }
75        if ($ret != 0) {
76            print "$tool returned an error. Hardware support may not be complete\n";
77        }
78    }
79    close(PROLIANT);
80    close(TOOLS);
81    close(SCRIPT);
82} else {
83    print "No Hardware support for $productname\n";
84    print "You may ask your manufacturer to contribute to the mindi project\n";
85}
86rmdir $bkpdir if (-d $bkpdir) ;
Note: See TracBrowser for help on using the repository browser.