# vi /etc/init.d/hdparm
#! /bin/sh
#
# Setting IDE Bus Master
#
# chmod a+x /etc/init.d/hdparm
#
# 環境に合わせて変更すること
# 対象ディスクがない場合は0を設定すること
DAEMON=/sbin/hdparm
DEV_A=/dev/hda
DEV_B=0
DEV_C=0
DEV_D=0
COMMENT="----------"
# DAEMON check
test -x $DAEMON || exit 0
# Select Working
# c: I/O 32bit
# d: DMA
case "$1" in
start)
echo $COMMENT " hdparm -c1 -d1 " $COMMENT
if [ $DEV_A != 0 ]; then
$DAEMON -c1 -d1 $DEV_A # ← 32bit I/O と DMA をオン
fi
if [ $DEV_B != 0 ]; then
$DAEMON -c1 -d1 $DEV_B
fi
if [ $DEV_C != 0 ]; then
$DAEMON -c1 -d1 $DEV_C
fi
if [ $DEV_D != 0 ]; then
$DAEMON -c1 -d1 $DEV_D
fi
;;
stop)
echo $COMMENT " hdparm -c0 -d0 " $COMMENT
if [ $DEV_A != 0 ]; then
$DAEMON -c0 -d0 $DEV_A # ← 32bit I/O と DMA をオフ
fi
if [ $DEV_B != 0 ]; then
$DAEMON -c0 -d0 $DEV_B
fi
if [ $DEV_C != 0 ]; then
$DAEMON -c0 -d0 $DEV_C
fi
if [ $DEV_D != 0 ]; then
$DAEMON -c0 -d0 $DEV_D
fi
;;
status)
echo $COMMENT " hdparm -i " $COMMENT
if [ $DEV_A != 0 ]; then
echo
echo $COMMENT $DEV_A $COMMENT
$DAEMON -i $DEV_A
$DAEMON -v $DEV_A
fi
if [ $DEV_B != 0 ]; then
echo
echo $COMMENT $DEV_B $COMMENT
$DAEMON -i $DEV_B
$DAEMON -v $DEV_B
fi
if [ $DEV_C != 0 ]; then
echo
echo $COMMENT $DEV_C $COMMENT
$DAEMON -i $DEV_C
$DAEMON -v $DEV_C
fi
if [ $DEV_D != 0 ]; then
echo
echo $COMMENT $DEV_D $COMMENT
$DAEMON -i $DEV_D
$DAEMON -v $DEV_D
fi
;;
bench)
echo $COMMENT " hdparm -t " $COMMENT
if [ $DEV_A != 0 ]; then
echo
echo $COMMENT $DEV_A $COMMENT
$DAEMON -t $DEV_A
fi
if [ $DEV_B != 0 ]; then
echo
echo $COMMENT $DEV_B $COMMENT
$DAEMON -t $DEV_B
fi
if [ $DEV_C != 0 ]; then
echo
echo $COMMENT $DEV_C $COMMENT
$DAEMON -t $DEV_C
fi
if [ $DEV_D != 0 ]; then
echo
echo $COMMENT $DEV_D $COMMENT
$DAEMON -t $DEV_D
fi
;;
*)
echo "Usage: /etc/init.d/hdparm {start|stop|status|bench}"
exit 1
;;
esac
exit 0