[d-kernel] packet writing support scripts
Konstantin A. Lepikhov
lakostis at anti-leasure.ru
Thu Oct 7 22:10:48 MSD 2004
Здравствуйте!
Задолбало меня родителям объяснять, как надо правильно pktcdvd подключать,
решил сваять скриптик, который это делает автоматом. Работает он по
аналогии с idetune, т.е. запускается из rc.sysinit, умеет смотреть версии
ядра (чтобы лишний раз не стартовать) и возможности привода (чтобы не
пытаться поднять pktsetup на обычном cdrom'е :) Критика приветствуется,
т.к. сделано все на коленке и кривовато.
ЗЫ Так когда же в Сизиф уйдет новое wks26 ядро и появится
kernel-source-2.4.27?
--
WBR, Konstantin chat with ==>ICQ: 109916175
Lepikhov, speak to ==>JID: lakostis �� jabber.org
aka L.A. Kostis write to ==>mailto:lakostis �� pisem.net.nospam
...The information is like the bank... (c) EC8OR
----------- следущая часть -----------
#!/bin/sh
#
# /etc/rc.d/scripts/pktsetup - run once at boot time from rc.sysinit
#
# Setup packet device for writing.
# based on /etc/rc.d/scripts/idetune
# written by LAKostis <lakostis at altlinux.org>
WITHOUT_RC_COMPAT=1
# Source function library.
. /etc/init.d/functions
PKTSETUP=/usr/bin/pktsetup
[ -x "$PKTSETUP" ] || exit 0
# in ALTLinux only wks* and std26-* kernel have packet writing support
check_kernel()
{
local flavor
local kver
local valid=0
flavor=`/bin/uname -r|/bin/cut -d- -f2`
kver=`kernelversion_minor`
[ "$kver" -gt 5 ] && `egrep -qs '(std|wks)26' "$flavor"`
[ "$kver" -eq 4 ] && `egrep -qs 'wks' "$flavor"`
valid=$?
echo "$valid"
}
check_drive()
{
local drive=$1
local valid
`dmesg|egrep -qs "$drive\:.*\/RW"`
valid=$?
echo "$valid"
}
# Reset parameters.
sourced=
SourceIfNotEmpty /etc/sysconfig/pktsetup && sourced=1
[ -n "$sourced" ] || continue
if [ -n "$DEVICES" ] && [ "`check_kernel`" -eq 1 ] 2>/dev/null; then
modprobe pktcdvd
for DEVICE in "$DEVICES"; do
if [ "`check_drive $DEVICE`" -eq 1 ]; then
i=0
action "Mapping $DEVICE drive as packet device pktcdvd$i:" "$PKTSETUP" pktcdvd$i "$DEVICE"
i=`expr $i + 1`
fi
done
fi
More information about the devel-kernel
mailing list