floppy.setup 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #!/bin/sh
  2. set -e
  3. vardir="$1"
  4. method=$2
  5. option=$3
  6. cd "$vardir/methods/floppy"
  7. defaultfloppy=fd0
  8. defaultfstype=msdos
  9. if [ -f shvar.$option ]
  10. then
  11. . ./shvar.$option
  12. defaultfloppy="`echo \"$defaultfloppy\" | sed -e 's,^/dev/,,'`"
  13. fi
  14. while [ -z "$floppy" ]
  15. do
  16. echo -n '
  17. Which floppy disk drive do you wish to use ? Give the name in
  18. /dev (eg fd0) or the MSDOS drive letter (eg A). ['$defaultfloppy'] '
  19. read floppy
  20. if [ -z "$floppy" ]
  21. then
  22. floppy="$defaultfloppy"
  23. fi
  24. case "$floppy" in
  25. [ABab] | [ABab]: )
  26. floppy="`echo $floppy | \
  27. sed -e 's/:$//; s,^[Aa],/dev/fd0,; s,^[Bb],/dev/fd1,'`"
  28. ;;
  29. /* )
  30. ;;
  31. * )
  32. floppy="/dev/$floppy"
  33. ;;
  34. esac
  35. if ! [ -b "$floppy" ]
  36. then
  37. echo "$floppy is not a block device."
  38. floppy=""
  39. fi
  40. done
  41. while [ -z "$fstype" ]
  42. do
  43. echo -n '
  44. What kind of filesystem is on the floppies ? ['$defaultfstype'] '
  45. read fstype
  46. if [ -z "$fstype" ]
  47. then
  48. fstype="$defaultfstype"
  49. fi
  50. if ! grep " $fstype$" /proc/filesystems >/dev/null
  51. then
  52. echo \
  53. "Your kernel does not appear to support that filesystem type."
  54. fstype=""
  55. fi
  56. done
  57. echo
  58. outputparam () {
  59. echo "$2" | sed -e "s/'/'\\\\''/; s/^/$1='/; s/$/'/" >&3
  60. }
  61. exec 3>shvar.$option.new
  62. outputparam defaultfloppy "$floppy"
  63. outputparam defaultfstype "$fstype"
  64. mv shvar.$option.new shvar.$option
  65. exit 0