summaryrefslogtreecommitdiff
path: root/build_tools/uninstall-modules
blob: a654c21ee7902b67ddbd3ed784bcaea2fab4a438 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/sh
# uninstall-modules
#
# Remove all the modules passed in on the command line from the modules
# directory.  This script is called by the makefile.

KERNEL_MODULES_DIR=$1
shift
MODULES="$*"

usage() {
	echo "$0: Used to delete kernel modules from the modules directory."
	echo ""
	echo "Usage:"
	echo "  $0 MODULES_BASE_DIR mod1 [mod2 [...]]"
	echo ""
	echo "  MODULES_BASE_DIR - typically /lib/modules/KVERS"
	echo "  modN -             (optionally partial) module name to remove."
}

if [ -z "$KERNEL_MODULES_DIR" ]; then
	echo "Missing kernel module directory."
	usage
	exit 1;
fi

if [ -z "$MODULES" ]; then
	echo "Missing one or more modules to delete."
	usage
	exit 1;
fi
for mod in $MODULES; do 
	BASE=`basename $mod`
	for file in `cat $KERNEL_MODULES_DIR/modules.dep | cut -d : -f 1 | grep "$BASE$"`; do
		if [ -e "$file" ]; then
			#echo "Deleting $file."
			rm -f $file
		fi
	done
done
exit 0