wanpipe/api/xmtp2api-v1.6/xmtp2km_in

49 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
#
# xmtp2km_in: xmtp2km installer
#
# Derivation: Copyright (C) 2005 Xygnada Technology, Inc.
# Copyright (C) 2001 Alessandro Rubini and Jonathan Corbet
# Copyright (C) 2001 O'Reilly & Associates
#
# The source code in this file can be freely used, adapted,
# and redistributed in source or binary form, so long as an
# acknowledgment appears in derived source files. The citation
# should list that the code comes from the book "Linux Device
# Drivers" by Alessandro Rubini and Jonathan Corbet, published
# by O'Reilly & Associates. No warranty is attached;
# we cannot take responsibility for errors or fitness for use.
#
#
# $Id: xmtp2km_in,v 1.1 2005/12/05 17:48:45 mike01 Exp $
module="xmtp2km"
device="xmtp2km"
mode="664"
path=/lib/modules/`uname -r`/kernel/drivers/net/wan
# Group: since distributions do it differently, look for wheel or use staff
if grep -q '^staff:' /etc/group; then
group="staff"
else
group="wheel"
fi
# invoke insmod with all arguments we got
# and use a pathname, as insmod doesn't look in . by default
#/sbin/insmod ./$module.ko $* || exit 1
#/sbin/insmod /usr/src/xmtp2km/$module.ko $* || exit 1
/sbin/insmod $path/$module.ko $* || exit 1
# retrieve major number
major=$(awk "\$2==\"$module\" {print \$1}" /proc/devices)
# Remove stale nodes and replace them, then give gid and perms
rm -f /dev/${device}0
mknod /dev/${device}0 c $major 0
ln -sf ${device}0 /dev/${device}
chgrp $group /dev/${device}0
chmod $mode /dev/${device}0
exit 23