source: MondoRescue/branches/stable/mindi/rootfs/sbin/find-and-mount-cdrom @ 1842

Last change on this file since 1842 was 1842, checked in by Bruno Cornec, 13 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 (
  • 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 <>)
  • 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 ( 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 <>)
  • 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
  • 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

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

  • Property svn:keywords set to Id
File size: 2.2 KB
4TryToFindCDROM() {
5# hda1 is there for testing
6    LogIt "find-and-mount-cdrom --- starting"
7    for device in /dev/hd? /dev/scd? /dev/rcd? /dev/sr? /dev/cd? /dev/ide/*/*/*/*/cd /dev/scsi/*/*/*/*/cd; do
8        [ ! "$SECOND_TRY" ] && LogIt "Trying $device"
9        if [ "`grep "using-cdstream yes" /tmp/mondo-restore.cfg`" ]; then
10            pwd=`pwd`
11            cd $GROOVY
12            tar -zxf $device 2> /tmp/mount.log
13            res=$?
14            cd $pwd
15            if [ "$res" -eq "0" ] ; then
16                clear
17                LogIt "Using cdstream as extended datadisk ($device). Good." 3
18                echo "Using cdstrea as extd dsk." > /tmp/TAPEDEV-HAS-DATA-DISKS
19                ln -sf $device /dev/cdrom
20                exit 0
21            fi
22        else
23            mount $device -t iso9660 -o ro /mnt/cdrom 2> /tmp/mount.log
24            res=$?
25        fi
26        if [ "$res" -ne "0" ] ; then
27            res=`cat /tmp/mount.log`
28            if [ "$res" = "mount: No medium found" ] ; then
29               [ ! "$SECOND_TRY" ] && LogIt "There is a CD-ROM drive at $device but no CD in it."
30            else
31               [ ! "$SECOND_TRY" ] && LogIt "It's not in $device; I'll keep looking"
32            fi
33            continue
34    fi
35    LogIt "$device has a CD-ROM in it"
36    umount /mnt/cdrom
37    ln -sf $device /dev/cdrom
38    if [ "$?" -ne "0" ]; then
39        LogIt "Unable to softlink $device to /dev/cdrom. That's weird."
40        continue
41    fi
42        LogIt "CD-ROM found at $device"
43        mount /mnt/cdrom
44        if [ "$?" -ne "0" ] ; then
45            LogIt "Cannot mount /dev/cdrom (type $format) (dev=$device)"
46            continue
47        elif [ ! -d "/mnt/cdrom/archives" ] ; then
48            LogIt "There is a CD in $device but it's not a Mondo CD"
49            continue
50        else
51            LogIt "$device is where the Mondo CD lives."
52            which hdparm > /dev/null 2> /dev/null && hdparm -u1 -c3 -d1 $device
53        return 0
54    fi
55    done
56    LogIt "Failed to find CD-ROM"
57    return 1
61# -------------- main ------------
63[ "$1" = "--second-try" ] && SECOND_TRY=yes
64if [ ! "$GROOVY" ] ; then
65    LogIt "I'm not groovy!"
66    exit 1
70if [ "$?" -eq "0" ] ; then
71    [ "$SECOND_TRY" ] && add="At 2nd attempt, " || add=""
72    LogIt $add"CD-ROM found and mounted at $device" 3
73    echo "$device" > /tmp/CDROM-LIVES-HERE
74    LogIt "find-and-mount-cdrom --- leaving (0)"
75    exit 0
77[ "$1" = "--second-try" ] && exit 1;
78if [ "`grep "using-cdstream=yes" /tmp/mondo-restore.cfg`" ] ; then
79    LogIt "Because you are using cdstream, I won't try to mount CD."
80    exit 0
Note: See TracBrowser for help on using the repository browser.