[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