1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #!/bin/sh
- #
- # ide 1.15 2001/11/21 13:44:09 (David Hinds)
- #
- # Initialize or shutdown a PCMCIA ATA/IDE adapter
- #
- # The first argument should be either 'start' or 'stop'. The second
- # argument is the base name for the device.
- #
- # The script passes an extended device address to 'ide.opts' in the
- # ADDRESS variable, to retrieve device-specific configuration options.
- # The address format is "scheme,socket,serial_no[,part]" where
- # "scheme" is the PCMCIA configuration scheme, "socket" is the socket
- # number, "serial_no" is the card's serial number if available, and
- # "part" is, optionally, the partition number.
- #
- # The script first calls ide.opts for the entire device. If ide.opts
- # returns with the PARTS variable set, then this variable contains a
- # list of partitions for which options should be read.
- #
- if [ -r ./shared ] ; then . ./shared ; else . /etc/pcmcia/shared ; fi
- # Get device attributes
- get_info $DEVICE
- if [ ! -b /dev/$DEVICE ] ; then
- log mknod /dev/$DEVICE b $MAJOR $MINOR
- for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
- minor=`expr $part + $MINOR`
- log mknod /dev/${DEVICE}$part b $MAJOR $minor
- done
- fi
- eval `/sbin/ide_info /dev/$DEVICE` || usage
- # Load site-specific settings
- ADDRESS="$SCHEME,$SOCKET,$SERIAL_NO"
- . $0.opts
- case "$ACTION" in
- 'start')
- [ -n "$VERBOSE" -a -n "$INFO" ] && echo "$INFO"
- add_parts "$ADDRESS" "$PARTS" || exit 1
- ;;
- 'check')
- is_true $NO_CHECK && exit 0
- if [ -b /dev/$DEVICE ] ; then
- do_fuser -s -m /dev/${DEVICE}* && exit 1
- else
- do_fuser -s /dev/${DEVICE}* && exit 1
- fi
- ;;
- 'stop')
- rm_parts "$ADDRESS" "$PARTS" || exit 1
- ;;
- 'cksum')
- chk_parts "$NEW_SCHEME,$SOCKET,$SERIAL_NO" || exit 1
- ;;
-
- 'suspend'|'resume')
- ;;
- *)
- usage
- ;;
- esac
- exit 0
|