-
Notifications
You must be signed in to change notification settings - Fork 28
Expand file tree
/
Copy pathinstall.cirrus.driver.sh
More file actions
executable file
·63 lines (56 loc) · 1.2 KB
/
Copy pathinstall.cirrus.driver.sh
File metadata and controls
executable file
·63 lines (56 loc) · 1.2 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/bin/bash
set -euo pipefail
script_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
action="manual"
kernel_release="$(uname -r)"
usage() {
cat <<USAGE
Usage: $0 [--install | --uninstall] [--kernel KERNEL_RELEASE]
-i, --install Install with DKMS (recommended)
-u, -r, --uninstall Remove the DKMS installation
-k, --kernel RELEASE Manually build for RELEASE (default: uname -r)
USAGE
}
while (($#)); do
case "$1" in
-i|--install)
action="install"
shift
;;
-r|-u|--remove|--uninstall)
action="remove"
shift
;;
-k|--kernel)
[[ -n ${2:-} ]] || {
echo "$1 must be followed by a kernel release" >&2
exit 2
}
kernel_release="$2"
shift 2
;;
-h|--help)
usage
exit 0
;;
*)
echo "Unknown option: $1" >&2
usage >&2
exit 2
;;
esac
done
cd "$script_dir"
case "$action" in
install)
"$script_dir/dkms.sh" install
;;
remove)
"$script_dir/dkms.sh" remove
;;
manual)
"$script_dir/prepare.cirrus.driver.sh" "$kernel_release"
make KERNELRELEASE="$kernel_release"
make KERNELRELEASE="$kernel_release" install
;;
esac