49 lines
1.5 KiB
Bash
Executable File
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
|