diff options
Diffstat (limited to 'rescue/Flash/scripts/rescue_common')
-rw-r--r-- | rescue/Flash/scripts/rescue_common | 205 |
1 files changed, 0 insertions, 205 deletions
diff --git a/rescue/Flash/scripts/rescue_common b/rescue/Flash/scripts/rescue_common deleted file mode 100644 index 77435e6da..000000000 --- a/rescue/Flash/scripts/rescue_common +++ /dev/null @@ -1,205 +0,0 @@ -#!/bin/bash - -function detect_version() { - version="" - if has_label Share; then - version="1.0" - elif has_label MDVUSBROOT; then - version="1.05" - elif has_label Mdv_Flash; then - version="2.0" - elif has_label MDV_FLASH; then - version="2.05" - fi - usbroot_device=$_device - source_version_variables - - [ -n "$version" ] -} - -function source_version_variables { - local _version - _version=$1 - [ -z "$_version" ] && _version=$version - if [ "$_version" = "1.0" ]; then - label=MDVUSBROOT - boot_rel="/boot" - loopbacks_rel="/loopbacks" - elif [ "$_version" = "1.05" ]; then - label=MDVUSBROOT - boot_rel="/.boot" - loopbacks_rel="/.loopbacks" - elif [ "$_version" = "2.0" ]; then - label=Mdv_Flash - boot_rel="/.boot" - loopbacks_rel="/.loopbacks" - elif [ "$_version" = "2.05" ]; then - label=MDV_FLASH - boot_rel="/.boot" - loopbacks_rel="/.loopbacks" - fi -} - -function has_label() { - local _label _tmpdir - _label=$1 - - _tmpdir="/tmp/$$" - - mkdir -p $_tmpdir - - nash --force > /dev/null 2>&1 <<EOF -mount -t vfat LABEL=$_label $_tmpdir -EOF - - rc=$? - - _device=`perl -ne 'my @l = split; $l[1] eq "'$_tmpdir'" and print "$l[0]\n"' /proc/mounts` - [ -z "$_device" ] && rc=1 - - umount $_tmpdir 2> /dev/null - rmdir $_tmpdir 2> /dev/null - - return $rc -} - -function check_vendor() { - - # list of supported vendors/models - - # mandriva flash 1.0 (france) - vendors[0]="13fe" - models[0]="1a00" - # mandriva flash 1.0 (brazil) - vendors[1]="0930" - models[1]="653e" - # mandriva flash 4GB (france) - vendors[2]="13fe" - models[2]="1d00" - - rc=1 - - mount -t usbfs none /proc/bus/usb 2> /dev/null - - i=0 - while [ ! -z "${vendors[$i]}" ]; do - - grep "P:" /proc/bus/usb/devices | grep -q \ - "Vendor=${vendors[$i]} ProdID=${models[$i]}" - if [ $? -eq 0 ]; then - rc=0 - break - fi - - let i++ - done - - umount /proc/bus/usb 2> /dev/null - - return $rc -} - -function insert_pendrive() { - - _tmpdir="/tmp/rescue-temp" - mkdir -p $_tmpdir - - modprobe usb-storage > /dev/null 2>&1 - modprobe vfat > /dev/null 2>&1 - - echo - echo -n 'Please insert your Mandriva Flash pen drive and press ENTER when ready: ' - read READY - echo - echo -n 'Detecting pen drive: ' - - for ((i=0; $i <= 15 ; i++)); do - detect_version && nash --force > /dev/null 2>&1 <<EOF -mount -t vfat LABEL=$label $_tmpdir -EOF - if [ $? -ne 0 ]; then - echo -n '.' - sleep 1 - else - echo -n ' found!' - - if ! check_vendor; then - echo - echo "This is not an official Mandriva Flash key!" - echo - fi - - cat /proc/mounts | grep $_tmpdir | cut -d' ' -f1 | \ - sed 's/[0-9]*$//g' > /tmp/rescue-device - umount $_tmpdir - rmdir $_tmpdir 2> /dev/null - - return 0 - fi - done - - rmdir $_tmpdir 2> /dev/null - - echo - echo - echo "Couldn't detect Mandriva Flash pen drive!" - echo - - return 1 -} - -function mount_usbroot() { - - nash --force > /dev/null 2>&1 <<EOF -mount -t vfat LABEL=$label $1 -EOF - if [ $? -ne 0 ]; then - echo "Error mounting device labeled $label" - return 1 - fi - - return 0 -} - -function mount_sharedroot() { - - nash --force > /dev/null 2>&1 <<EOF -mount -t vfat LABEL=Share $1 -EOF - if [ $? -ne 0 ]; then - echo "Error mounting device labeled Share" - return 1 - fi - - return 0 -} - -function progress() { - - echo -ne '\b|' - usleep 100000 - echo -ne '\b/' - usleep 100000 - echo -ne '\b-' - usleep 100000 - echo -ne '\b\\' - usleep 100000 -} - -function lumount() { - local dir=$1 - loop=$(perl -ne '@l = split; if ($l[1] eq "'$dir'") { print $l[0]; exit }' /proc/mounts) - umount $dir - losetup -d $loop -} - -function set_sfs_loop() { - local dir=$1 - sfs_loop_std="$dir$loopbacks_rel/distrib.sqfs" - sfs_loop_lzma="$dir$loopbacks_rel/distrib-lzma.sqfs" - if [ -e $sfs_loop_lzma ]; then - sfs_loop=$sfs_loop_lzma - else - sfs_loop=$sfs_loop_std - fi -} |