2d41198b3e
Files correlati : Ricompilazione Demo : [ ] Commento : Progetti e altra roba per Linux git-svn-id: svn://10.65.10.50/trunk@11293 c028cbd2-c16b-5b4b-a496-9718f37d4682
98 lines
2.5 KiB
Bash
Executable File
98 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
VERSION=`uname -r`
|
|
|
|
# Set execute permission
|
|
chmod a+x skinstall skuninstall smartdem skeyver error-report
|
|
|
|
# Remove the loaded module
|
|
(lsmod | grep skey > /dev/null) && rmmod skey
|
|
|
|
# Copy the module
|
|
if ! install -d -o root -g root /lib/modules/$VERSION/misc ; then
|
|
echo Error creating the directory /lib/modules/$VERSION/misc/
|
|
exit 1
|
|
fi
|
|
if grep printk_R1b7d4074 /proc/ksyms > /dev/null ; then
|
|
if ! install -D -o root -g root -m 644 skey_R.o /lib/modules/$VERSION/misc/skey.o ; then
|
|
echo Error copying module skey_R.o in /lib/modules/$VERSION/misc/
|
|
exit 1
|
|
fi
|
|
elif grep printk_Rsmp_1b7d4074 /proc/ksyms > /dev/null ; then
|
|
if ! install -D -o root -g root -m 644 skey_Rsmp_.o /lib/modules/$VERSION/misc/skey.o ; then
|
|
echo Error copying module skey_Rsmp_.o in /lib/modules/$VERSION/misc/
|
|
exit 1
|
|
fi
|
|
elif grep printk_Rsmp1b7d4074 /proc/ksyms > /dev/null ; then
|
|
if ! install -D -o root -g root -m 644 skey_Rsmp.o /lib/modules/$VERSION/misc/skey.o ; then
|
|
echo Error copying module skey_Rsmp.o in /lib/modules/$VERSION/misc/
|
|
exit 1
|
|
fi
|
|
else
|
|
if ! install -D -o root -g root -m 644 skey.o /lib/modules/$VERSION/misc/skey.o ; then
|
|
echo Error copying module skey.o in /lib/modules/$VERSION/misc/
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# Remove devices
|
|
[ -e /dev/skey0 ] && rm -f /dev/skey0
|
|
[ -e /dev/skey1 ] && rm -f /dev/skey1
|
|
[ -e /dev/skey2 ] && rm -f /dev/skey2
|
|
[ -e /dev/skey3 ] && rm -f /dev/skey3
|
|
[ -e /dev/skey4 ] && rm -f /dev/skey4
|
|
[ -e /dev/skey5 ] && rm -f /dev/skey5
|
|
|
|
# Create devices
|
|
mknod /dev/skey0 c 59 0
|
|
chmod 666 /dev/skey0
|
|
chgrp daemon /dev/skey0
|
|
mknod /dev/skey1 c 59 1
|
|
chmod 666 /dev/skey1
|
|
chgrp daemon /dev/skey1
|
|
mknod /dev/skey2 c 59 2
|
|
chmod 666 /dev/skey2
|
|
chgrp daemon /dev/skey2
|
|
mknod /dev/skey3 c 59 3
|
|
chmod 666 /dev/skey3
|
|
chgrp daemon /dev/skey3
|
|
mknod /dev/skey4 c 59 4
|
|
chmod 666 /dev/skey4
|
|
chgrp daemon /dev/skey4
|
|
mknod /dev/skey5 c 59 5
|
|
chmod 666 /dev/skey5
|
|
chgrp daemon /dev/skey5
|
|
|
|
# Configure the module
|
|
if ! ./skeyver /lib/modules/$VERSION/misc/skey.o > /dev/null ; then
|
|
echo Error setting module version
|
|
exit 1
|
|
fi
|
|
|
|
# Add alias for the module
|
|
if [ -e /etc/modules.conf ] ; then
|
|
CONFMODULES=/etc/modules.conf
|
|
else
|
|
CONFMODULES=/etc/conf.modules
|
|
fi
|
|
cp $CONFMODULES $CONFMODULES.orig
|
|
cat $CONFMODULES.orig | grep -v "char-major-59" > $CONFMODULES
|
|
echo alias char-major-59 skey >> $CONFMODULES
|
|
|
|
# Run depmod
|
|
echo Updating modules dependencies
|
|
if ! depmod -a ; then
|
|
echo Error running depmod
|
|
exit 1
|
|
fi
|
|
|
|
# Manually load the module the first time
|
|
if ! modprobe skey ; then
|
|
echo Error loading the module
|
|
exit 1
|
|
fi
|
|
|
|
echo SmartKey driver installed
|
|
|
|
exit 0
|