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

Last change on this file since 1842 was 1842, checked in by Bruno Cornec, 16 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
RevLine 
[925]1#!/usr/bin/perl -w
2#
[1842]3# $Id$
4#
[925]5# Backup the hardware configuration on machine supporting it
6# (Bios configuration, Raid configuration, ...)
7#
[1280]8use strict;
[1469]9use File::Basename;
[925]10
[1280]11# Handling Configuration files
[1770]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) ;
[1842]18open(SYSTEM,"/usr/sbin/dmidecode -s 'system-product-name' |") || die "You need /usr/sbin/dmidecode for mindi hardware support";
[1280]19my $productname = <SYSTEM>;
20close(SYSTEM);
21
[1842]22die "No product name found for Hardware support\n" if (not defined $productname);
23
[1280]24chomp($productname);
[1467]25if ($productname =~ /proliant/i) {
[1842]26 print "Detected a $productname. Nice. Continue to support my job :-)\n";
[1467]27 print "Activating Proliant support for mindi\n";
[1770]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";
[1842]31 print SCRIPT << 'EOF';
[1770]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#
[1842]40# put dynamic libraries at an accessible place
41for l in /usr/local/lib/*; do
42 ln -sf $l /usr/lib
43done
[1770]44EOF
[1467]45 while($tool = <PROLIANT>) {
46 next if ($tool =~ /^#/);
47 chomp($tool);
[1469]48 $tooldir = dirname($tool);
[1467]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";
[1770]55 print TOOLS "$tool\n";
[1280]56 }
[1770]57 if ($tool =~ /\/conrep$/) {
[1842]58 $ret = system("cd $tooldir ; $tool -s -f$bkpdir/conrep.dat");
59 print SCRIPT "(cd $tooldir ; $tool -l -f$bkpdir/conrep.dat)\n";
[1770]60 print TOOLS "$tool.xml\n";
[1467]61 }
[1842]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";
[1770]66 print TOOLS "$tooldir/bld\n";
[1467]67 }
[1770]68 if ($tool =~ /\/hponcfg$/) {
69 $ret = system("$tool -w $bkpdir/hponcfg.dat");
[1842]70 print SCRIPT "$tool -r $bkpdir/hponcfg.dat\n";
[1467]71 }
[1770]72 if ($tool =~ /\.scexe$/) {
[1842]73 print SCRIPT "$tool\n";
[1770]74 }
[1467]75 if ($ret != 0) {
76 print "$tool returned an error. Hardware support may not be complete\n";
77 }
[1280]78 }
[1770]79 close(PROLIANT);
80 close(TOOLS);
81 close(SCRIPT);
[1280]82} else {
83 print "No Hardware support for $productname\n";
[1842]84 print "You may ask your manufacturer to contribute to the mindi project\n";
[1280]85}
[1770]86rmdir $bkpdir if (-d $bkpdir) ;
Note: See TracBrowser for help on using the repository browser.